- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]verilog语法
Verilog HDL设计方法简介 算法实现 用于数字信号传输中所必需的滤波、变换、加密、解密、编码、解码、纠检错、压缩、解压缩等操作。 硬线逻辑 由与门、或门、非门、触发器、多路器等基本逻辑部件造成的逻辑系统。 从算法设计到硬线逻辑的实现 传统处理器的问题 算法问题 研究并行快速算法 电路实现问题 设计并研制具有并行结构的数字和计算逻辑结构。 电路实现的两个方向: FPGA 专用集成电路 Verilog HDL建模、仿真、综合和全面验证。 什么是复杂的数字逻辑系统? 嵌入式微处理机系统 数字信号处理系统 高速并行计算逻辑 高速通信协议电路 高速编码/解码、加密/解密电路 复杂的多功能智能接口 门逻辑总数超过几万门达到几百甚至达几千万门的数字系统 有哪几种硬件描述语言?各有什么特点? Verilog HDL 较多的第三方工具的支持 语法结构比VHDL简单 学习起来比VHDL容易 仿真工具比较好使 测试激励模块容易编写 Verilog HDL 的建模方式 即:模块的描述方式: 行为级建模 模块内部只包括过程块和连续赋值语句,而不包括实例调用语句和基本元件实例调用语句。 RTL级属于行为级 结构级建模 模块内部只包括实例调用语句。 包括门级和开关级 行为级与结构级混合建模 两者兼而有之 Verilog HDL 的抽象级别 语言本身提供了各种层次抽象的表述,可以用详细程度有很大差别的的多层次模块组合来描述一个电路系统。 行为级:技术指标和算法的Verilog描述 RTL级:逻辑功能的Verilog描述 门级:逻辑结构的Verilog描述 开关级:具体的晶体管物理器件的描述 Verilog HDL 的抽象级别 行为级:有关行为和技术指标模块,容易理解 RTL级:有关逻辑执行步骤的模块,较难理解 门级:有关逻辑部件互相连接的模块,很难理解 开关级:有关物理形状和布局参数的模块,非常难理解 抽象级别和综合与仿真的关系 行为仿真:行为的验证和验证模块分割的合理性 前仿真:即RTL级仿真,检查有关模块逻辑执行步骤是否正确。 逻辑综合:把RTL级模块转换成门级。 后仿真:用门级模型做验证,检查门的互连逻辑其功能是否正确。 布局布线:在门级模型的基础上加上了布线延时 布局布线后仿真:与真实的电路最接近的验证。 Verilog程序结构 一个完整的电路系统由若干模块构成 一个模块可由若干子模块构成 模块——类比C语言函数 是verilog的基本单位 描述么个功能或结构,以及与其他模块的通信接口 一个模块是相对独立的功能体,一般通过高层模块调用其他模块的实例构成系统 模块是并行运行的 Verilog程序结构 module rw1( a, b, out1, out2 ) ; input a, b; output out1, out2; reg out1; wire out2; assign out2 = a ; always @(b) out1 = ~b; endmodule verilogHDL语法要素 语言要素 注释、间隔符、标识符、关键字、运算符 数据类型 名字空间 表达式 模块 结构级 行为级 代码风格 verilogHDL数据类型 数据值 0、1、x、z 数据类型 网络(wire … ) 变量(reg … ) 只有reg和integer可综合 reg只能在initial或always内被赋值 Verilog中将reg视为无符号数,而integer视为有符号数。因此,进行有符号操作时使用integer,使用无符号操作时使用reg。 参数parameter 向量 指定了长度的wire或reg称为矢量(否则为标量) 多维向量:wire型(结构化描述);reg型(行为化描述) 存储器:reg型向量 向量的可访问性 Verilog模块中的信号 只有两种主要的信号类型: - 寄存器类型: reg 在always 块中被赋值的信号,往往代表 触发器,但不一定是触发器。 - 连线(网络)类型: wire 用 assign 关键词指定的组合逻辑的信号 或连线 寄存器 ( reg )类型不一定是触发器。 它只是在 always 块中赋值的信号。 Verilog中reg与wire的不同点 用寄存器 (reg)类型变量生成组合逻辑举例: module rw1( a, b, out1, out2 ) ; input a, b; output out1, out2; reg out1; wire out2; assign out2 = a ; always @(b) out1 = ~b; endmodule Verilog中reg与wire的不同点 用寄存器 (
文档评论(0)