已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
讲义20102011学年第1学期系部电子与电气工程系教研室实验室电子通信课程名称EDA技术适用班级通信AB班主讲教师职称助教二年月日厦门理工学院教务处制2首页课程名称EDA技术课程编号授课对象08通信AB班必修课公共基础课();专业基础课();专业课()课程类型选修课限选课();任选课()授课方式课堂讲授();实践课()考核方式考试();考查()课程教学总学时数48学分数3学时分配课堂讲授24学时;实践课24学时序号教材名称作者出版社出版时间1EDA技术与VERILOGHDL潘松、黄继业清华大学20102FPGA设计及应用(第1版)褚振勇翁木云科学技术2002基本教材和主要参考资料3VERILOG数字系统设计教程夏宇闻北京航空航天大学出版社2008授课教师职称助教授课时间20109201012教学目的要求本课程是通信类专业的一门很有实用性的技术课程。电子技术在不断地发展,电子系统的设计方法也随之发生变革,基于EDA技术的设计方法正在成为现代电子系统设计的主流。本课程旨在使学生了解以硬件描述语言为基础的数字系统设计的基本方法,熟悉常用PLD器件和现代数字系统的设计工具,通过教学使学生掌握数字系统自上而下的设计方法,通过对多个电子系统实例的学习和设计,使学生能够独立进行中等难度数字系统的设计,为进行应用系统设计和解决实际问题打下基础。3教学重点难点VERILOG程序的基本结构,利用VERILOG进行程序设计,算法状态机的设计(VERILOG),逻辑电路时序设计,现代电子系统设计方法,EDA软件的熟练使用,PLD的熟悉与应用。授课题目第1章EDA技术概述授课方式理论课课时安排2学时课次1课程简介1、脉冲与数字电路为基础,学习了数字电路的基本设计方法。2、EDA技术与VHDL,面向实际工程应用,紧跟技术发展,掌握数字系统新的设计方法。课程宗旨更新数字电路的设计观念,建立用PLD器件取代传统TTL器件设计数字电路的思想;更新数字系统设计手段,学会使用硬件描述语言(HARDWAREDESCRIPTIONLANGUAGE)代替传统的数字电路设计方法来设计数字系统。、传统数字电子系统或IC设计这种手工设计法的缺点是1)复杂电路的设计、调试十分困难;2)由于无法进行硬件系统仿真,如果某一过程存在错误,查找和修改十分不便;3)设计过程中产生大量文档,不易管理;44)对于IC设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差;5)只有在设计处样机或生产出新片后才能进行实测。二、EDA概念EDA(ELECTRONICDESIGNAUTOMATION)即电子设计自动化,是指利用计算机完成电子系统的设计。1)广义的EDA技术,是指以计算机和微电子技术为先导,汇集了计算机图形学、数据库管理、图论和拓扑逻辑、编译原理、微电子工艺与结构学和计算数学等多种计算机应用学科最新成果的先进技术2)狭义的EDA技术,是指以大规模可编程逻辑器件为载体,以硬件描述语言HDL为系统逻辑的主要表达方式,借助功能强大的计算机,在EDA工具软件平台上,对用HDL描述完成的设计文件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑简化、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片ASIC(APPLICATIONSPECIFICINTEGRATEDCIRCUITS)的一门新技术。三、EDA的发展历程1)计算机辅助设计CAD70年代,EDA工具供应商只有几家,产品几乎全面向LSI和PCB布线设计,这一阶段,人们开始利用计算机取代手工劳动,辅助进行集成电路板图编辑、PCB布局布线等工作,这个时期的EDA一般称为电路CAD计算机辅助设计)。52)计算机辅助工程设计CAE80年代,带有电路图编辑工具和逻辑工具的EDA软件,以数字电路分析工具为代表,主要解决电路设计没有完成之前的功能检验问题。3、电子设计自动化EDA90年代至今使用第三代EDA软件,能够在系统级、电路级及寄存器传输描述RTL及门级进行设计描述、综合和仿真。四、EDA技术的实现目标作为EDA技术最终实现目标的ASCI可以通过一下3种途径完成1)可编程逻辑器件FPGA/CPLD(直接面向用户、具用极大的灵活性和通用性)2)半定制或全定制ASCI(用户提要求,厂家设计生产,出厂后用户不可更改)3)混合ASCI(既具有面向用户的FPGA可编程功能和逻辑资源,同时也含有可方便调用和配置的硬件标准单元模块)五、EDA主要内容1)可编程逻辑器件可编程逻辑器件是一种由用户编程以实现某种逻辑功能的新型件。可编程逻辑器件也称为可编程ASIC,它是EDA技术的物质基础。2、硬件描述语言HDL6HDL语言是EDA技术的重要组成部分,它是一种用于描述硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式。3、软件开发工具EDA软件开发工具是EDA技术的强有力支持。EDA软件开发工具是指以工作站或者高档计算机为基本工作平台,利用计算机图形学、拓扑逻辑学、计算数学和人工智能等多种应用学科的最新成果而开发出来的一套软件工具,它是一种帮助设计工程师进行电子系统设计的辅助工具。总结本章重点是掌握EDA技术的概念,了解EDA技术实现的目标,重点掌握EDA的主要内容。授课题目第2章PLD硬件特性与应用授课方式理论课课时安排2学时课次2、PLD概述不论是简单还是复杂的数字电路系统都是由基本门电路构成的。基本门可构成两种数字电路组合电路(逻辑上输出总是当前输入状态的函数);时序电路(含有存储器件,输出是当前系统状态与当前输入状态的函数)。实践中发现1、任何组合逻辑都可化成“与或”表达式;2、任何时序电路都可由组合电路加上存储元件组成。7由此人们提出了一种可编程逻辑电路结构,即乘积项可编程结构,如图1。对于可编程逻辑器件的发展及分类见书P30,这里不多介绍,同学们课下自己熟悉输入缓冲电路与阵列或阵列输出缓冲电路输入输出图1基本PLD器件的原理图可编程逻辑器件的分类1、按集成度分;2、按结构分;3、按工艺分。详细分类及主要代表元件见PPT、简单PLD原理221电路符号表示逻辑门标号如PPT所示,这里的符号应该都是数字电子技术里介绍过的。如图22、23所示,接入PLD内部的与、或阵列输入缓冲器电路一般采用互补结构,即当信号输入PLD后,分别以相同或相反信号接入。24、25分别是与阵列和或阵列的简化图形表示26中十字交叉线表示未连接,有黑点表示固定连接,交叉线上打叉表示可编程,在PLD出厂后,其连接可随时改变。222PROM如PPT图所示,PROM的地址译码器用于完成PROM存储阵列行的选择。821010110NPNWAPROM对于存储单元阵列的输出可用下列“或”的逻辑形式表示。2201,01,00,1,11,11,0,1PMPMFMWMW由此可以看到PROM就是由固定的与阵列与可编程的或阵列组成。下面以半加器为例,即由PROM来实现半加器,经化简成与或形式可以看到F0为两个与项相或,那么相应将两个与项的与门输出做或输出。23010FA223PLAPROM中可以看到,当地址译码器有N个输入变量时,经不可编程的与阵列产生2N个最小项,那么当组合逻辑函数在输入变量增多时,PROM存储单元利用效率将大大降低。PROM的与阵列是全译码器,产生了全部的最小项,而在实际应用中绝大多数组合逻辑函数不需要全部的最小项,因此可编程逻辑阵列PLA对PROM进行了改进。9PLA是与阵列和或阵列都是可编程,提高了阵列的利用率。但是其算法复杂使得运行速率下降。224PAL基于PLA算法复杂,PAL进行了改进。PAL是与阵列可编程,或阵列固定。(结构小,编程方便,不通用,增加系统芯片数量)上述的可编程结构只解决组合逻辑的可编程问题,那么对于时序逻辑电路还需加上存储器。225GAL为适应不同应用需要,PAL的I/O结构很多,往往一种结构形式就有一种PAL器件,而设计者在设计不同功能的电路时,往往要采用不同I/O结构的PAL器件,由此带来了生产不便。GAL在PLD上采用了EEPROM工艺,使得其具有电可擦除重复编程特点GAL采用“与阵列可编程、或阵列固定”的结构,对PAL的I/O结构进行了较大的改进,在GAL的输出部分增加了“输出逻辑宏单元OLMC”,可构成各种输出端功能。使得编程容易,结构简单。三、FPGA/CPLD的结构与工作原理PLD根据器件互连结构、逻辑单元结构分为CPLD、FPGAFPGA内部互连结构由多种长度不同的连线资源组成,每次布线的延迟可不同,属统计型结构。逻辑单元主体为由静态存储器(SRAM)构成的函数发生器,即查找表。通过查找表可实现逻辑函数功能。采用SRAM工艺。(掉电后不能保持编程信息)CPLD内部互连结构由固定长度的连线资源组成,布线的延迟确定,属确定型10结构。逻辑单元主要由“与或阵列”构成。该结构来自于典型的PAL、GAL器件的结构。采用EEPROM工艺。(掉电后重新上电还能保持编程信息)FPGA/CPLD种类繁多,特点各异。基本结构如图(见PPT),主要包括三大部分A一个二维的逻辑块阵列,构成了PLD器件的逻辑核心。B输入/输出块。C连接逻辑块的互连资源,由各种长度的连线线段组成,其中也有一些可编程的连接开关,用于逻辑块之间、逻辑块与输入/输出块之间的连接。FPGA与CPLD的主要不同在于逻辑块的构成不同1CPLD(以MAX3000A为例)CPLD的逻辑阵列块由16个宏单元的阵列组成,而多个逻辑阵列块(LAB)组成的阵列及其之间的连线便构成了MAX3000A。多个LAB通过可编程连线阵列(PIA)和全局总线连接在一起,全局总线从所有的专用输入、I/O引脚和宏单元馈入信号。N宏单元如PPT图所示,由逻辑阵列、乘积项选择阵列和可编程寄存器组成。不同的LAB通过在可编程连线PIA上布线来相互连接构成所需的逻辑。I/O控制块允许每个I/O引脚单独被配置为输入、输出或双向工作方式。所有I/O引脚都有一个三态缓冲器,其控制信号来自一个多路选择器,可以选择用全局输出使能信号其中之一进行控制,或者直接连到地或电源上。2FPGA(以CYCLONE为例)逻辑阵列块由多个LE(逻辑宏单元组成)如图所示。11FPGA是基于一种可编程的查找表结构完成功能的。查找表(LUT)是可编程的最小逻辑构成单元。LUTLUT本质上就是一个RAM。目前FPGA多使用4输入的LUT,所以每一个LUT可以看成一个16乘1的RAM,当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把结果事先写入RAM,这样每输入一个信号进行逻辑运算,就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。对于一个LUT无法完成的电路,就需要进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。四、产品介绍三家主流公司产品ALTERA、XILINX数千门数百万门LATTICE数万门以下详细分类见PPT12五、编程与配置通常,将对CPLD的下载成为编程,对FPGA的SRAM进行直接下载的方式称为配置。1、大规模可编程逻辑器件的编程工艺有三种1)CPLD被编程后改变了电可擦除存储单元的信息,掉电后可保存。编程次数有限。2)编程信息保存在SRAM,掉电后编程信息丢失。编程次数不限。3)这种方法是一次性可编程2、主要配置方式有三种1JTAG方式2主动配置方式AS3被动配置方式PS1、JTAG方式是由JTAG命令来配置CPLD/FPGA器件的方式。JTAG接口是IEEE11491边界扫描测试的标准接口,主要用于芯片测试等功能。ALTERA的CPLD/FPGA器件基本上都可以支持JTAG方式,而且该方式比其它任何一种配13置方式的优先级都高。使用JTAG方式配置FPGA以及CPLD电路图如PPT2、PS被动配置方式由系统中的其它设备发起并控制配置过程。这些设备可以是ALTERA的配置芯片;或者是单板上的智能设备,如微处理器、CPLD等。FPGA器件在配置过程中完全是被动的,它仅输出一些状态信号来配合配置过程。3、主动配置方式由器件引导配置操作过程,它控制着外部存储器和初始化过程。在这种方式下,由目标器件来主动输出控制和同步信号给ALTERA专用的一种串行配置芯片,在配置芯片收到命令后,发送配置数据给FPGA器件完成配置过程。需要注意的是ALTERA的FPGA器件所支持的主动配置方式,只能与ALTERA提供的主动串行配置芯片配合使用,故此方式又称为主动串行AS(ACTIVESERIAL)模式。支持该模式的器件有STRATIX系列、CYCLONE和CYCLONE系列。3、下载电缆(BYTEBLASTER)BYTEBLASTER由三部分组成与PC机并口相连的25针插座头;与PCB板插座相连的10针插头;25针到10针的变换电路。BYTEBLASTER支持JTAG和PS配置方式;支持EPCS串行配置器件的主动串行配置模式;支持5V、33V、25V和18V系统;支持SIGNALTAPII逻辑分析仪;支持和NIOSII嵌入式处理器系列的通讯和调试。4、配置芯片当FPGA器件正常工作时,其配置数据存储在SRAM中,而SRAM有易失性,故每次加电配置数据都必须重新载入。ALTERA为设计者提供了一系列的配置器件来14存储配置数据。ALTERA的配置器件分为三种普通配置器件、增强型配置器件和AS串行配置器件。1主动串行配置,电路如图PPT。AS单片配置方式中上拉电阻与33V电源相接。在AS配置中所有操作均由FPGA发起,其在配置过程中完全处于主动状态。在AS配置模式下,FPGA输出有效配置时钟信号DCLK,它由FPGA内部的振荡器产生,该振荡器在配置结束后被关掉。FPGA将NCSO拉低使能串行配置器件。FPGA使用ASDO到ASDI的信号控制配置芯片,配置数据从DATA输出并配置到FPGA中。2被动串行是是用最多的一种配置方式,其可用ALTERA的配置器件来进行配置。无论配置数据源于何处,只要能模拟出FPGA所需的配置时序,即可将配置数据写入到FPGA。在PS方式下,FPGA处于完全被动的地位,其接收配置时钟、配置命令和配置数据,给出配置的状态信号及配置完成指示信号等。各配置方案电路图见PPT15授课题目第3章EDA数字系统开发软件授课方式理论课课时安排2学时课次3、FPGA的开发流程16图1FPGA开发流程1设计输入1、图形输入A状态图输入根据电路的控制条件和不同的转化方式,用绘图的方法在EDA工具的状态图编辑器中绘出状态图,然后由EDA编译器和综合器将此状态变化流程图编译综合成电路网表。B波形图输入波形图输入法则是将待设计的电路看作一个黑盒子,只需告诉EDA工具黑盒子电路的输入和输出的时序波形图,EDA工具即能据此完成黑盒子电路的设计C原理图输入原理图输入是一种类似于传统电子设计方法的原理图编辑输入方式,即在EDA软件的图形编辑界面上绘制能完成特定功能的电路原理图。原理图有逻辑器件(符号)和连接线构成。(逻辑器件可以是EDA软件库中预置的功能模块,如与门、非门、或门、触发器件以及各种含74系列器件功能的宏功能模块,甚至还有一些类似于IP的功能模块。2、HDL文本输入将使用了某种硬件描述语言的电路设计文本(如VERILOGHDL或VHDL的源程序)进行编辑输入。2综合综合过程就是将设计者在EDA平台编辑输入的HDL文本、原理图或状态图描17述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转化和综合,最终获得门级电路甚至更低层的电路描述网表文件。(由此可见,综合器之前必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用某种网表文件的方式对应起来,成为相应的映射关系。这种映射不是唯一的,综合的优化也不是但方向的)3适配适配器也称之为综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件。适配所选定的目标器件必须属于原综合器指定的目标器件系列。(EDA软件中的综合器可由专业的第三方EDA公司提供,而适配器则需由FPGA/CPLD供应商提供,因为适配器的适配对象直接与器件的结构细节相对应。4仿真1时序仿真。就是接近真实器件运行特性的仿真,仿真文件中已包含了器件硬件特性参数。(仿真度高,但该方针文件必须来自针对具体器件的综合器与适配器)2功能仿真就是直接对HDL、原理图描述或其他形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求。(仿真过程不涉及任何具体器件的硬件特性。不经历综合与适配阶段,在设计项目编辑、编译后即可进入门级仿真器进行模拟测试)5编程下载将适配后生成的下载或配置文件,通过编程器或编程电缆向FPGA或CPLD下载,以便进行硬件调试和验证。(CPLD编程、FPGA的SRAM下载称配置)186硬件测试(QUARTUS2是ALTER公司提供的FPGA/CPLD开发集成环境,它提供了与结构无关的设计环境,是设计者能方便的进行设计输入和器件编程)、IP核用于ASIC或FPGA中的预先设计好的电路功能模块1软IP使用硬件语言描述的功能块,但是不涉及什么用什么具体电路元件实现这些功能。软IP通常是以硬件描述语言HDL源文件的形式出现(应用开发过程与普通的HDL设计十分相似,只是所需的开发软硬件环境比较昂贵)优点设计周期短、设计投入少,由于不涉及物理实现,为后续设计留有很大的发挥空间,增大了IP的灵活性和适应性。缺点在一定程度上使后续工序无法适应整体设计,从而需要一定的修正,在性能上也不可能获得全面的优化2固IP完成了综合的功能块,以网表文件的形式提交客户使用。(如果客户与固IP使用同一IC生产线的单元库,IP应用的成功率会高很多)3硬IP提供设计的最终阶段的产品掩膜(标准单元库的功能单元就是IP的一种形式)、QUARTUSII1)编辑输入图形设计文件19使用QUARTUSII设计电路系统之前,需要先建立设计项目(PROJECT)。例如,用图形编辑半加器ADDER时,需要先建立ADDER的设计项目。在QUARTUSII集成环境下,执行“FILE”菜单的“NEWPROJECTWIZARD”命令,弹出如图所示的新建设计项目对话框的“NEWPROJECTWIZARDINTRODUCTION”页面(新建设计项目对话框共5个页面,分别解释)。2)编辑设计图形文件执行QUARTUSII主窗口“PROCESSING”,菜单的“STARTCOMPILATION”命令,或者在主窗口上直接用鼠标左键点击“开始编译”命令按钮,开始对ADDERBDF文件进行编译。3)编程下载设计文件编程下载是指将设计处理中产生的编程数据文件通过EDA软件放到具体的可编程逻辑器件中去的过程。对CPLD器件来说是将JED文件下载(DOWNLOAD)到CPLD器件中去,对FPGA来说是将位流数据BG文件配置到FPGA中去。4)仿真设计文件A建立波形文件;B输入信号节点;C设置波形参量;D编辑输入信号;E波形文件存盘;F运行仿真器。设计步骤与原理图编辑输入法一致,只是在新的项目建立后,在QUARTUSII集成环境下,执行“FILE”菜单的“NEW”命令,在弹出编辑文件类型对话框中,选择“VERILOGHDL20FILE”(文本编辑)方式,进入QUARTUSII文本编辑方式的窗口界面,并保存为V文件。授课题目全加器授课方式实验课课时安排2学时课次4一位全加器1、真值表ABCISCO00000001100101001101100101010111001111111、原理图输入1)半加器输入21VCCAINPUTVCCBINPUTCOOUTPUTSOOUTPUTAND2INSTXNORINST2NOTINST3FILECREATE/UPDATECREATESYMBOLFILESFORCURRENTFILE生成ABCOSOH_ADDERINST2)全加器输入ABCOSOH_ADDERINSTABCOSOH_ADDERINST1OR2INST2VCCAINPUTVCCBINPUTVCCCINPUTCOUTOUTPUTSUMOUTPUTDEF然后分配管脚,下载调试22授课题目41简单的VERILOGHDL模块42VERILOGHDL语法要点43VERILOGHDL数据类型授课方式理论课课时安排2学时课次5一、VERILOGHDL是一种用于数字逻辑电路设计的语言用VERILOGHDL描述的电路设计就是该电路的VERILOGHDL模型。VERILOGHDL既是一种行为描述的语言也是一种结构描述的语言。一个复杂电路的完整VERILOGHDL模型是由若干个VERILOGHDL模块构成的,每一个模块又可以由若干个子模块构成这也就是说,既可以用电路的功能描述也可以用元器件和它们之间的连接来建立所设计电路的VERILOGHDL模型。23VERILOG模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下五种系统级SYSTEM(用高级语言结构实现设计模块的外部性能的模)算法级ALGORITHMIC(用高级语言结构实现设计算法的模型);RTL级REGISTERTRANSFERLEVEL(描述数据在寄存器之间流动和如何处理这些数据的模型);门级GATELEVEL(描述逻辑门以及逻辑门之间的连接的模型);开关级SWITCHLEVEL(描述器件中三极管和储存节点以及它们之间连接的模型)。、模块的结构通过实例来说明VERILOGHDL模块例411这个例子描述了一个三位的加法器。从例子中可以看出整个VERILOGHDL程序是嵌套在MODULE和ENDMODULE声明语句里的。例412这个程序描述了一个比较器在这个程序中,/和/表示注释部分,注释只是为了方便程序员理解程序,对编译是不起作用的。例413这个程序描述了一个三态驱动器。程序通过调用一个实例元件BUFIF1来实现其功能。例414在这个例子中存在着两个模块模块TRIST1调用模块MYTRI的实例元件TRI_INST。模块TRIST1是上层模块。模块MYTRI则被称为子模块。通过这种结构性模块构造可构成特大型模块。从以上例子可以看出AVERILOGHDL的模块结构VERILOG模块结构完全嵌在MODULE和ENDMODULE声24明语句之间;B每个VERILOG程序包括四个主要部分端口定义、I/O说明、内部信号声明、功能定义。VERILOG的基本设计单元是“模块”BLOCK。一个模块是由两部分组成的一)描述接口;二)描述逻辑功能,即定义输入是如何影响输出的1)模块语句一般格式MODULE模块名(端口名称表)模块端口描述模块功能描述ENDMODULE2)端口语句端口或端口信号是模块与外部电路相连的通道。INPUT端口名1;端口名2;OUTPUT端口名1;端口名2;INOUT端口名1;端口名2;INPUTMSBLSB端口名1;端口名2;、VERILOGHDL语法要点理解VERILOG语言的一些重要规定学会认识一些有关的重要语言符号掌握VERILOG中如何规定时间单位2、空格和注释25空格在文本中起一个分离符的作用,别的没有其他用处。单行注释符用/2、整数和实常数整数可以标明位数也可以不标明位数,表示方法位数基数值3、字符串用“”括起来的一行字符串,换新一行用“N”字符,与C语言一致4、标识符所谓标识别符就是用户为程序描述中的VERILOG对象所起的名字。标识符必须以英语字母(AZ,AZ)起头,或者用下横线符(_)起头。其中可以包含数字、符和下横线符。并且VERILOG语言是大小写敏感的5、系统任务和函数符号表示VERILOG的系统任务和函数形式常用的几种1TIME/找到当前的仿真时间2DISPLAY,MONITOR/显示和监视信号值的变化3STOP/暂停仿真4FINISH/结束仿真6、特殊符号表示延时。第一个例子表示过程开始执行时,延长10个时钟执行RST1语句,在延长50个时钟执行RST0语句;26第二个例子表示延长一个时钟执行非运算。7、编译引导语句编译引导语句用主键盘左上角小写键“”起头,用于指导仿真编译器在编译时采取一些特殊处理。编译引导语句一直保持有效,直到被取消或重写RESETALL编译引导语句把所有设置的编译引导恢复到缺省状态。常用的编译引导有ADEFINEBINCLUDECTIMESCALEDUSELIBERESETALL四、VERILOGHDL的数据类型和逻辑值1、VERILOGHDL的四种逻辑值0、1、X(不确定)、Z(高阻)0、低、伪、逻辑低、地、VSS、负插入1、高、真、逻辑高、电源、VDD、正插入X、不确定逻辑冲突无法确定其逻辑值Z、高阻抗、三态、无驱动源2、VERILOGHDL的三种主要数据类型NETS、REGISTER、PARAMETERNETS表示器件之间的物理连接,称为网络连接类型;由模块或门驱动的连线,驱动端信号的改变会立刻传递到输出的连线上。REGISTER表示抽象的储存单元,称为寄存器/变量类型REGISTER型变量能保持其值,直到它被赋于新的值。REGISTER型变量常用于行为建模,产生测试的激励信号。常用行为语句结构来给寄存器类型的变量赋值。REG默认为一位寄存器,若多位格式为REGHSTLSTRSTPARAMETER表示运行时的常数,称为参数类型27可用字符串表示的任何地方,都可以用定义的参数来代替。参数是本地的,其定义只在本模块内有效。3、VERILOGHDL三种数据类型的使用规则输入口(INPUT)可以由寄存器或网络连接驱动,但它本身只能驱动网络连接。输出口OUTPUT可以由寄存器或网络连接驱动,但它本身只能驱动网络连接。输入/输出口INOUT只可以由网络连接驱动,但它本身只能驱动网络连接。如果信号变量是在过程块INITIAL块或ALWAYS块中被赋值的,必须把它声明为寄存器类型变量选择数据类型时常犯的错误在过程块中对变量赋值时,忘了把它定义为寄存器类型(REG)或已把它定义为连接类型了(WIRE)。把实例的输出连接出去时,把它定义为寄存器类型了。把模块的输入信号定义为寄存器类型了。4、VERILOGHDL逻辑操作符逻辑操作符算数操作符等式操作符不等式操作符28授课题目43VERILOGHDL语句44任务和函数授课方式理论课课时安排2学时课次6一、VERILOGHDL语句1块语句BENGINEND块语句本身没有功能,仅限于顺序语句结构中使用,通常用它来组合顺序语句。当功能语句大于一条语句时必须使用块语句。基本格式BEGIN块名语句1;语句2;END2过程语句INITIAL过程语句,ALWAYS过程语句1)INITIAL过程语句INITIAL过程中的语句沿时间方向轴只执行一次基本格式INITIALBEGIN语句1;语句2;END2)ALWAYS过程语句ALWAYS引导的过程语句当敏感信号发生变化时过程语句执行一次基本格式29ALWAYS敏感信号及敏感信号列表或表达式)BEGIN语句1;语句2;END所有的过程块都在0时刻同时启动;它们是并行的,在模块中不分前后。INITIAL块只执行一次。ALWAYS块只要符合触发条件可以循环执行。3、赋值语句A)连续赋值语句ASSIGNASSIGN目标变量名驱动表达式当等号右端的驱动表达式中任意一信号发生变化时,此表达式即被计算一次,并将获得的数据立即赋值给等号左侧的变量名标示的目标变量。注意由于此类语句的并行性,同一目标变量名下不允许有多个不同赋值表达式的。B)过程赋值语句阻塞赋值语句,非阻塞赋值语句阻塞赋值语句YB;一旦执行完当前的赋值语句,赋值目标变量Y即刻获得来自等号右边表达式的计算值。如果一个块语句中含有多条阻塞式赋值语句,则执行当前某条赋值语句时其他语句将禁止执行。由于ASSIGN不能一道块语句,故只允许引导一条带有“”的语句。因此从综合角度看是一样的。非阻塞赋值语句在执行当前语句时对于块中的其他语句的执行情况一律不加限制,也可理解为块中的所有赋值语句都可以并行运行。30注意同一过程中对同一变量的赋值,阻塞赋值与非阻塞赋值不允许混合使用4、条件语句IFELSE语句,CASE语句1)IFELSE语句IFSYAELSEYB当S条件句真值为1时,执行语句YA,当条件句真值为0时,执行语句YB。2)CASE语句CASE(表达式)取值1BEGIN语句1;语句2;END取值2BEGIN语句1;语句2;ENDDEFAULTBEGIN语句1;语句2;ENDENDCASE程序执行满足表达式取值的块语句。注意1、条件表达式的只必须在CASE下面列出的取值范围内2、DEFAULT引导的语句表示本语句完成以上已列的所有条件语句中未能列出的其他可能取值的逻辑操作5)循环语句FOR(与C语言定义法相同)任务和函数具备将程序中反复调用的语句结构聚合起来的能力。可以有效的简化程序结构。31利用任务和函数可以把一个大的程序模块分解成多个小的任务和函数,利于调试。二、VERILOGHDL任务(TASK)语句基本格式TASK端口及数据类型声明语句BEGIN过程语句;ENDENDTASK任务语句中不能出现由INITIAL和ALWAYS引导的语句,并且任务中无法描述时序电路,只能描述组合电路三、VERILOGHDL函数(FUNCTION)语句基本格式FUNCTION函数名输入端口说明,其他类型变量定义;BEGIN过程语句;ENDENDFUNCTION函数语句中不能出现由INITIAL和ALWAYS引导的语句,同样的函数无法描述时序电路,只能描述组合电路。32授课题目第5章组合逻辑电路设计授课方式理论课课时安排2学时课次7一、组合逻辑电路设计规则1)分析设计要求,确定顶层框图(确定输入、输出端口)2)根据功能要求列出真值表3)依据真值表求得输入与输出信号之间逻辑关系式4)根据求得的逻辑表达式,选择原理图输入或文本输入法编写程序5)程序调试,功能仿真,选择芯片,分配引脚,布局布线,时序仿真,下载。33二、通过典型的组合电路模块说明组合逻辑电路的设计过程例1四选一多路选择器1、确定输入输出关系A、B、C、D是4个输入端口;S1、S0为通道选择信号端,Y为输出端。功能描述当S1、S0分别取为00、01、10、11时,输出端口Y将输出来自输入口A、B、C、D的数据。2、列出真值表3、描述输入输出逻辑关系10101SASBCSDY4、程序输入A、原理图输入B、VERILOGHDL输入使用CASE语句使用IFELSE语句使用连续赋值语句使用条件操作符形式条件表达式表达式1表达式2条件表达式真值为1时选择并计算表达式的值,否则选择并计算表达式2的值。(这种条件操作符在连续赋值和过程赋值语句中都可以使用)例2半加器设计341)输入输出关系A、B输入,S加法结果,C进位结果2)输入输出逻辑关系2SABC3、程序输入A原理图输入BVERILOGHDL文本输入任一VERILOG模块对应一个硬件电路功能实体器件,如果将这些实体器件连接起来构成一个完整的系统,就需要一个总的模块将所有涉及的子模块连接起来,这个总的模块所对应的VERILOG设计文件就称为顶层文件或顶层模块全加器可由半加器和门电路组成例3一位全加器设计、元件例化语句1、端口关联例化格式(例化元件端口(例化元件外接端口名),)2、位置关联例化格式35(例化元件外接端口名1,例化元件外接端口名2,)例46位加法器设计授课题目七段数码显示授课方式实验课课时安排2学时课次8显示为0时,ABCDEF有效;显示为1时,CD有效等等VERILOG文本输入MODULEDECODE4_7DECODEOUT,INDECOUTPUT60DECODEOUTINPUT30INDECREG60DECODEOUTALWAYSINDECBEGINCASEINDECABCDEFG364D0DECODEOUT7B11111104D1DECODEOUT7B01100004D2DECODEOUT7B11011014D3DECODEOUT7B11110014D4DECODEOUT7B01100114D5DECODEOUT7B10110114D6DECODEOUT7B10111114D7DECODEOUT7B11100004D8DECODEOUT7B11111114D9DECODEOUT7B1111011DEFAULTDECODEOUT7BXENDCASEENDENDMODULE授课题目第6章时序逻辑电路设计授课方式理论课课时安排2学时课次9一、时序逻辑电路设计规则任何时序电路都可由组合电路加上存储元件组成,任何时序电路都是以时钟信号为驱动信号的,因此时序电路的组合逻辑部分可参照组合逻辑电路设计规则,时序逻辑电路设计的重点在于时序信号的控制。二、通过典型的时序电路模块说明时序逻
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胃肠镜检查与消化系统感染防控
- 2026年主题班会记录表模板与填写范例
- 人工智能芯片技术规范协议
- 2026年幼儿园户外游戏活动摔伤事故案例分析与反思
- 2026年数据完整性管理要求与实践培训
- 2026年幼儿园冬季哮喘患儿居家照护
- 规模经济项目投资合同
- 2026年医用冷光源氙灯封装与反射镜镀膜
- 2026年合理膳食预防心脑血管病讲座发言
- 2026年护理法律法规与风险防范培训
- 2026届上海市普通高中高三下学期学业水平等级性考试物理试卷(含答案)
- 湖南师大附中2026届高三5月月考试卷(九)地理试卷(含答案及解析)
- 2026中国华西企业限公司招聘221人易考易错模拟试题(共500题)试卷后附参考答案
- 北京市2025中国疾病预防控制中心招聘编制内15人笔试历年参考题库典型考点附带答案详解
- 2026年高考政治后期备考策略分享交流课件
- 2026年上海市静安区中考语文二模试卷(含详细答案解析)
- 2026年绵阳考核招聘笔基础试题库完整参考答案详解
- 2026年成都市成华区网格员招聘考试参考试题及答案解析
- 兰州市2026事业单位联考-综合应用能力D类中小学教师模拟卷(含答案)
- 海南省2025年普通高中学业水平合格性考试化学试卷(含答案)
- 手术并发症的预防与处理
评论
0/150
提交评论