标题二 标题 VHDL 三种建模描述方法——2--1数据选择器
1.结构化描述方法:采用实例化底层模块的方法,即调用其他已经定义的底层模块来描述整个电路的功能,或者直接调用内部预定义的基本门级组件来描述整个电路的功能。电路的结构。 。
2、数据流描述方法:用连续赋值语句()来描述电路的逻辑功能。 该方法对于组合逻辑电路建模特别方便。
3、行为级描述方法:采用过程块语句结构()和相对抽象的高级程序语句来描述电路的逻辑功能。
示例:2 对1 数据选择器
结构化描述方法:
代码:
module mux2to1_GL(
a,b,sel,
out
);
input a,b,sel;
output out;
wire nsel,a1,b1; //定义中间变量
not U1(nsel,sel);
and U2(b1,b,nsel);
and U3(a1,a,sel);
or U4(out,a1,b1);
endmodule
步:
1、建好工程后,我们点击file>new,然后输入代码,如图:
2. 单击“保存”并将其保存到您创建的文件中。 然后运行,如图:
3. 接下来,开始模拟。 点击file>new>/File中的VWF进入仿真,如图:
4、点击编辑>>节点或总线...>节点...>列表旁边的三个...>添加文件后>列表,如图:
5、添加完成后,一直点击确定,会出现下图:
6. 点击下图红点处的按钮,调整响应和占空比,如下图:
结构描述到此结束。 数据流描述方法与行为描述步骤相同。 代码如下所示:
数据流描述代码:
module Mux2to1_DF(
a,b,sel,
out
);
input a,b,sel;
output out;
assign out = (a&sel) |(b&(~sel)); //out = sel ? a : b;
endmodule
行为描述代码:
module Mux2to1_BH(
a,b,sel,
out
);
input a,b,sel;
output out;
reg out;
always @ (*)
begin
if(sel == 1'b1)
out = a;
else
out = b;
end
endmodule