verilog语法.ppt_第1页
verilog语法.ppt_第2页
verilog语法.ppt_第3页
verilog语法.ppt_第4页
verilog语法.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、该算法引入Verilog HDL设计方法,实现了数字信号传输中滤波、变换、加密、解密、编码、解码、纠错、压缩和解压缩等必要操作。硬连线逻辑是由与门、或门、非门、触发器和多路复用器等基本逻辑部件组成的逻辑系统。从算法设计到硬连线逻辑实现、传统处理器问题、算法问题并行快速算法电路实现问题研究设计和开发具有并行结构的数字和计算逻辑结构。电路实现的两个方向:Verilog HDL建模、仿真、综合和现场可编程门阵列专用集成电路的综合验证。什么是复杂的数字逻辑系统?嵌入式微处理器系统、数字信号处理系统、高速并行计算逻辑、高速通信协议电路、高速编码/解码电路、加密/解密电路、复杂的多功能智能接口门逻辑、总数

2、为数万甚至数千万门的数字系统,有哪些种类的硬件描述语言?他们的特点是什么?第三方工具支持的语法结构比硬件描述语言更容易学习,模拟工具比硬件描述语言更容易编写。Verilog HDL的建模模式是:模块的描述模式:行为级建模模块只包括过程块和连续赋值语句,不包括实例调用语句和基本组件实例调用语句。RTL层次属于行为层次和结构层次。建模模块只包括实例调用语句。包括门级和开关级的行为级和结构级的混合建模,Verilog HDL的抽象级,语言本身提供了各种级别的抽象表达式,电路系统可以用多级模块组合来描述,细节差别很大。行为层:Verilog描述技术指标和算法RTL层:Verilog描述逻辑功能门层:V

3、erilog描述逻辑结构开关层:描述特定晶体管物理器件,Verilog HDL抽象层,行为层:与行为和技术指标相关的模块,易于理解RTL层:与逻辑执行步骤相关的模块, 难以理解门级:难以理解开关级:难以理解与物理形状和布局参数相关的模块,抽象级以及综合与仿真的关系,行为仿真:在验证模块划分的合理性之前进行行为验证和仿真:RTL级仿真,检查相关模块的逻辑执行步骤是否正确。 逻辑合成:将RTL级模块转换为门级。后仿真:用门级模型验证,检查门的互连逻辑功能是否正确。布局:基于具有布线延迟的栅极级模型的后布局模拟:最接近真实电路的验证。verilog程序结构,一个完整的电路系统由几个模块组成,一个模块

4、可以由几个子模块组成,而C语言函数是Verilog的基本单元,用来描述哪些功能或结构,以及与其他模块的通信接口。一个模块是相对独立的功能体,系统模块通常通过高级模块调用其他模块并行运行。Verilog程序结构,模块rw1(a,b,out1,out 2);输入a、b;输出out1、out2reg out1线路输出2;分配out 2=a;总是(b)out 1=b;Endmodule、verilogHDL语法元素、语言元素注释、分隔符、标识符、关键字、运算符数据类型名称空间表达式模块结构级别行为级别代码样式、verilogHDL数据类型、数据值0、1、x、z数据类型网络(reg)变量,只能合成reg

5、和integer。reg只能以初始或总是的形式分配。Verilog将reg视为无符号数,将整数视为有符号数。因此,整数用于有符号运算,reg用于无符号运算。长度由参数向量指定的导线或导线称为向量(或标量)。多维向量:线类型(结构化描述);寄存器类型(行为描述)存储器:寄存器类型向量可访问性,Verilog模块中的信号,只有两种主要的信号类型:-寄存器类型:寄存器分配到总是块中的信号,它通常代表触发,但不一定代表触发。-连接(网络)类型:由带有assign关键字的wire指定的组合逻辑的信号或连接寄存器(reg)类型不一定是触发器。这只是一个信号分配在总是块。Verilog中reg和wire的区

6、别,用寄存器(reg)类型变量生成组合逻辑的例子:模块rw1(a,b,out1,out 2);输入a、b;输出out1、out2reg out1线路输出2;分配out 2=a;总是(b)out 1=b;结束模块,verilog中reg和wire之间的区别,用寄存器(reg)类型变量生成触发器的示例:模块rw2(clk,d,out1,out 2);输入clk,d;输出out1、out2reg out1线路输出2;赋值out2=d结束模块,verilogHDL命名空间,Verilog HDL语言表达式,运算符算术,关系,等式关系,逻辑,按位,约简,移位,条件,连接和复制延迟表达式位宽,Verilo

