"Verilog初学资料:基本可综合语法、简单代码,逐步熟悉Verilog语言"
需积分: 9 85 浏览量
更新于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 上传
2021-01-13 上传
wcxasd
- 粉丝: 0
- 资源: 8
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目