当前位置:网站首页>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
边栏推荐
- Selected cutting-edge technical articles of Bi Ren Academy of science and technology
- [论文阅读] TUN-Det: A Novel Network for Thyroid Ultrasound Nodule Detection
- go踩坑——no required module provides package : go.mod file not found in current directory or any parent
- [论文阅读] CarveMix: A Simple Data Augmentation Method for Brain Lesion Segmentation
- Cross domain request
- Compare two vis in LabVIEW
- 打新债开户注册安全吗?有没有风险的?靠谱吗?
- PMP证书续证流程
- How to use fast parsing to make IOT cloud platform
- Mit-6.824-lab4b-2022 (10000 word idea explanation - code construction)
猜你喜欢
微服务(Microservice)那点事儿
Combien de temps faut - il pour obtenir un certificat PMP?
ICML 2022 | 3dlinker: e (3) equal variation self encoder for molecular link design
Selected cutting-edge technical articles of Bi Ren Academy of science and technology
What is the difference between port mapping and port forwarding
取得PMP證書需要多長時間?
蓝天NH55系列笔记本内存读写速度奇慢解决过程记录
多回路仪表在基站“转改直”方面的应用
基于三维gis平台的消防系统运用
Skills in analyzing the trend chart of London Silver
随机推荐
【雅思阅读】王希伟阅读P3(Heading)
圖解網絡:什麼是網關負載均衡協議GLBP?
ECCV 2022 | Tencent Youtu proposed disco: the effect of saving small models in self supervised learning
[paper reading] Tun det: a novel network for meridian ultra sound nodule detection
用快解析内网穿透实现零成本自建网站
同事的接口文档我每次看着就头大,毛病多多。。。
业务场景功能的继续修改
[IELTS reading] Wang Xiwei reading P4 (matching1)
Mit-6.824-lab4b-2022 (10000 word idea explanation - code construction)
[JS] - [sort related] - Notes
Selected cutting-edge technical articles of Bi Ren Academy of science and technology
22-07-02周总结
PMP证书续证流程
积分商城游戏设置的基本要点
JS 将伪数组转换成数组
Face recognition 5- insight face padding code practice notes
Design of emergency lighting evacuation indication system for urban rail transit station
[Peking University] tensorflow2.0-1-opening
业务实现-日志写到同一个行数据里面
Application of fire fighting system based on 3D GIS platform