1.2 Verilog 零碎知识点

本文详细介绍了Verilog HDL设计中的一些重要概念,包括case语句的使用避免锁存器产生,reg类型的潜在风险,always语句的综合规则,逻辑电路的并行执行特性,以及控制结构如if-else、case、循环语句的应用。同时,讨论了ALU的简单描述方法,数制转换,以及Verilog中的各类运算符,如缩减运算符和拼接运算符,强调了移位运算的注意事项。
摘要由CSDN通过智能技术生成

1.case语句的default项必须写出,能够防止产生锁存器电路。

利用case语句描述组合电路,必须提供所有的选择结果情况,否则HDL综合器将根据描述,自动生成锁存(latch)电路。锁存电路相对于组合电路来说,会带来额外的时钟延迟,并引入异步时序,不适合常规电路设计。此外,锁存电路在可测试性设计中,需要额外的逻辑实现。因此,描述电路时一定不要编写不完全分支的电路语句,以免生成锁存。

2.对于reg类型,不能准确定义其为寄存器,而有可能为锁存器或者组合电路中的临时连线

3.可综合的always语句只有有两种写法。
(1)电平驱动:当个敏感事件列表中的信号发生变化,就执行内部的语句块。
(2)边沿驱动:当敏感信号发生跳变时,就执行内部语句块。
对于没有提供敏感事件列表的always语句,则是无条件执行,通常用于测试验证代码,属于不可综合

4.在逻辑电路中,各个硬件都是并行执行的。站在电路角度讲,所有的D触发器都是并行执行的,而驱动源就是时钟。因此,在HDL描述中,每一个带时钟的always语句块都是并发执行的,没有先后顺序。
但在always语句块内部,任何一个语句块(以begin开始,end结束)都是串行执行的,只是存在赋值立即生效还是事后生效的差异,即阻塞赋值和非阻塞赋值的区别。

5.控制结构可以分为三种:顺序结构分支选择结构循环结构。这三种都可以在always语句内部实现。
(1)顺序结构:标准的顺序执行,在always语句块内部已经天然实现
(2)分支选择结构:if-else语句和case语句
if语句的判断条件值不为1,而是0,x,zÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值