




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宁夏大学新华学院 课程论文(设计) 论文题目:序列检测器设计 姓名:于俞 专业:电子信息工程 指导教师:马玉韬 提交日期:2013 年 12 月 摘 要 在当下时代,随着电子技术的蓬勃发展,特别是电子设计自动化(EDAEDA)技术和 可编程逻辑器件进行通信系统设计的技术已经应用的越来越广泛。 硬件描述语言 的出现也使得我们在设计系统工程时越来越便利, 解决了传统电路原理图设计系 统工程的繁琐。此课题提出了一种基于复杂可编程逻辑器件(CPLDCPLD)通过 EDEDA A 技术设计、仿真、实现序列检测器。从而让大家熟悉 VerilogVerilog 硬件描述语言的运 用, 详细了解在系统可编程器件的原理及其应用方法,掌握在系统可编程开发软 件。 关键词: EDA 技术;CPLD;Verilog 硬件描述语言;仿真 目录 第一章 EDA 技术. 1 1.1 EDA 技术简介.1 1.2 EDA 技术概念及特征.3 1.3 EDA 技术应用及发展趋势.6 第二章 复杂可编程逻辑器件 CPLD. 7 2.1 ISP 技术简介.7 2.2 CPLD 器件原理及优点.9 第三章 Verilog HDL 硬件描述语言. 11 3.1VerilogHDL简介.11 3.2Verilog HDL 语法及语句.13 3.3Verilog 建模.15 第四章 序列检测器的设计与实现. 17 5.1序列检测器简介. 19 第五章 设计中遇到的问题总结及体会. 19 参考文 献. . 20 致谢. 21 1 第一章EDA 技术 EDA 技术简介 什么是 EDA 技术? EDA 即电子设计自动化(Electronic Design Automation)的缩写。它是 以大规模可编程逻辑器件为设计载体、以硬件描述语言为系统逻辑描述的主要 表达方式、以计算机及大规模可编程逻辑器件的开发软件以及实验开发系统为 设计工具,通过有关的开发软件自动完成用软件的方式设计电子系统到硬件系 统的一门技术,它也是一门正在高速发展的新型技术。 EDA 技术就是把计算机作为设计工具,借助于 EDA 软件平台,用硬件描述 语言 VHDL 完成设计文件,它可以实现逻辑编译、逻辑化简、逻辑分割、逻辑综 合及优化、逻辑布局布线以及逻辑仿真。它可以完成对特定的目标芯片的适配 编译、逻辑映射、编程下载等工作,从而最终形成集成电子系统或专用集成芯 片。 通过使用 EDA 工具,设计者可以从概念、算法、协议等多方面着手设计电 子系统,其中大量的工作都可以交给计算机来完成,并且可以在计算机上自动 化处理完成电子产品的电路设计、性能分析以至 IC 版图或 PCB 版图的绘制。这 所有的一切都极大的改变了传统的设计方法以及设计观念,促进了 EDA 技术的 发展。 目前对于 EDA 技术的概念或范畴应用的很广。不光在机械制造、电子通信、 航空航天领域有应用,也同样应用于化工、矿产、生物制药、军事等各个领域。 目前许多大的公司、企事业单位以及科研部门都已经广泛的使用 EDA 技术。 EDA 设计方法 EDA 技术的设计方法大致划分如下: 1)、前端设计、后端设计、系统建模; 2)、IP 复用; 3)、前端设计; 4)、系统描述即:建立系统的数学模型;功能描述即:描述系统 的行为以及各个子模块之间的数据流图; 5)、逻辑设计即:将系统功能致以结构化,其通常表现形式为:文本、 原理图、逻辑图、布尔表达式; 6)、仿真仿真的作用就是主要进行对系统功能的正确性和时序性的验 证。仿真主要包括功能仿真和时序仿真。 EDA 技术与传统技术的区别 EDA 技术是基于传统技术设计出的一种新型技术,那么它又和传统技术有 什么区别呢?下面,通过表格来给大家进行描述。 传统的技术有很多缺点,例如:设计周期长,灵活性差,效率低;设计依 赖于设计者的经验;到后期仿真不易实现;调试复杂容易出错;设计依赖于现 有的市场通用元器件。芯片种类多,数量大,受市场的限制;体积大。 然而相对于传统技术来说,EDA 技术却更加简便,有很多优点: 设计效率高、周期短; 设计质量高、成本低; 特特点点传统方法传统方法EDAEDA 方法方法 采用器件采用器件通用型器件PLD 设计对象设计对象电路板芯片 设计方法设计方法自底向上自顶向下 仿真时期仿真时期系统硬件设计后 期 系统硬件设计早 期 主要设计文件主要设计文件电路原理图HDL语言编写的程 序 3 更能够充分发挥设计者的创造性; 设计成果的重用大大的节省了劳动力。 传统的数字系统设计只能在电路板上进行设计,是一种搭积木式的方式, 使复杂电路的设计、调试十分困难;如果某一过程存在错误,查找和修改十分 不便,对于集成电路而言,设计实现过程与具体生产工艺直接相关,因此可移 植性差,只有在设计出样机或生产出芯片后才能进行实现,因而开发产品的周 期长。而 EDA 技术则有很大不同,采用可编程器件,通过设计芯片来实现系统 功能。采用硬件描述语言作为设计输入和库的引入,由设计者定义器件的内部 逻辑和管脚,将原来由电路板设计完成的大部分工作改在芯片的设计中进行。 由于管脚定义的灵活性, 大大减轻了电路图设计和电路板设计的工作量和难度, 有效增强了设计的灵活性,提高了工作的效率。并且可以减少芯片的数量,缩 小系统体积,降低能源消耗,提高了系统的性能和可靠性。能全方位地利用计 算机自动设计、调试和仿真。 EDA 技术的范畴 EDA 技术从广义的角度上包含了:1、半导体工艺自动化;2、可编程设计 自动化;3、电子系统设计自动化;4、印刷电路板设计自动化;5、仿真与测试、 故障诊断自动化;6、形式验证自动化。 其范畴可以归纳为四个方面,具体如下: PCB 设计; 电路设计其中包括:模拟电路、数字电路、混合电路; PLD 设计其中包括:设计输入、逻辑综合、仿真、编程下载; IC 版设计。 EDA 技术的概念及特征 EDA 技术是伴随着计算机、集成电路、电子系统的设计发展起来的,至今 已经有三十多年的历程。其发展大致可以分为三个阶段: 第一代:CAD 即 Computer Aided Design(计算机辅助设计) ,约在 20 世纪 70 年代时,出现了可编程技术以及相应的器件,人们开始利用计算机取代 手工劳动,使用技术及器件来辅助进行集成电路版图的编辑、PCB 布局布线等 工作。在当时 EDA 工具的供应商只有几家,其产品主要面向 PCB 布线设计,例 如:Tango 软件等。 第二代:CAE 即 Computer Aided Engineering(计算机辅助工程) ,约 在 20 世纪 80 年代时,CPLD(复杂可编程逻辑器件)在人们的设计工作中开始 应用,当时 Mentor 公司、Logic System 公司进入 EDA 市场,它们生产出提供 带有电路图编辑工具和逻辑模拟工具的 EDA 软件,这些工具软件主要应用于电 路设计没有完成之前的功能检验问题,一般是以数字电路的分析和测试工具为 代表。在各种硬件描述语言的应用和标准化方面取得了重大的进步。 第三代:在 20 世纪 90 年代以后,通过时代科技的进步发展,人们的工 艺水平已经达到深亚微米级, 同时硬件描述语言的便准化也得到了进一步确立, 这时的 EDA 工具种类齐全,能够提供人们在系统设计时全部的工具需求,兼容 各种硬件实现方案,支持标准硬件描述语言,能完成逻辑综合、设计优化、行 为仿真、 参数分析和测试工具等。 从此, 复杂电子系统的设计进入了 SOC 和 SOPC 时代。 EDA 技术代表了当今电子设计技术的最新发展方向。利用 EDA 工具,电子 设计师可以从概念、算法、协议等开始设计电子系统,大量的工作可以通过计 算机来完成,并且可以将电子产品从电路设计、性能分析到设计出 IC 版图或者 PCB 版图的整个过程均在计算机上自动处理完成。设计者采用的设计方法是一 种高层次的“自顶向下”的全新设计方法: 这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构 设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为 进行描述,在系统一级进行驶证。然后用综合优化工具生成具体门电路的网络 表,其对应的物理实现级可以是印刷电路板或专用集成电路。 设计者的工作仅限于利用软件的方式,即利用硬件描述语言和 EDA 软件来 完成对系统硬件功能的实现。随着设计的主要仿真和调试过程是在高层次上完 成的。这既有利于早期发现结构设计上的错误,从而避免设计工作的浪费,又 减少了逻辑功能仿真的工作量,提高了设计的一次性成功率。随着现代电子产 品的复杂度和集成度的日益提高,一般的中小规模集成电路组合已不能满足要 求,电路设计逐步地从中小规模芯片转为大规模、超大规模芯片,具有高速度、 高集成度、低功耗的可编程器件已蓬勃发展起来。 “自顶向下自顶向下”及及“自底向上自底向上”设计方法介绍设计方法介绍 1、 “自顶向下”的设计方法是指从系统的总体要求出发,按照一定的标准 将整个系统划分为若干个子系统,然后再将各个子系统划分成若干个功能模块 然后针对各个功能模块进行逻辑、电路设计,最后完成系统硬件的整体设计。 系 统 子系统 功 能 模 块 逻辑、 电路 5 “顶” ,即系统行为模型,也就是系统的顶层器件; “向下” ,即系统逐层分 为子系统(元件和子元件) 。 一、一、“自顶向下自顶向下“的系统设计方法步骤可大致概括如下:的系统设计方法步骤可大致概括如下: 1) 采用完全独立于目标芯片的物理结构的硬件描述语言(HDL)对其系统 的功能以及行为进行定义和描述。 2) 完成功能确认采用了多层次的仿真。 3) 通过具体目标芯片的网表文件进行功能描述。 4) 逻辑映射,布线布局。 5) 为确保系统的性能,利用仿真文件进行功能以及时序的验证。 二、二、EDAEDA 技术主要采用技术主要采用“自顶向下自顶向下”设计方法,其方法的优点为:设计方法,其方法的优点为: 它是一种模块化的设计方法, 其设计方式由上到下, 由粗略到详细, 比较符合人们的习惯的思维逻辑。 因为其高层的设计与器件无关,所以设计可以完全独立于目标器件 的结构,使设计者设计时不受芯片结构的约束,可以着重在适应市 场的方向设计产品,避免了传统设计方法中再设计的风险,缩短了 产品上市的周期。 由于系统采用硬件描述语言进行设计,可以完全独立于目标器件的 结构,因此方便了设计在各种可编程器件或者集成电路工艺之间移 植。 此设计适合多个设计者同时进行。随着科学技术的发展许多设计很 难由一个设计者完成,必须通过多个设计者分工协作才能完成。因 此,采用自顶向下的设计方法方便多个设计者设计同时进行,对设 计的任务进行合理的分配,用系统工程的方法对设计进行管理。 2、 “自底向上”的设计方法是指在整体划分的基础上,先进行单元的设计, 然后再以单元设计为基础逐级向上完成功能模块以及子系统的设计,直到 系统硬件的整体设计的最后完成。其框图如下: 6 系统子系统功能模块 逻 辑 电 路 此种设计方法,使用于“自顶向下”设计方法之前 10 年,它是一种传 统的设计方法,此方法如同一砖一瓦建造金字塔一般,不仅成本高、效率 低而且容易出错,因此逐渐被代替。 EDA 技术应用及发展趋势 随着科技的进步,EDA 技术发展迅猛,逐渐在教学、科研、产品设计与制 造等各方面都发挥着巨大的作用。 一、在教学方面:几乎所有的理工科类,尤其是电子信息类的高等学校均 开设了有关 EDA 的课程。其目的主要是为了让学生了解 EDA 的基本原理以及基 本的概念、掌握使用 VHDL 硬件描述语言描述系统逻辑的方法、使用 EDA 工具进 行电子电路课程的模拟仿真实验。例如:实验教学、毕业设计、课程设计、设 计竞赛等都可以借助 CPLD/FPGA 器件。使实验设备或设计出的电子系统具有高 可靠性,又经济、快速、容易实现、便于修改,同时也可以大大提高学生的实 践、创新以及计算机应用的能力。 二、在科研方面:设计者主要利用电路仿真工具进行电路设计与仿真,利 用虚拟仪器进行产品调试。将 CPLD/FPGA 器件开发应用到仪器设备中, CPLD/FPGA可直接应用于小批量的产品芯片或作为大批量产品的芯片前期开发。 传统机电产品的升级换代和技术改造,CPLD/FPGA 的应用可以提高传统产品的 性能,缩小传统产品体积,提高技术含量和产品附加值。作为高等院校有关专 业的学生和广大电子工程师了解和掌握这一先进技术是势在必行,这不仅是提 高设计效率的需要,更是时代发展的需求,只有掌握了 EDA 技术才有能力参与 世界电子工业市场的竞争,才能生存发展。随着科技的进步,电子产品的更新 日新月异,EDA 技术作为电子产品开发研制的源动力,已经成为了现代电子设 计的核心。所以发展 EDA 技术将是电子设计领域和电子产业界的一场重大的技 术革命,同时也对电子类课程的教学和科研提出了更深更高的要求。 三、在产品设计与制造方面;从高性能的微处理器、数字信号处理器一直到 彩电、音响和电子玩具电路等,EDA 技术不单是应用于前期的计算机模拟仿真、 产品调试,而且也在 PCB 的制作、电子设备的研制与生产、电路板的焊接、制 造过程等有着重要作用。可以说 EDA 技术已经成为电子工业领域不可缺少的技 术支持。 在进入 21 世纪后,电子技术全方位纳入 EDA 领域,EDA 使得电子领域各 7 学科的界限更加模糊,更加互为包容,突出表现为以下几个方面: 、使电子设计成果以自主知识产权的方式得以明确表达和确认成为 可能; 、基于 EDA 工具的 ASIC 设计标准单元已涵盖大规模电子系统及 IP 核模块; 、软硬件 IP 核在电子行业的产业领域、技术领域或者设计应用领 域得到进一步确认; 、SOC 高效低成本设计技术的成熟。 随着半导体技术、集成技术和计算机技术的迅猛发展,电子系统的设计方 法和设计手段都发生了很大的变化。传统“固定功能集成块十连线”的设计方 法正逐步地退出历史舞台,而基于芯片的设计方法正成为现代电子系统设计的 主流。 复杂可编程逻辑器件 CPLD ISP 技术简介 ISP 即 In-System Programming(在系统可编程) ,它是由 Lattice 公司首 先对设计电路和系统这一问题提出来的一种最新的技术。Lattice 是 ISP(在线 编程)技术的发明者,据说它最早是由我们中国人创办的,它的出现大大的促 进了 PLD 产品的发展,为用户带来的巨大的时间效益和经济效益,是可编程技 术的一个实质性的飞跃,是 PLD 设计技术的一次新的革命。 ISP 在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以通过使用 ISP 的方式擦 除或者再编程。ISP 技术使我们在进行产品的设计与制造的过程中的每一个环 节,以至销售后,对器件、电路板或者整个电子系统的逻辑和模拟功能可以随 时的进行组态或者重组。换句话来说,ISP 技术能够让我们拥有在自己设计的 开发系统或者电路板上重新构建电路与系统并对可编程器件进行编程或者反复 改写的能力。 一、一、ISPISP 工作原理工作原理ISP 的实现相对要简单一些,一般通用做法是内部的存储 器可以由上位机的软件通过串口来进行改写。 对于单片机来讲可以通过 SPI 或其 它的串行接口接收上位机传来的数据并写入存储器中。 所以即使我们将芯片焊接 在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的 改写,而无须再取下芯片。 二、二、ISPISP 技术的优点技术的优点ISP 技术的优势是不需要编程器就可以进行单片机的实 验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调 试时由于频繁地插入取出芯片对芯片和电路板带来的不便。 ISP 技术不但非常适用于逻辑电路和系统的设计,同样也适用于模拟电路的 和系统的设计。它的优点可以归纳为以下五点: 1 1、ISPISP 技术有利于设计技术有利于设计不需要改变组件或印刷板的布局; 2 2、ISPISP 技术有利于制造技术有利于制造使用 ISP 器件可以实现多功能硬件 的设计,从而可以很大的减少系统部件的使用量,从而也降低 了制造的成本。此外 ISP 技术也对测试提供重组态的能力,这 样也就提高了系统的质量,降低成本; 3 3、ISPISP 技术采用了先进的技术采用了先进的 E E CMOSCMOS 工艺工艺工艺领先; 4 4、应用前景广阔应用前景广阔ISP 器件包括可编程逻辑器件、可编程模 拟器件、可编程数字开关及互联器件等,它具有种类多、系列 全、选择余地大的特点。这些器件不光是它们的性能还有它们 所具有的特性都处于领先的地位,能够让使用者快速、高效滴 设计出新一代的电路与系统的产品; 5 5、ISPISP 的未来的未来使硬件设计软件化,这样硬件设计将不再是 “固定不变”的。ISP 器件的采用将使硬件设计更具有适用性 的组态。 三、三、ISPISP 的实现方式的实现方式ISP 的实现方式有以下几种: 1、基于电可擦除存储单元的EEPROM 或Flash技术(譬如CPLD), 特点是,掉电数据不丢失,但编程次数有限,编程速度慢; 2、基于 SRAM 查找表的编程单元(譬如 FPGA),特点是,配置次 数无限,加电可随时更改逻辑,但掉电后数据即丢失,下次上 电需要重新配置; 3、基于反熔丝编程单元(譬如 Actel 的 FPGA); 4、JTAG 方式; 四四、ISPISP 器件介绍器件介绍目前,由 Lattice 公司作为商品生产的 ISP 产品大致可分 9 为三大类: 1、ispPACispPAC 在系统可编程模拟器件,有四个品种:ispPAC10ispPAC10、 ispPAC20ispPAC20、ispPAC30ispPAC30、ispPAC80/81ispPAC80/81; 2、ispGDXispGDX #2 Top=3b011; end 和下面指令一样: initial begin Top = 3b001; #2 Top = 3b011; 15 end 4 4、系统任务和函数系统任务和函数 以$字符开始的标识符表示系统任务或系统函数。任务提供了一种封装 行为的机制。这种机制可在设计的不同部分被调用。任务可以返回 0 个或多 个值。函数除只能返回一个值以外与任务相同。此外,函数在 0 时刻执行, 即不允许延迟,而任务可以带有延迟。 5 5、编译指令编译指令 以(反引号)开始的某些标识符是编译器指令。在 Verilog HDL 语言编译时, 特定的编译器指令在整个编译过程中有效(编译过程可跨越多个文件) ,直到遇 到其他的不同编译程序指令。完整的标准编译器指令如下: define,undefresetall ifdef,else,endifdefault_nettype includetimescale unconnected_drive,nounconnected_drive celldefine,endcelldefine 6 6、值集合值集合 Verilog HDL 有下列四种基本的值:1)、0:逻辑 0 或“假” ;2) 、1:逻 辑 1 或“真;3) 、x:未知;4) 、z:高阻。注意这四种值的解释都内置于 语言中。如一个为 z 的值总是意味着高阻抗,一个为 0 的值通常是指逻辑 0。 在门的输入或一个表达式中的为“z”的值通常解释成“x” 。此外,x 值和 z 值都是不分大小写的,也就是说,值 0 x1z 与值 0X1Z 相同。Verilog HDL 中 的常量是由以上这四类基本值组成的。 Verilog HDL 中有三类常量:1) 、整型; 2)、实数型; 3) 、字符串型。 下划线符号(_)可以随意用在整数或实数中,它们就数量本身没有意义。 它们能用来提高易读性;唯一的限制是下划线符号不能用作为首字符。 其中整数型可以按照两种方式书写:1) 、简单十进制格式;2) 、基数格 式。实数型也可按两种方式书写,其分别是:1) 、十进制计数法;2) 、科学 计数法。 7 7、数据类型数据类型 Verilog HDL 的数据类型有两大类,分别为线网型和寄存器型。其中线 网型(net type)它表示 Verilog 结构化元件间的物理连线,其值由驱动元 件值决定, 若无驱动元件接到线网, 则线网缺省值为 z。 寄存器型 (register type)它则表示的是一个抽象的数据存储单元,只能在 always 语句以及 initial 语句中被赋值,且其值从一个赋值到另一个赋值均被保存下来,缺 省值为 x。 线网型也包括了很多线网子类型,如:wire,tri,wor,trior,wand, triand,trireg,tril,trio,supply0,supply1。同样,寄存器型也包含 很多不同类型,有 5 种,即:reg,integer,time,real,realtime。 8 8、参数参数 参数是一个常量,通常用于定义时延和变量的宽度。其中,使用参数说 明的参数其值只能被赋予一次。同时参数的值也可以在编译的时候被改变, 其方法可以通过使用参数定义语句通过在模块初始化语句中定义参数值。 9 9、VerilogVerilog HDLHDL 标准操作符标准操作符 Verilog HDL 的操作符数量有很多,下面我们将一一列举。 算术操作:加或正值() 、减或负值() 、乘() 、除() 、取 模() ; 赋值操作:赋值() 、非阻塞赋值() ; 关系操作:大于() 、小于() 、大于等于() 、小于等于() ; 逻辑操作:逻辑与() 、逻辑或(|) 、逻辑取反(! ) ; 条件操作:条件操作(?: ) ; 位 操 作:按位取反() 、按位或(|) 、按位异或() 、按位与() 、 按位异或非(或) ; 移位操作:左移() 、右移() ; 等式操作:逻辑等() 、逻辑不等(!) 、case 等() 、case 不等(!) ; 缩减操作:缩减与() 、缩减与非() 、缩减或(丨) 、缩减或非( 丨) 、缩减异或() 、缩减异或非(或) ; 拼接操作:拼接( , ) ; 这些操作符的优先级别为:单操作符! ,-,丨,丨, ,级别最高,为级;,为 2 级;,为 3 级;, 为 4 级;,为 5 级;, !, !为 6 级;,为 7 级;丨,丨为 8 级;为 9 级;|为 10 级;?:为 11 级。在表达式中它们的结合性是从左向右(?:除外) 。 Verilog HDL 语言的基本语句 Verilog HDL 语言的语句一共有四种重要语句,分别为:赋值语句、块 语句、条件语句、循环语句。下面将分别进行介绍: 1 1、赋值语句赋值语句 赋值语句有两种赋值方式, 即: 非阻塞赋值 () 和阻塞赋值 ( ) 。 非阻塞赋值,例如 a,描述在块中的语句“a; ”的 a 值并 不是立即就改变的,而是块结束后才会完成赋值操作。在数字电路与系统设 计中,非阻塞赋值模拟了当所有触发器由相同时钟边沿控制这一行为。 阻塞赋值,例如 a,描述在块中的语句“; ”的值在赋值语 句执行结束后就会立刻改变;在赋值语句执行完,块才会结束。 2 2、块语句块语句 块语句分为两种:一种是顺序块,用 begin_end 语句标识;另一种是并 行块,用 fork_join 语句标识。块语句的功能主要是用来将两条或者多条语 句组合在一起,从而使得它们在格式上更像一条语句。 17 其中,顺序块的格式为: begin或begin :块名 语句 1;块内声明语句; 语句 2;语句 1; 语句 2; 语句 n; end语句 n; end其中块名,即是用 标识符给该块取的一个名字; 块内声明语句的类型可以划分为: 参数型、 reg 型、integer 型以及 real 型。其次,块内声明语句均是按照顺序执行的。 并行块的格式为: fork或fork :块名 语句 1;块内声明语句; 语句 2;语句 1; 语句 2; 语句 n; jion语句 n; join其中块名,如同顺 序块格式一样,也是用标识符给块取的一个名字。块内声明语句的类型相比 顺序块语句又额外多了两种类型:time 型、event 型。不同于顺序块格式的 是其块内语句是同时执行的。 另外,凡是块均会有一个起始时间和结束时间。对于顺序块来说,其起 始时间就是第一条语句开始执行的时间,结束时间就是最后一条语句执行结 束的时间。然而,于顺序块不同的是,在并行块中,其块内所有语句的起始 时间都是一样的,而其结束时间则是按照时间排序排在最后的语句执行结束 的时间。 3 3、条件语句条件语句 条件语句可以分为:if_else 语句和 case 语句。在 Verilog 语言中 if 语句有三种形式,分别为:1) 、if(表达式)语句; 2) 、if(表达式)语句 1; else 语句 2; 3) 、if(表达式 1)语句 1; else if(表达式 2)语句 2; else if(表达式 3)语句 3; else if(表达式 n-1)语句 n-1; else 语句 n; 在以上三种形式的 if 语句中,“表达式” 是指操作数通过操作符连接起来的式子, 这里通常为逻辑表达式或者关系表达式,若表达式的值为 0、x、z,则为“假” ; 若表达式的值为 1,则为“真” 。另外需要注意的一点就是,当 if 与 else 多次 17 连用的时候,其配对关系为:else 总是跟它上面离最近的 if 配对。在 Verilog 语言中,通常能够使用到 case 语句的情况就是当硬件描述中需要多分支选择的 时候。case 语句的一般格式也可分为三种: 1)、case(表达式)case 分支项endcase 2)、casez(表达式)case 分支项endcase 3)、casex(表达式)case 分支项endcase ;其中分支项的格式为: 分支表达式:语句 default(缺省) :语句在 case 语句中,其表达式叫做控制 表达式,所有表达式值的位宽必须相等。语句的执行情况为:当控制表达式与分 支表达式的值相等时, 就执行分支表达式后面的语句, 否则的话, 就执行 default 后面的语句。 4 4、循环语句循环语句 循环语句的作用是用来控制执行语句的执行次数,其形式可以分为四 种:1) 、forever连续执行语句;2) 、repeat连续执行一条语句 n 次;3) 、while执行一条语句知道某个条件被满足的时候为止,若此语 句一开始时就为假,那么这条语句则一次也不执行。4) 、for其情况与 C 语言中的 for 语句类似。 forever 语句的格式为: forever 语句; 或forever begin 多条语句 end ; repeat 语句格式为:repeat(表达式)语句;或 repeat(表达式)begin 多条语句 end;while 语句格式为: while(表达式)语句或while(表达式)begin 多条语句 end ; for 语句的格式为: for(表达式 1,表达式 2,表达式 3)语句,其最简单 的应用形式为: for(循环变量赋初值,循环结束条件,循环变量增值)执 行语句。 除以上四种重要语句外,Verilog HDL 语言中还有一种语句结构说 明语句。在 Verilog 语言中,进程模块的的说明可以通过四种形式的说明语 句, 分别为: initial 说明语句、 always 说明语句、 task 说明语句、 function 说明语句。 Verilog 建模 Verilog 的建模就是一种抽象过程,这种抽象过程是 Verilog 模型实际 硬件电路在不同级别上的抽象。这里所说的级别可以分为 5 个级别,它们分 别为:1) 、系统级System-Level;2) 、算法级Algorithem-Level;3) 、 RTL 级Register Transfer Level;4) 、门级Gate-Level;5) 、开关级 Switch-Level。 一般一个比较复杂的硬件电路的完整的Verilog硬件描述语言模型是由 若干个模块组成的,其中,每一个模块又可以是由若干个子模块集合而成。 Verilog 允许在同一个模块中存在多个级别的描述。然而之所以能完成极其 复杂的大型电路与系统的设计就是利用了 Verilog 的这种结构功能,通过层 次化设计实现的。 18 Verilog 建模中的门级 一个逻辑电路通常是由许多的逻辑门以及开关所组成的。通过使用逻辑门 的模型来描述逻辑电路是一种最基本而且最直观的方法。在 Verilog 中,它提 供并说明定义了一些基本门或称门级基元,通过使用它们就可以进行门级结构 建模。 在 Verilog 中预定义的内置基本门和开关有 6 类,总共有 26 个。并且均用 门类型的关键字来对应它们。分别为: 1 1、n n 输入门输入门 (Input(Input Gates)Gates): 与门 and ;与非门 nand ;或非门 nor ;或门 or ; 异或门 xor ;异或非门 xnor ; 2 2、n n 输出门(输出门(OutputOutput GatesGates) : 缓冲器 buf ; 非门 not ; 3 3、三态门(三态门(TristateTristate GateGate) : bufif0当使能端为 0 时,驱动输出,为 1 时呈高阻; bufif1当使能端为 1 时,驱动输出,为 0 时呈高阻; notif0 与上面两个类似,只是增加了非。 notif1 4 4、拉门(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑节能模拟优化-洞察及研究
- 社交媒体时代的文创文化治理与传播-洞察及研究
- 2025年公需科目考试题及答案
- 注会试题及答案解析
- 高级出纳师题库及答案
- 上海专项资金管理办法
- 衢州生活垃圾管理办法
- 东西扶贫资金管理办法
- -处方管理办法-答疑
- 专用物资专项管理办法
- 2025中国人民抗日战争暨世界反法西斯战争胜利80周年阅兵观后感心得体会3篇
- 眼睛保健操教学课件
- 成人脑室外引流护理标准解读
- 数字经济时代的法律挑战
- 算法认识与体验(教学设计)-2024-2025学年人教版(2024)小学信息技术五年级全一册
- 2025年辅警笔试考试题库题库与答案
- 2025危险品押运员模拟考试试题及答案
- 2025年银发族市场洞察报告
- 第十四章 开放经济的宏观经济
- 2025年幼儿园食堂餐饮从业人员食品安全知识培训考核试题(附答案)
- 存款定期管理办法
评论
0/150
提交评论