7、g HDL模块结构,Verilog模块由模块和结束模块之间的四个主要部分组成关键字:-端口信息:模块块1(a,b,c,d);-输入/输出描述:输入a、b、c;产出d;-内部信号:电线x;-功能定义:assign d=a | x;赋值x=(b结束模块,Verilog HDL模块中的逻辑表示,Verilog模块中有三种方式生成逻辑电路:-使用赋值语句:赋值cs=(a0结束,并行和顺序逻辑关系的表示,例如,模块中的逻辑函数由以下三个语句块组成:赋值cs=(a0结束1,2,3是并行的,它们生成独立的逻辑电路;在总是块中,开始和结束被顺序执行。在结构层,只有实例调用模块(out,a,b,sl);输入a、

8、b、sl;输出;非u1(ns1,sl);和#1 u3(selb,b,sl);和#1 u2(sela,a,nsl);或#2 u4(out,sela,selb);Endmodule,行为级别,仅连续赋值语句,始终处理块模块rw1(a,b,out1,out 2);输入a、b;输出out1、out2reg out1线路输出2;分配out 2=a;总是(b)out 1=b;Endmodule,行为级模块描述语句过程,Initial语句不能是带有延迟控制的合成语句,带有顺序过程的语句(beginend)只执行一次,带有组合逻辑的敏感信号的语句和带有时钟边沿的敏感信号的语句(顺序逻辑)被重复执行,行为级模块

9、描述语句块,并将两个或多个语句合成为等价于一个语句的语法机制。顺序语句块(begin end)语句在并行语句块中执行(fork join)语句并发执行,行为级模块描述语句赋值语句,门基元赋值语句连续赋值语句(assign)阻止赋值语句(=)首先计算组和逻辑进程赋值语句的正确值(只出现在总是语句中)。然后立即将左序列块中的语句依次分配执行。并行块中语句的并行执行主要用于行为模拟和时序模拟。非阻塞赋值语句(=)在开始和序列块中,在语句间并发执行的模拟中,首先计算右边的值,并沿着时钟沿以统一的方式将其赋值给左边的值。Verilog中有两种不同的赋值语句:总是(Posedgclk)开始B=A. c=b

10、结束,两个不同的赋值语句结束,Verilog,阻塞赋值语句:总是(posedgclk)开始b=a;c=b;结束,两个不同赋值语句之间的区别,非阻塞赋值语句(b=a):一个阻塞中的赋值语句同时赋值;将B的值赋给新值A的操作与块中的其他赋值语句同时完成;建议在综合型模块中使用非阻塞赋值。阻塞赋值语句(b=a):只有在赋值语句完成后才能进行下一个操作;b的值被立即赋给新值a;硬件没有相应的电路,所以合成结果未知。两种不同赋值语句的区别,阻塞赋值和非阻塞赋值,在赋值本身没有区别,但是它对下面的语句有不同的影响。建议在设计组合逻辑电路时使用分块分配,在设计时序电路时使用非分块分配。根据具体情况,程序赋值

11、的赋值对象可以合成为线、锁存和触发器。例如,时钟控制下的非阻塞分配被合成为触发器。程序赋值语句中的任何延迟都将在合成过程中被忽略。建议对同一变量使用阻塞或非阻塞赋值。行为级模块描述语句分支语句,这是verilog中的高级程序语句。它来自于C If _ else分支控制语句。单分支、双分支和嵌套Case分支控制语句执行第一个匹配项。每个匹配项不需要互斥表达式,互斥表达式不一定是常数表达式。行为级模块描述语句循环语句。永久循环重复循环,关于调用,实例调用函数调用任务调用,组合逻辑的设计点,组合逻辑的两个Verilog HDL表示:-使用赋值语句:赋值q=(al=1?d : 0;-使用始终阻止:如果

12、(al=1) q=d,则始终(al或d)开始;否则q=0;最后,组合逻辑设计的关键点,组合逻辑的两种Verilog HDL表示:-当总是块被使用时,否则语句不被注意:如果(al=1) q=d,总是(al或d)开始;结束:生成的逻辑不是纯组合逻辑,因为当al=0时,q可以保持其原始值,所以在生成的电路中有锁存器。组合逻辑设计的关键点,在使用总是块时,我们必须注意电平敏感信号表是否完整,如:总是(a或b或c或d)此时开始out=(a结束),这不是纯粹的组合逻辑,因为当e改变时,out不能立即改变。只有当a或b或c或d改变时,e改变的结果才会显示出来。可以看出,需要一个寄存器来存储时序逻辑的设计点的

13、变化,时序逻辑的Verilog HDL表示:-总是:如:总是(posedge clock)开始如果(!reset)do _ reset;否则情况(状态)状态_ 1: do _ state _ 1;状态_ 2: do _ state _ 2;state _ 3: do _ state _ 3;状态_ 4: do _ state _ 4;state _ 5: do _ state _ 5;default:状态=xx结束,时序逻辑设计的关键点,任务do _ state _ 1;如果条件为真,则开始开关正确控制逻辑;为下一个状态做准备;否则保持原始状态;end endtask,task do _ st

14、ate _ 2;如果条件为真,则开始开关正确控制逻辑;为下一个状态做准备;否则保持原始状态;end endtask,task do _ reset开始复位每寄存器;为下一个状态做准备;结束结束任务、verilogHDL代码风格、所涉及的因素、速度和面积功耗、所涉及的技术、逻辑复制、多路复用、计数、并行和流水线计数、同步和异步单元处理技术,以及关于Verilog HDL的几个重要的基本概念,合成:通过工具将Verilog HDL描述的模块自动转换成门级电路网表表示的模块的过程。寄存器传输级的Verilog HDL模块:也称为RTL(Verilog)HDL模块。它是一个Verilog HDL模块,

15、根据特定的标准和风格描述状态转换和变化。它可以通过合成器转换成门级逻辑。Verilog HDL测试模块:Verilog HDL描述的一种模块,可用于产生测试信号序列和接收被测模块的信号,并用于验证所设计的模块能否正常运行,且往往不能集成到特定的门级电路中。关于Verilog HDL的几个重要基本概念,Verilog HDL顶层(测试)模块:同上。布局和布线:通过运行自动操作的布局和布线工具,将合成器自动生成的门级网表(EDIF)与特定的现场可编程门阵列或专用集成电路工艺库设备连接的过程。Verilog HDL后模拟测试模块:与上述相同,但被测模块至少是一个在门级描述的结构Verilog HDL模块,或具有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论