IC书笔记chanpter1-10

------------恢复内容开始------------

1.变量是数据储存单元的抽象,保持每次赋给它的值,直到下一次赋值给它。

2.real和realtime是等价的,都是64_bit双精度浮点数。realtime变量常与$realtime函数一起使用。

3.reg和wire的声明规则:任何过程赋值的左侧变量必须声明为reg,除此以外使用的变量必须声明为wire

4.连续赋值设置线网的驱动,多个dirver可以同时驱动同一个线网。

 

 

 

 连续赋值用于对wire nets赋值

过程赋值用于对变量赋值

assign/deassign  force/release称为过程连续赋值

赋值由两部分构成 LHS 和 RHS 

RHS可以是一个能够计算出结果的表达式 LHS 则根据赋值类型做出决定

 

Verilog 有4种循环语句

forever:持续不断地执行,就是死循环

repeat : 执行括号内表达式指定地循环次数,如果表达式是X或Z,就不执行。

while : 当括号内表达式为true时就执行,否则就不进入循环或跳出循环。

for : 与C语言一样,括号内分为三个部分。

 

使用方法通常如下:

1.forever : 用在需要死循环地地方,例如生成时钟地地方

2.repeat : 可以不用定义循环变量,直接使用,更加清晰。

3. while : 循环中的判断条件可以很简单,也可以很复杂

4. for : 常用于固定次数或可变次数的循环,要定义一个循环变量。

 

 

过程时序控制

仿真时间通过以下控制:

1. 延迟控制,由#引入

2. 事件控制,由@ 引入

3. wait语句,如同操作一个事件控制和while循环的组合

4.逻辑门和线网的延迟也会让仿真时间前进。

 

 case语句:

casex和casez

 

 

 

------------恢复内容结束------------

posted @ 2022-05-09 22:05  十安知  阅读(35)  评论(0)    收藏  举报