"Verilog初学资料:基本可综合语法、简单代码,逐步熟悉Verilog语言"
需积分: 9 115 浏览量
更新于2024-01-19
收藏 780KB DOC 举报
verilog初学资料是关于verilog语言的学习材料,包括各种基本可综合语法和一些简单的代码。通过这些资料,可以逐步熟悉verilog语言,并为将来深入学习和应用打下基础。
在学习verilog语言时,有一些严格要求和注意事项需要遵守。首先,不应使用初始化语句,这意味着在声明变量时不应该直接给定初始值。其次,不应使用延时语句,因为延时语句会导致设计中的多个信号在同一时间步更新,这可能引发问题。第三,应避免使用循环次数不确定的语句,如forever和while等,这样的语句在综合过程中会引起一些不可控的行为。
在设计电路时,应尽量采用同步方式,即将时序逻辑和组合逻辑分开处理。此外,应尽量使用行为语句完成设计,这样会使代码更易读和维护。对于always过程块来描述组合逻辑,应在敏感信号表中列出所有的输入信号,这样能更清晰地描述电路的功能。
此外,所有的内部寄存器都应该可以被复位,这意味着在设计中应该考虑到复位的情况,确保电路在复位时能够正常工作。另外,需要注意的是,用户自定义原件(UDP元件)是不能被综合的,这意味着在设计中应使用可综合的基本模块。
在verilog中,变量可以分为线网类型和寄存器类型。线网型变量通常被综合成wire,而寄存器可能会被综合成wire、锁存器或触发器,或者在优化过程中被消除。
在verilog语句中,连续性赋值是通过assign语句完成的。连续性赋值语句的逻辑结构是将等式右边的驱动左边的结点,因此连续性赋值的目标结点总是综合成由组合逻辑驱动的结点。在综合过程中,assign语句中的延时会被忽视。
过程性赋值只出现在always语句中。阻塞赋值和非阻塞赋值在赋值本身没有区别,只是对后续语句有不同的影响。在设计组合逻辑电路时,建议使用阻塞赋值。而在设计时序电路时,建议使用非阻塞赋值。过程性赋值的赋值对象可能会被综合成wire、锁存器或触发器,具体取决于设计的实际情况。
综上所述,verilog初学资料提供了学习verilog语言的基础知识和实践经验,通过学习这些资料,可以逐步掌握verilog语言的基本语法和常用技巧,为后续的深入学习和应用打下坚实的基础。
2010-12-30 上传
2010-12-30 上传
2010-12-30 上传
2011-03-19 上传
2014-08-08 上传
wcxasd
- 粉丝: 0
- 资源: 8
最新资源
- inverse:一种诗意的编程语言,可使用以下方式对着色器进行实时编码
- 行业分类-设备装置-一种六自由度运动平台.zip
- 爱普生L130、L220、L310、L313、L360、L365系列打印机清零软件(附教程)
- auto_BIT_WEB:适用于Ubuntu的自动BIT-Web连接脚本
- Cocoa-Printer-Server:使您的USB打印机成为IP打印机
- Komodo-Sublime-Keybinds:模仿 Komodo 中的 Sublime Text 键绑定以实现平滑过渡
- PartnerShip:对于我们辉煌的PartnerShip仪表板
- sosse:使用Lil Sosse为您的服务器增添色彩
- 行业分类-设备装置-一种全自动调节式防伪纸张过数装置.zip
- 易语言高性能哈希表-易语言
- phaser_drawing_app
- tarebears
- 数学建模源码集锦-基于遗传算法的BP神经网络优化算法应用实例.zip
- PKCS7标准文档中英文翻译.zip
- redux-stuff:使用redux Slices和Thunks玩耍
- assessment