不推荐使用的:

代码 规范
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,中的最大值

assign max= (a > b) ? (a > c)?a:c:(b > c)?b:c;
parameter 设计代码中,位宽、长度、状态机命名最好都用参数表示,方便阅读和修改

verilog中的代码使用相关推荐

  1. FPGA的设计艺术(18)如何使用Verilog中的数组对存储器进行建模?

    前言 Verilog中的二维数组很有用,可以使用for以及generate for配合二维数组进行使用,可以代替大量寄存器的场合,其实大量同类寄存器可以使用存储器进行代替,Verilog中可以使用二维 ...

  2. Verilog初级教程(21)Verilog中的延迟控制语句

    文章目录 前言 正文 延迟控制语句 事件控制语句 Named Events Event or operator 往期回顾 参考资料及推荐关注 前言 Verilog中的延迟控制有两种类型–延迟和事件表达 ...

  3. Verilog初级教程(20)Verilog中的`ifdef 条件编译语句

    文章目录 前言 正文 语法 示例 Testbench文件 往期回顾 参考资料及推荐关注 前言 `ifdef条件编译语句在逻辑设计中还是很常见的,但也常见一些滥用的情况,这应该避免. 应该在什么情况下使 ...

  4. Verilog初级教程(15)Verilog中的阻塞与非阻塞语句

    文章目录 前言 正文 阻塞赋值 非阻塞赋值 往期回顾 参考资料以及推荐关注 前言 本文通过仿真的方式,形象的说明阻塞赋值以及非阻塞赋值的区别,希望和其他教程相辅相成,共同辅助理解. 正文 阻塞赋值 阻 ...

  5. Verilog初级教程(14)Verilog中的赋值语句

    文章目录 前言 正文 合理的左值 过程性赋值(Procedural assignment) 连续赋值 过程连续性赋值 往期回顾 前言 何为赋值语句?即将值放到线网或者变量上,这种操作称为赋值,英文:a ...

  6. Verilog初级教程(12)Verilog中的generate块

    文章目录 前言 正文 generate for generate if generate case 参考资料 本系列博文 前言 verilog中的generate块可以称为生成块,所谓生成,可以理解为 ...

  7. Verilog初级教程(11)Verilog中的initial块

    文章目录 前言 正文 语法格式 initial块是用来干什么的? initial块何时开始又何时结束? 一个模块中允许有多少个initial块? 参考资料 写在最后 前言 仿真中通常会依次执行一组Ve ...

  8. FPGA之道(37)Verilog中的编写注意事项

    文章目录 前言 Verilog中的编写注意事项 大小写敏感 Verilog中的关键字 范围定义的正确使用 不要省略begin与end 注释中斜杠的方向 编译指令中的前导符号 混用阻塞和非阻塞赋值的危害 ...

  9. FPGA之道(35)Verilog中的并行与串行语句

    文章目录 前言 Verilog的并行语句 Verilog连续赋值语句 普通连续赋值语句 条件连续赋值语句 Verilog程序块语句 沿事件 纯组合always 纯时序always 具有同步复位的alw ...

最新文章

  1. ==和equals()的作用及区别
  2. python iter 迭代函数 简介
  3. 手机号和邮箱正则匹配
  4. JS设置浏览器URL,任意定制,安全可靠
  5. 华为诺亚方舟实验室主任李航:神经符号处理开启自然语言处理新篇章
  6. UVA 11584 Partitioning by Palindromes 动态规划 入门
  7. 区块链的那些事,你知道和不知道的都在这里!
  8. 作者:张志恒(1990-),男,兰州大学资源环境学院硕士生。
  9. h3c配置snmp配置命令_配置单元命令
  10. php中将url中的参数含有%20进行转换或解码
  11. java实现网络连接_Java 网络编程 | 菜鸟教程
  12. Jave基本知识(一)
  13. 2、Scala下载、安装、环境搭建、及基本用法
  14. 网络共享时 计算机名如何设置方法,win7怎么在局域网共享文件夹|win7局域网共享设置方法...
  15. SQL Server 2014下载及安装教程
  16. MPU6050姿态解算1-DMP方式
  17. python取元素_python 如何提取对象内的元素
  18. 关联性——灰色关联分析
  19. 黑马12月开班丨2021年倒计时,你还有机会改变!
  20. 当PLSQL一直打不开怎么办

热门文章

  1. 安卓世界微观搏杀激烈,网易云信教你存活绝招
  2. 6月2日,网易云信SDK全面支持IPv6
  3. 我们可以写100%,但是这样不科学
  4. 使用Python将Excel中的数据导入到MySQL
  5. vue router获取整条路径参数
  6. Redux中的重要概念
  7. T-SQL、Jet SQL、PL-SQL
  8. distribution cleanup job2
  9. 调试中的一些Python错误
  10. IDEA不能导入List包