verilog 数据流建模

建模方式

verilog 数据流建模_第1张图片
verilog 数据流建模_第2张图片

在这里插入图片描述

verilog 数据流建模_第3张图片

时延大,毛刺更容易别滤掉。

行为级建模

verilog 数据流建模_第4张图片
赋值语句和条件表达语句

verilog 数据流建模_第5张图片

initial(用在仿真与测试)初始化

verilog 数据流建模_第6张图片
在工程上风险比较大,常用复位的功能来做

always

verilog 数据流建模_第7张图片
@(posedge a)
@(a or b) 在信号之后任何一个改变都可以
@(a,b)

verilog 数据流建模_第8张图片
verilog 数据流建模_第9张图片

在这里插入图片描述

verilog 数据流建模_第10张图片
fork-join 主要用在测试与仿真

verilog 数据流建模_第11张图片
verilog 数据流建模_第12张图片
串行时相对延迟,并行是从零时刻开始的绝对延时。

verilog 数据流建模_第13张图片
阻塞与非阻塞 要放在begin end中,

verilog 数据流建模_第14张图片
与前面的语句并行做。

verilog 数据流建模_第15张图片
verilog 数据流建模_第16张图片
verilog 数据流建模_第17张图片

verilog 数据流建模_第18张图片

输出方程,输入方程,状态转移方程
数字电路都可以写成 :
寄存器->组合电路->寄存器,决定电路快慢是组合电路的最大延迟决定的。提高电路的快慢,用流水线方式,把组合电路分成很多部分。
verilog 数据流建模_第19张图片

verilog 数据流建模_第20张图片

两个寄存器,分为两部分,更快。只有在行为语句,使用阻塞串行,才是真正的串行顺序。
verilog 数据流建模_第21张图片

让寄存器获得临时的优先级分配 force release更高优先级

verilog 数据流建模_第22张图片
verilog 数据流建模_第23张图片

在大型过程中,临时改变一个语句来测试。

verilog 数据流建模_第24张图片

verilog 数据流建模_第25张图片

verilog 数据流建模_第26张图片

只能赋值给reg型

verilog 数据流建模_第27张图片
iif 语句的嵌套

超过两三个的嵌套,不要再用if嵌套,用case

verilog 数据流建模_第28张图片

verilog 数据流建模_第29张图片
verilog 数据流建模_第30张图片
casez比较 0.1.x,对于z都认为是真
casex x,z都认为是真

verilog 数据流建模_第31张图片

verilog 数据流建模_第32张图片
如果没有default,没有值对应,信号就不变,在电路中是不允许的,所以必须要加default。

verilog 数据流建模_第33张图片
~翻转。

verilog 数据流建模_第34张图片

循环语句一般情况下不要用。

verilog 数据流建模_第35张图片

verilog 数据流建模_第36张图片

在硬件中,不需要有for定,使用计数器来定的。
verilog 数据流建模_第37张图片
如果只是表征的变量,而不是物理意义,是可以用的。

你可能感兴趣的:(verilog)