(6)怎樣看懂RTL原理圖
2022-11-11 13:32 作者:豆豆?jié)M江紅 | 我要投稿

程序如下
module learn_test(
input clk,
input rst_n,
input [3:0]data,
output reg [3:0] result
);
always@(posedge clk or negedge rst_n)begin
if(!rst_n)begin
result <= 0;
end
else begin
if(data<5'd4)result <= 1;
else if(data<8) result<=2;
else if(data<12)result<=3;
else result <=4;
end
end
endmodule
圖中雖然寫的是B[3..0]4'h3,d但是通過對(duì)其屬性展開可知其實(shí)她表示的是1100=12,與程序相符,這可能是quartus的一個(gè)小漏洞,它的最低為位B[3]。詳見圖

lessthan的功能即為 將A與B比較,若A小于等于B則輸出1,否則輸出0。
下一部分,四個(gè)D觸發(fā)器對(duì)應(yīng)輸出的result的四位
D觸發(fā)器的輸入為result~3-5,還有一個(gè)gnd,表示此位始終為零。
觸發(fā)器和輸出的對(duì)應(yīng)關(guān)系也得看詳細(xì)數(shù)據(jù)如圖

波浪號(hào)后面的可以不看,就類似AD中的標(biāo)號(hào)。
標(biāo)簽: