verilog中的代码使用
不推荐使用的:
代码 | 规范 |
---|---|
initial | 设计中不用,测试中用 |
task/function | 设计中一般不用,测试中用 |
while/repeat/forever | 设计中不用,只测试中用 |
for | 设计初期不用,后期按规范使用 |
integer | 设计中不用 |
casex/casez | 设计中不用 |
force/wait/fork | 设计中不用,只测试中用 |
#n | 设计中不用,只测试中用 |
推荐使用的 :
代码 | 备注 |
---|---|
reg/wire | 设计中信号类型,有reg和wire; 在always中使用reg,其他用wire。 |
assign/always |
组合逻辑中格式: always@(*)begin 代码语句; end 或者assign 时序逻辑中格式: always@(posedge clk or negedgerst_n)begin if(rst_n==1'b0) begin 代码语句; end else begin 代码语句; end end |
if else/case | always中的语句,用来做选择判断 |
算数运算符 (+,—,x,/,%) |
一般不使用‘/’和‘%’ |
赋值运算符(=,<=) | 时序逻辑中用“<=”;组合逻辑中使用“=” |
三元运算符 |
cond ? iftrue : iffalse 。cond 条件为真,则表达式的值为 iftrue,反之表达式的值为 iffalse。例 (sel)?b:a 式,当 sel 为真时,结果为 b,反之结果为 a。 备注:三元运算符嵌套用法,比较a,b,c,中的最大值
|
parameter | 设计代码中,位宽、长度、状态机命名最好都用参数表示,方便阅读和修改 |
verilog中的代码使用相关推荐
- FPGA的设计艺术(18)如何使用Verilog中的数组对存储器进行建模?
前言 Verilog中的二维数组很有用,可以使用for以及generate for配合二维数组进行使用,可以代替大量寄存器的场合,其实大量同类寄存器可以使用存储器进行代替,Verilog中可以使用二维 ...
- Verilog初级教程(21)Verilog中的延迟控制语句
文章目录 前言 正文 延迟控制语句 事件控制语句 Named Events Event or operator 往期回顾 参考资料及推荐关注 前言 Verilog中的延迟控制有两种类型–延迟和事件表达 ...
- Verilog初级教程(20)Verilog中的`ifdef 条件编译语句
文章目录 前言 正文 语法 示例 Testbench文件 往期回顾 参考资料及推荐关注 前言 `ifdef条件编译语句在逻辑设计中还是很常见的,但也常见一些滥用的情况,这应该避免. 应该在什么情况下使 ...
- Verilog初级教程(15)Verilog中的阻塞与非阻塞语句
文章目录 前言 正文 阻塞赋值 非阻塞赋值 往期回顾 参考资料以及推荐关注 前言 本文通过仿真的方式,形象的说明阻塞赋值以及非阻塞赋值的区别,希望和其他教程相辅相成,共同辅助理解. 正文 阻塞赋值 阻 ...
- Verilog初级教程(14)Verilog中的赋值语句
文章目录 前言 正文 合理的左值 过程性赋值(Procedural assignment) 连续赋值 过程连续性赋值 往期回顾 前言 何为赋值语句?即将值放到线网或者变量上,这种操作称为赋值,英文:a ...
- Verilog初级教程(12)Verilog中的generate块
文章目录 前言 正文 generate for generate if generate case 参考资料 本系列博文 前言 verilog中的generate块可以称为生成块,所谓生成,可以理解为 ...
- Verilog初级教程(11)Verilog中的initial块
文章目录 前言 正文 语法格式 initial块是用来干什么的? initial块何时开始又何时结束? 一个模块中允许有多少个initial块? 参考资料 写在最后 前言 仿真中通常会依次执行一组Ve ...
- FPGA之道(37)Verilog中的编写注意事项
文章目录 前言 Verilog中的编写注意事项 大小写敏感 Verilog中的关键字 范围定义的正确使用 不要省略begin与end 注释中斜杠的方向 编译指令中的前导符号 混用阻塞和非阻塞赋值的危害 ...
- FPGA之道(35)Verilog中的并行与串行语句
文章目录 前言 Verilog的并行语句 Verilog连续赋值语句 普通连续赋值语句 条件连续赋值语句 Verilog程序块语句 沿事件 纯组合always 纯时序always 具有同步复位的alw ...
最新文章
- ==和equals()的作用及区别
- python iter 迭代函数 简介
- 手机号和邮箱正则匹配
- JS设置浏览器URL,任意定制,安全可靠
- 华为诺亚方舟实验室主任李航:神经符号处理开启自然语言处理新篇章
- UVA 11584 Partitioning by Palindromes 动态规划 入门
- 区块链的那些事,你知道和不知道的都在这里!
- 作者:张志恒(1990-),男,兰州大学资源环境学院硕士生。
- h3c配置snmp配置命令_配置单元命令
- php中将url中的参数含有%20进行转换或解码
- java实现网络连接_Java 网络编程 | 菜鸟教程
- Jave基本知识(一)
- 2、Scala下载、安装、环境搭建、及基本用法
- 网络共享时 计算机名如何设置方法,win7怎么在局域网共享文件夹|win7局域网共享设置方法...
- SQL Server 2014下载及安装教程
- MPU6050姿态解算1-DMP方式
- python取元素_python 如何提取对象内的元素
- 关联性——灰色关联分析
- 黑马12月开班丨2021年倒计时,你还有机会改变!
- 当PLSQL一直打不开怎么办