从电路设计的角度入门VerilogHDL
首先向邸志雄老师致谢,他的课讲得很好,本文只是他课程的学习笔记。
原始电路称为Reference
例化的称为Cell(UX)
Cell的内部是Pin,外部连的都是net
可以看到同一个Reference例化出了两个cell
相比C语言,最显著的区别在与HDL语言具备以下硬件设计的基本概念:
互连(connectivity ): wire型变量描述各个模块之间的端口与网线连接关系
并发(concurrency):可以有效地描述并行的硬件系统
时间(time):定义了绝对和相对的时间度量,可综合操作符具有物理延迟
只有时序电路的reg才会被认为是寄存器
caseX不可综合
领回把握两个电路的不同
功能是完全相同的
先加后选,还是先选后加
两个加法一个选择与两个选择一个加法
加法器复杂,第二种方案更加节省资源
ifelse有优先级
case无优先级
寄存器由两级电平相反的LATCH组成
对于LATCH,如果D有毛刺,那么Q也有
LATCH一般用在门控时钟上
、
复杂的时序可以拆分成组合加上简单时序
取值时,需要先将存储单元取到寄存器,再对具体的位进行操作
延时在仿真时有效,逻辑综合时忽略掉
parameter最好给定位宽