赞
踩
与物理电线不同,Verilog中的线信号(和其他信号)是“方向性的”。这意味着信息只向一个方向流动,从驱动程序流向接收器。在Verilog“连续赋值”(’ assign left_side = right_side; ')中,右侧信号的值被驱动到左侧的连接上。assign赋值是“连续的”,右侧的值发生变化时左边的值立马发生变化。
这时我们就会理解:一个线信号不能有两个驱动程序来驱动;线信号如果没有驱动程序的话那么输出就是未知的。
当存在多个assign语句时,assign出现的顺序和位置不影响,也就相当于连线的顺序不影响最终结果,这个要和软件的思维区别开。
A NOR gate is an OR gate with its output inverted.
题目描述:
按照电路图,用verilog语言描述输入输出间的关系。
Solution1:
module top_module (
input p1a, p1b, p1c, p1d, p1e, p1f,
output p1y,
input p2a, p2b, p2c, p2d,
output p2y );
wire and1_out,and2_out,and3_out,and4_out;
assign and1_out=p2a&p2b;
assign and2_out=p2c&p2d;
assign and3_out=p1a&p1c&p1b;
assign and4_out=p1f&p1e&p1d;
assign p2y=and1_out|and2_out;
assign p1y=and3_out|and4_out;
endmodule
Soluton2:
module top_module (
input p1a, p1b, p1c, p1d, p1e, p1f,
output p1y,
input p2a, p2b, p2c, p2d,
output p2y );
assign p2y=(p2a&p2b)|(p2c&p2d);
assign p1y=(p1a&p1c&p1b)|(p1f&p1e&p1d);
endmodule
1、assign为连续赋值,赋值顺序不影响。
2、一个wire有且仅能有一个driver。
3、学习了基础的门操作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。