(6)怎样看懂RTL原理图

程序如下
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但是通过对其属性展开可知其实她表示的是1100=12,与程序相符,这可能是quartus的一个小漏洞,它的最低为位B[3]。详见图

lessthan的功能即为 将A与B比较,若A小于等于B则输出1,否则输出0。
下一部分,四个D触发器对应输出的result的四位
D触发器的输入为result~3-5,还有一个gnd,表示此位始终为零。
触发器和输出的对应关系也得看详细数据如图

波浪号后面的可以不看,就类似AD中的标号。