我已经搜索过了解verilog
中行为和数据流代码之间的区别。最后我无法找到好的榜样,无处不在告诉他们这样做的事情。
例如:
"它非常简单.Name本身解释了它们是什么.Dataflow是描述程序的一种方式。类似于描述特定设计的逻辑功能。 另一方面,行为模型描述了系统的行为。当给出特定输入时,它是如何表现的?"
here是一个非常简单的例子,但我需要更多的例子。
答案 0 :(得分:6)
Verilog中的数据流建模允许根据数字系统的功能设计数字系统。数据流建模使用布尔方程,并使用许多操作符可以使用acton输入来生成输出运算符,如+ - && &安培; ! 〜|| | << >> {} 所以,如果我想在数据流建模中描述一个2到4的解码器,我会像这样
module decoder2to4 ( e , a, b, do, dl, d2, d3);
input e, a, b;
output do, dl, d2, d3;
assign dO = ( e & ~a & ~b); //00
assign dl = (e & ~a & b); //01
assign d2 = (e & a & ~b); //10
assign d3 = ( e & a & b); //11
endmodu1e
另一方面,Verilog中的行为建模用于以算法的方式描述设计的功能 所以,如果我想在数据流建模中描述一个2到4的解码器,我会像这样
module decoder2to4 (e, i, d);
output [3:0] d;
input [l:0]i;
input e;
reg [3:0] d;
always @ (i or e) begin
if (e==l) begin
case (i)
0: d = 4'b 0001;
1: d = 4'b 0010;
2: d = 4'b 0100;
3: d = 4'b 1000;
default d = 4'b xxxx;
endcase
end
else
d = 4'b0000;
end
endmodule