当前位置:网站首页>Verilog tutorial (11) initial block in Verilog
Verilog tutorial (11) initial block in Verilog
2022-07-04 23:59:00 【mb611f1478c9b26】
List of articles
- Preface
- Text
- Grammar format
- initial What is the block used for ?
- initial When the block begins and when it ends ?
- How many... Are allowed in a module initial block ?
Preface
In a simulation, a set of Verilog sentence . These statements are placed in a block . stay Verilog There are two main types of blocks in –initial Block and always block .
Text
Grammar format
initial Block can be understood as an initialization block , stay initial The starting position of the statement in 0 The moment begins to execute , After that, if there is a delay , The next statement is executed after the delay .
The syntax is as follows :
initial
[single statement]
initial begin
[multiple statements]
end
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
If initial There are multiple statements in , Then place the begin …end Between .
initial What is the block used for ?
The initial block is not integrable , So it can't be converted into a hardware schematic with digital elements . Therefore, in addition to being used in simulation , It doesn't help much . These blocks are mainly used to initialize variables and design ports with specific values .
Be careful : In chip logic design ,initial Blocks really can only be used for behavioral simulation , But in FPGA In design , Simple use initial The initialization of variables can be integrated .
for example :
reg a, b, c;
initial begin
a = 0;
b = 0;
c = 0;
end
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
But we initialize more at the moment of variable definition , This is the recommended usage .
for example :
reg a = 0;
- 1.
Or use a reset signal to initialize , But this will increase the burden of generic cabling , You can consciously reduce , Unless you have to .
for example :
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
initial When the block begins and when it ends ?
At the beginning of the simulation , In time 0 Unit starts an initial block . Throughout the simulation process , This block of code is executed only once . once initial All statements in the block are executed ,initial The execution of the block ends .
If initial There's just one sentence in the block , So the beginning is the end , The statement is executed to end this initial block , Such as :

The code shown in the figure below has an extra statement , It gives the signal b Assigned some values , But this only happens when the previous statement is executed 10 After units of time . It means a First assigned to a given value , And then in 10 After units of time ,b Assigned to 0.

How many... Are allowed in a module initial block ?
There can be multiple ( Arbitrarily )initial block .
Multiple initial Blocks are executed simultaneously , It's all from the moment 0 Start execution .
The code shown in the figure below has three initial blocks , All the initial blocks start and run in parallel at the same time . However , According to the statement and delay in each initial block , The time required to complete the block may vary .

$finish It's a Verilog System tasks , It tells the emulator to terminate the current simulation .
If the last block has 30 Time unit delay , As shown in the figure below , The simulation will be in 30 Time units end , So it killed all the others that were active at the time initial block .
initial begin
#30 $finish;
end
- 1.
- 2.
- 3.
Reference material
- WeChat official account : FPGA LAB
边栏推荐
- It's too convenient. You can complete the code release and approval by nailing it!
- Robot reinforcement learning synergies between pushing and grassing with self supervised DRL (2018)
- JS how to realize array to tree
- 他做国外LEAD,用了一年时间,把所有房贷都还清了
- Paddleocr tutorial
- The pit of sizeof operator in C language
- js正则表达式之中文验证(转)
- 快解析内网穿透帮助企业快速实现协同办公
- After Microsoft disables the IE browser, open the IE browser to flash back the solution
- French scholars: the explicability of counter attack under optimal transmission theory
猜你喜欢

【雅思阅读】王希伟阅读P3(Heading)

What is the difference between port mapping and port forwarding

青海省国家湿地公园功能区划数数据、全国湿地沼泽分布数据、全国省市县自然保护区

IELTS examination process, what to pay attention to and how to review?

Jar批量管理小工具

取得PMP證書需要多長時間?

企业里Win10 开启BitLocker锁定磁盘,如何备份系统,当系统出现问题又如何恢复,快速恢复又兼顾系统安全(远程设备篇)

Solution record of jamming when using CAD to move bricks in high configuration notebook

XML的解析

Microservice
随机推荐
[论文阅读] TUN-Det: A Novel Network for Thyroid Ultrasound Nodule Detection
高配笔记本使用CAD搬砖时卡死解决记录
Solution record of jamming when using CAD to move bricks in high configuration notebook
[IELTS reading] Wang Xiwei reading P3 (heading)
用快解析内网穿透实现零成本自建网站
The input of uniapp is invalid except for numbers
What is the difference between port mapping and port forwarding
MIT-6.824-lab4B-2022(万字思路讲解-代码构建)
[monitoring] ZABBIX
Hash table, hash function, bloom filter, consistency hash
Meet ThreadPoolExecutor
如果炒股开华泰证券的户,在网上开户安全吗?
「运维有小邓」域密码策略强化器
ICML 2022 | 3dlinker: e (3) equal variation self encoder for molecular link design
【北京大学】Tensorflow2.0-1-开篇
PermissionError: [Errno 13] Permission denied: ‘data. csv‘
打新债开户注册安全吗?有没有风险的?靠谱吗?
Instructions for go defer
微软禁用IE浏览器后,打开IE浏览器闪退解决办法
实战模拟│JWT 登录认证