首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Verilog HDL独家程序设计经验分享

Verilog HDL独家程序设计经验分享

对于Verilog HDL的初学者,经常会对语法中的几个容易混淆的地方产生困惑。下面列出几个常见问题和解决它们的小窍门。
1.“=”和“<=”的区分方法
前面的内容已经从原理上解释了阻塞(=)和非阻塞(<=)赋值的区别,但对于初学者来说,在实际应用过程中还会产生一些困惑。下面的方法可以帮助初学者来弄清楚两种赋值符号的应用场合。在always语句中,所有的赋值符号用非阻塞的,即“<=”; 在always语句外,所有的赋值符号用阻塞的,即“=”。
2.“reg”和“wire”的区分方法
reg类型和wire类型是Verilog HDL语法中两种最常用的变量。在对module定义的端口信号进行类型描述的时候,初学者会对何时需要指定为reg型感到困惑。可以参考下面的方法。
(1)如果这个信号需要在always块里面被赋值,那么必须指定为reg类型的。
(2)如果这个信号需要在always块外面被赋值,那么必须指定为wire类型的。如果这个信号是端口信号,那么没默认的类型就是wire类型的,不需要另外指定。




返回列表