HDLBits答案(1)_Verilog语法基础

HDLBits_Verilog语法基础

线信号

与物理电线不同,Verilog中的线信号(和其他信号)是“方向性的”。这意味着信息只向一个方向流动,从驱动程序流向接收器。在Verilog“连续赋值”(’ assign left_side = right_side; ')中,右侧信号的值被驱动到左侧的连接上。assign赋值是“连续的”,右侧的值发生变化时左边的值立马发生变化。

这时我们就会理解:一个线信号不能有两个驱动程序来驱动;线信号如果没有驱动程序的话那么输出就是未知的。

当存在多个assign语句时,assign出现的顺序和位置不影响,也就相当于连线的顺序不影响最终结果,这个要和软件的思维区别开。

基础的门操作

区分按位取反(~) 和逻辑取反(!)

notgate.png

区分按位与(&)和逻辑与(&&)

ANDGTE.png

区分按位或(|)和逻辑或(||)

A NOR gate is an OR gate with its output inverted.

norgate.png

按位异或

xorgate.png

7458芯片

7458.png

题目描述

按照电路图,用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、学习了基础的门操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

日拱一卒_未来可期

若复习顺利望有闲钱的同学支持下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值