学习笔记1--用组合和时序逻辑的行为级别模型进行逻辑设计
行为建模
Verilog支持结构级建模和行为级建模。
结构级建模:把基本与/或门的功能单元进行连接,产生某一特定的功能器件。
行为级建模:描述设计的功能特性(逻辑电路的输入-输出模型),即所设计的电路是干什么的,而不用考虑怎样实现它的硬件设计。传播延迟不包含在电路的行为级模型中。
在当今设计ASIC和FPGA中,大规模的电路被分割以形成一个架构——即通过端口进行通信的功能单元组成的结构,这样就可以用一个能表示其功能的行为级模型来描述每一个单元(Hierarchy)
行为级建模的数据类型
线网型:起到物理电路中导线的作用,建立了设计对象之间的连接。
寄存器型:在程序运行过程中存储信息。
组合逻辑的Verilog描述的对应形式
逻辑描述 | Verilog描述 |
---|---|
电路原理图 | 结构模型 |
真值表 | 用户定义原语 |
布尔表达式 | 连续赋值语句 |
触发器和锁存器的周期性行为模型
过程块:位于并行块之中,仿真时被顺序读取。执行时,也是按照代码被读取的顺序执行。
周期行为:它们在最后一条过程语句执行完之后仍然不能终止,而是继续执行。
数据流/寄存器传输级模型
组合逻辑的数据流模型常用来描述同步逻辑信号的并发计算。
在同步逻辑中计算的初始化是在时钟的有效沿时刻进行的,计算是在下一有效沿时刻寄存器的存储前完成的。(非阻塞赋值的语义很符合该特性,右侧表达式的值在active region计算,在unblocking region赋值)
基于算法的模型
用电路输入-输出算法关系描述的行为模型要比RTL描述的抽象。这种描述规定了周期性行为中过程语句的次序。语句的执行结果决定了存储变量的值以及其最后的输出。
RTL模型中的赋值语句是并行执行的(非阻塞赋值在效果上为并行执行),而且是在指定结构描述的上下文中显示定义的寄存器上进行操作运算的。而算法模型中的语句是按次序执行的,没有明显的结构形式。
任务和函数
任务为Verilog行为中创建过程语句的层次化结构,而函数替代表达式。
任务
环