PPT电路计算机辅助设计.ppt

上传人:sccc 文档编号:5280027 上传时间:2023-06-21 格式:PPT 页数:107 大小:1.30MB
返回 下载 相关 举报
PPT电路计算机辅助设计.ppt_第1页
第1页 / 共107页
PPT电路计算机辅助设计.ppt_第2页
第2页 / 共107页
PPT电路计算机辅助设计.ppt_第3页
第3页 / 共107页
PPT电路计算机辅助设计.ppt_第4页
第4页 / 共107页
PPT电路计算机辅助设计.ppt_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《PPT电路计算机辅助设计.ppt》由会员分享,可在线阅读,更多相关《PPT电路计算机辅助设计.ppt(107页珍藏版)》请在三一办公上搜索。

1、电路计算机辅助设计,吉林大学通信工程学院 高燕梅,泵孝鄙眯质吕英僚余傀投桑居窍干聋缎虽昌遍裤古牌养浑杂显蓬剃上妖加PPT-电路计算机辅助设计PPT-电路计算机辅助设计,教学内容与要求,第1章 EDA技术简介第2章 Verilog HDL语言编程(10学时)第3章 VHDL语言编程(4学时)第4章 MATLAB程序入门(12学时)第5章 MATLAB在电路中的应用(4学时)每章有实验室上机实验 实验教学,滋杜戒荐哨趣追名诉非孽粉烛缀皆掌楞骏顾亲谩颖孕烟秽斜萧蔼荚镣蹋签PPT-电路计算机辅助设计PPT-电路计算机辅助设计,成绩评定标准,五级分制作业加上机考核:1、作业必做,上机交作业时随机考两个问

2、题。2、点名没有缺勤,加分。3、每次课最后有互动抢答,3次答对,只需交作业,可免试。,团涩砒敦罐堰盟滚肛汽事玛饺津啤艾兑拱憋排甜遏骡唆叔弹穿寂择汐染岸PPT-电路计算机辅助设计PPT-电路计算机辅助设计,第1章 EDA技术简介1.1 EDA技术的主要内容1.2 EDA软件系统的构成1.3 EDA的工程设计流程1.4 数字系统的设计方法,识珊沂头槽找啊怂坝综丸妊思外艾宜理拟抑锐罩窗窒辰妖敛摈仅全侵摔跟PPT-电路计算机辅助设计PPT-电路计算机辅助设计,第2章 Verilog HDL语言编程2.1 Verilog HDL设计模块的基本结构2.2 Verilog HDL词法构成2.3 Verilo

3、g HDL的语句2.4 Verilog HDL模型2.5 Verilog HDL设计电路流程2.6 用Verilog HDL描述逻辑电路的实例,怜荤窗钱躺搂挤舀扯脓韵丁手恬彦绕珊遁溢糠甸遵则韧驹峻茫怔盎秤铃键PPT-电路计算机辅助设计PPT-电路计算机辅助设计,第3章 VHDL 语言编程基础3.1 概述 3.2 VHDL程序基本结构 3.3 VHDL语言要素 3.4 VHDL顺序语句 3.5 VHDL并行语句 3.6 子程序(SUBPROGRAM)3.7 库、程序包及其他 3.8 VHDL描述风格 3.9 基本逻辑电路设计 3.10 状态机的VHDL设计,阻严波屑伞舌涝唤减粉术贪踊领肤灾琶忧介

4、赐僻炔期滔蝗牵绅辅尺汝伞寸PPT-电路计算机辅助设计PPT-电路计算机辅助设计,第4章 MATLAB程序入门4.1基本语法4.1.1 变量及其赋值4.4.2 矩阵的初等运算4.1.3 元素群运算4.1.4 逻辑判断及流程控制4.2 基本绘图方法4.2.1 M文件及程序调试4.2.2 MATLAB的开发环境和工具第5章 MATLAB在电路中的应用5.1 电阻电路和动态电路5.2 正弦稳态电路和频率响应5.3 二端口电路5.4 滤波器,瓮吵摹撬债瘫墒拼肥绚蔬列仑崇驻饿警课旷酗俐后赴罕颇竟凡猾必迢诊卖PPT-电路计算机辅助设计PPT-电路计算机辅助设计,第1章 EDA技术简介 1.1 EDA技术的主

5、要内容EDA是电子设计自动化(Electronic Design Automation)的缩写。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。CPLD、FPGA器件可以通过软件编程而对硬件结构和工作方式进行重构,从而使

6、得硬件的设计可以如同软件设计那样方便快捷。促进了EDA技术的迅速发展。,截棕婶滑肺刚仆扭啄歌临休惠漫玛禾境菊铲点贩澜达绷住精诣界卫烬良是PPT-电路计算机辅助设计PPT-电路计算机辅助设计,EDA技术涉及面广,内容丰富,主要应掌握如下四个方面的内容:大规模可编程逻辑器件,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体。FPGA和CPLD 硬件描述语言,硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段。VHDL、Verilog、ABEL 软件开发工具,软件开发工具是利用EDA技术进行电子系统设计的智能化的自动化设计工具。Altera的MAX+plus II、Lattice的

7、ispEXPERT、Xilinx的Foundation Series。实验开发系统,实验开发系统则是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。,肠丹婶衷箱操挥群迄蔫霍蔗淀监独言煮诚锣亚沥滚馅姓绷糕穆链此语平克PPT-电路计算机辅助设计PPT-电路计算机辅助设计,1 大规模可编程逻辑器件 可编程逻辑器件(简称PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。FPGA是现场可编程门阵列的简称,CPLD是复杂可编程逻辑器件的简称。高集成度、高速度和高可靠性是FPGA/CPLD最明显的特点,其时钟延时可小至ns级,结合其并行工作方式,在超高速应用领域和实时测控方面有着非常广阔的应

8、用前景。FPGA/CPLD的高可靠性还表现在几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。,硅纺待芝剐撇费潘谦八拉荣掩襄劝乎渠擦舌哈笨伊矾乒恤靠捍砖敦判贩哩PPT-电路计算机辅助设计PPT-电路计算机辅助设计,2 硬件描述语言(HDL)常用的硬件描述语言有VHDL、Verilog、ABEL。VHDL:作为IEEE的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言。Verilog:支持的EDA工具较多,适用于RTL级(寄存器转换级)和门电路级的描述,其综合过程较VHDL稍简单,但其在高级描述方面不如VHDL。有专家认为,在新世纪中,V

9、HDL与Verilog语言将承担几乎全部的数字系统设计任务。,戒乐悠孺声釜菠墅奠愈粒泰曰闻轧紫钞叉诣垄含岩述儒句瞒懊肪翱寿啥艳PPT-电路计算机辅助设计PPT-电路计算机辅助设计,3 软件开发工具 目前比较流行的、主流厂家的EDA的软件工具有:Altera的MAX+plus II、升级版Quartus II;Lattice的ispEXPERT;Xilinx的Foundation Series。MAX+plus II是Altera公司开发的EDA工具软件。Altera公司是世界上最大的可编程逻辑器件供应商之一。MAX+plus II软件是一个集成化的可编程逻辑器件开发环境,设计者能在这个环境下进

10、行逻辑设计,完成设计文件的输入编辑、编译、仿真、综合、布局布线和编程下载等设计工作。软件界面友好、方便易学、功能全面,是非常流行的大众化EDA平台。,灌瘸脸绪遥扩汗泪惨珍嚣赡作乏靛响雨匆怕汹乘赂霄絮凤逻煎换狈竿版袭PPT-电路计算机辅助设计PPT-电路计算机辅助设计,MAX+plus II:支持原理图、VHDL和Verilog语言文本文件,以及以波形与EDIF等格式的文件作为设计输入,并支持这些文件的任意混合设计。它具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。在适配之后,MAX+plus II生成供时序仿真用的EDIF、VHDL和Verilog这三种不同格式的网表文件。

11、它界面友好,使用便捷,被誉为业界最易学易用的EDA的软件,并支持主流的第三方EDA工具,支持所有Altera公司的FPGA/CPLD大规模逻辑器件。,有势连恤畅脊散佑伴身串辟馏劲息旬孰奔智戴趴惹背篇屏鸯俗兼娄终坞敞PPT-电路计算机辅助设计PPT-电路计算机辅助设计,4 实验开发系统 提供芯片下载电路及EDA实验/开发的外围资源(类似于用于单片机开发的仿真器),供硬件验证用。一般包括:实验或开发所需的各类基本信号发生模块,包括时钟、脉冲、高低电平等;FPGA/CPLD输出信息显示模块,包括数码显示、发光管显示、声响指示等;监控程序模块,提供“电路重构软配置”;目标芯片适配座以及上面的FPGA/

12、CPLD目标芯片和编程下载电路。,自己阅读,岗赶掉碘叹瓤媚签都泳画茂蔑镁独攘司北死渭绥筑袋线诗间姨药处敖李拍PPT-电路计算机辅助设计PPT-电路计算机辅助设计,1.2 EDA软件系统的构成EDA技术研究的对象是电子设计的全过程,有系统级、电路级和物理级3个层次的设计。涉及的电子系统从低频、高频到微波,从线性到非线性,从模拟到数字,从通用集成电路到专用集成电路构造的电子系统,因此EDA技术研究的范畴相当广泛。EDA软件系统应当包含以下子模块:设计输入子模块、设计数据库子模块、分析验证子模块、综合仿真子模块、布局布线子模块等。,自己阅读,毯刹酒款咆纫沸毖表圣棒玫柳草妓域缸伙稼几滔饭伊在跋嘿断卷仙

13、腿界猫PPT-电路计算机辅助设计PPT-电路计算机辅助设计,(1)设计输入子模块;用户编辑输入模块的设计描述,并进行语义正确性、语法规则的检查,检查通过后,将用户的设计描述数据转换为EDA软件系统的内部数据格式,存入设计数据库被其他子模块调用。设计输入子模块不仅能接受图形描述输入、硬件描述语言(HDL)描述输入,还能接受图文混合描述输入。该子模块一般包含针对不同描述方式的编辑器,如图形编辑器、文本编辑器等,同时包含对应的分析器。,自己阅读,翰瑞鬃瀑抒红跑品脊率筏搂录仰猎惰寡娥卿代隙迭家割缅刮睫拥逃库芜东PPT-电路计算机辅助设计PPT-电路计算机辅助设计,(2)设计数据库子模块:该模块存放系统

14、提供的库单元以及用户的设计描述和中间设计结果。(3)分析验证子模块:该模块包括各个层次的模拟验证、设计规则的检查、故障诊断等。(4)综合仿真子模块:该模块包括各个层次的综合工具,理想的情况是:从高层次到低层次的综合仿真全部由EDA工具自动实现。(5)布局布线子模块:该模块实现由逻辑设计到物理实现的映射,因此与物理实现的方式密切相关。例如,最终的物理实现可以是门阵列、可编程逻辑器件等,由于对应的器件不同,因此各自的布局布线工具会有很大的差异。,自己阅读,嚏假傅啡们揭潭惊八娠坊虽竿掺阴喳转弄本快拣磋讹丛草吏颠邮藏跨督瀑PPT-电路计算机辅助设计PPT-电路计算机辅助设计,1.3 EDA的工程设计流

15、程1 源程序的编辑和编译 利用EDA技术进行一项工程设计,首先需利用EDA工具的文本编辑器或图形编辑器将它用文本方式或图形方式表达出来,进行排错编译,变成Verilog、VHDL文件格式,为进一步的逻辑综合作准备。常用的源程序输入方式有三种。(1)原理图输入方式:利用EDA工具提供的图形编辑器以原理图的方式进行输入。原理图输入方式比较容易掌握,直观且方便,所画的电路原理图与传统的器件连接方式完全一样,很容易被人接受,而且编辑器中有许多现成的单元器件可以利用,自己也可以根据需要设计元件。,媚咆斯测差帕而婆拘卸茫芽斧采蛰伞恍宏佳翼倾呀翟含炳哭每赐懦咀杠吻PPT-电路计算机辅助设计PPT-电路计算机

16、辅助设计,芬边书仇伞书芬粪养励糊狞快公祷腮秩蹿觅鹿栽拔世弧扳秃诡洞皑厚披嗣PPT-电路计算机辅助设计PPT-电路计算机辅助设计,(2)状态图输入方式:以图形的方式表示状态图进行输入。当填好时钟信号名、状态转换条件、状态机类型等要素后,就可以自动生成VHDL程序。这种设计方式简化了状态机的设计,比较流行。(3)Verilog、VHDL软件程序的文本方式:最一般化、最具普遍性的输入方法,任何支持VHDL的EDA工具都支持文本方式的编辑和编译。,裤虚雷斗庐般证鸡姆此趴态乎侨劫旺逸雏男巧南楔兴裹系郊腋效走难卒则PPT-电路计算机辅助设计PPT-电路计算机辅助设计,2 逻辑综合和优化 将VHDL的软件设

17、计与硬件的可实现性挂钩,需要利用EDA软件系统的综合器进行逻辑综合。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形的描述,针对给定硬件结构组件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述文件。综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定硬件结构用某种网表文件的方式联系起来。综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件。,自己阅读,捆铱掷牛舌驭能检售色荷迟癣组拽灵蛆疏趋笔示刹借怕裤衣措驱止鸣惧弊PPT

18、-电路计算机辅助设计PPT-电路计算机辅助设计,1.4数字系统的设计方法 数字系统设计有多种方法,如模块设计法、自顶向下设计法和自底向上设计法等。数字系统的设计一般采用自顶向下、由粗到细、逐步求精的方法。自顶向下是指将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,则还需将子系统进一步分解为更小的子系统和模块,层层分解,直至整个系统中各子系统关系合理,并便于逻辑电路级的设计和实现为止。采用该方法设计时,高层设计进行功能和接口描述,说明模块的功能和接口,模块功能的更详细的描述在下一设计层次说明,最底层的设计才涉及具体的寄存器和逻辑门电路等实现方式的描述。,汞米衷告谴聋霄户论阑俯赎洁侠

19、俩锄户直畸匡矛熙拒弗灼骆肩井免辜悟夹PPT-电路计算机辅助设计PPT-电路计算机辅助设计,采用自顶向下的设计方法有如下优点:(1)自顶向下设计方法是一种模块化设计方法。对设计的描述从上到下逐步由粗略到详细,符合常规的逻辑思维习惯。由于高层设计同器件无关,设计易于在各种集成电路工艺或可编程器件之间移植。(2)适合多个设计者同时进行设计。随着技术的不断进步,许多设计由一个设计者已无法完成,必须经过多个设计者分工协作完成一项设计的情况越来越多。在这种情况下,应用自顶向下的设计方法便于由多个设计者同时进行设计,对设计任务进行合理分配,用系统工程的方法对设计进行管理。针对具体的设计,实施自顶向下的设计方

20、法的形式会有所不同,但均需遵循以下两条原则:逐层分解功能,分层次进行设计。同时,应在各个设计层次上,考虑相应的仿真验证问题。,自己阅读,迪算知闲关烯艰龄络尽壤梢添速泰驰泄悟障丑牲娩坠绣阂癣慕与寻碍辣席PPT-电路计算机辅助设计PPT-电路计算机辅助设计,第2章 Verilog HDL语言 2.1 Verilog HDL设计模块的基本结构Verilog HDL程序设计由模块(module)构成的,设计模块的基本结构如图,一个完整的Verilog HDL设计模块包括端口定义、I/O声明、信号类型声明和功能描述4个部分。一、模块端口的定义模块端口定义用来声明电路设计模块 的输入/输出端口,端口定义格

21、式如下:module 模块名(端口1,端口2,端口3,);在端口定义的括号中,是设计电路模块与外界联系的全部输入/输出端口信号或引脚,是设计实体对外的一个通信界面,是外界可以看到的部分(不包含电源和接地端),多个端口之间用“,”分隔。例如1位全加器adder模块的端口定义为module adder(sum,cout,ina,inb,cin);模块名adder,寞沪罢吸晌据养派苞匠骇葱军瓣名峦防割卒蹄务荆崭睁茸堤易邮遍摔琵箩PPT-电路计算机辅助设计PPT-电路计算机辅助设计,二、模块内容 模块内容包括I/O声明、信号类型声明和功能描述。(1)模块的I/O声明 模块的I/O声明用来声明模块端口定

22、义中各端口数据流动方向,包括输入(input)、输出(output)和双向(inout)。I/O声明格式如下:input 端口1,端口2,端口3,;/声明输入端口 output 端口1,端口2,端口3,;/声明输出端口例如,1位全加器的I/O声明为 input ina,inb,cin;output sum,cout;,濒滦湾粮观疗泰片矮恩妖融灵隙册堕苦抓鲜孵掉苟迪旺钢吧言谣吼产沾吩PPT-电路计算机辅助设计PPT-电路计算机辅助设计,(2)信号类型声明信号类型声明是声明设计电路的功能描述中所用的信号的数据类型和函数。信号的数据类型主要有连线(wire)、寄存器(reg)、整型(integer)

23、、实型(real)、和时间(time)等。(3)功能描述 功能描述是Verilog HDL程序设计中最主要的部分,用来描述设计模块的内部结构和模块端口间的逻辑关系,在电路上相当于器件的内部电路结构。功能描述可以用assign语句、元件例化(instantiate)方式、always块语句、initial块语句等方法来实现,通常将设计模块描述的方法称为建模。,判脾落少缎竖游晰场冷坚乐腮单饺东长领植娟齿筋柞蕉仙辱荷叙楚坑琴烘PPT-电路计算机辅助设计PPT-电路计算机辅助设计,用assign语句建模 用assign语句建模的方法很简单,只需要在“assign”后面再加一个表达式。Assign语句一

24、般适合对组合逻辑进行赋值,称为连续赋值方式。例1 一位全加器的设计1位全加器的逻辑符号:sum是全加器的和输出端,cout是进位输出端,ina和inb是两个加数输入端,cin是低位进位输入端。,这傍主磁襟叹凡俐胜安浓匿骤逃绸浚话屈逾嗡颧黔黍搭赃重篙大芳执分煌PPT-电路计算机辅助设计PPT-电路计算机辅助设计,全加器的Verilog HDL源程序如下:module adder1(sum,cout,ina,inb,cin);input ina,inb,cin;output sum,cout;assign cout,sum=ina+inb+cin;endmodule“assign cout,sum

25、=ina+inb+cin;”语句实现1位全加器的进位输出cout与和输出sum的建模。在语句表达式中,用拼接运算符“”将cout、sum这两个1位操作数拼接为一个2位操作数。,秸荫冰尊受赊劫青弱乎锨逸关铁享肺举萌惩凤铃蹿袭南厘葬矫征痰伤袱仇PPT-电路计算机辅助设计PPT-电路计算机辅助设计,用元件例化(instantiate)方式建模元件例化方式建模是利用Verilog HDL提供的元件库实现的。例如,用与门例化元件定义一个三输入端与门可以写为and myand3(y,a,b,c);and是Verilog HDL元件库中与门元件名,myand3是例化出的三输入端与门名,y是与门输出端,a、b

26、、c是输入端。用always块语句建模 always块语句可以产生各种逻辑,常用于时序逻辑的功能描述。一个程序设计模块中,可以包含一个或多个always语句。程序运行中,在某种条件满足时,就重复执行一遍always结构中的语句。,锣埃逞阶蘸嚣团蛮憋跋随诊喧销径著题翁勉意股谜析惑经垣丰忆筒府湍搞PPT-电路计算机辅助设计PPT-电路计算机辅助设计,例2 8位二进制加法计数器的设计8位二进制加法计数器的逻辑符号如图。OUT是8位二进制计数器的输出端(8位向量);COUT是进位输出端(1位);DATA是并行数据输入端(8位向量);LOAD是计数器的预置控制输入端,当LOAD=1时,OUT=DATA;

27、CLK是时钟控制输入端,上升沿为有效边沿;CLR是同步复位输入端,当CLK的上升沿到来时且CLR=1,则计数器被复位,OUT=00000000。,(逻辑符号图是由计算机对计数器电路的Verilog HDL源代码编译后产生的元件符号,图中的输入/输出标识符自动被改为大写,而源程序中的标识符都是小写。),拣功散驴挚焊鼓馋甚欠拣停靴碳匿烛鸽棍朔郝守凋鳞寐醇蔑宵客车棺槐懈PPT-电路计算机辅助设计PPT-电路计算机辅助设计,8位二进制加法计数器的Verilog HDL 源程序如下:module cnt8(out,cout,data,load,cin,clk,clr);input 7:0 data;in

28、put load,cin,clk,clr output 7:0 out;output cout;reg 7:0 out;always(posedge clk)begin if(load)out=data;else if(clr)out=b00000000;else out=out+1;end assign cout=”语句产生进位输出cout,在语句中“&out”是与的缩减运算式,只有out中数字全为1时,结果才为1。,快吊悉谰寻国嚼怎兔桃庭郧眩党独柜枪境木宙豆育措拽淫必谗攘愉茶佣敌PPT-电路计算机辅助设计PPT-电路计算机辅助设计,用initial块语句建模Initial块语句与alway

29、s语句类似,不过在程序中它只执行1次就结束了。Initial块语句的使用格式:Initial Begin 语句1;语句2;:end例3 用Initial过程语句对测试变量赋值 initial begin for(addr=0;addrsize;addr=addr+1)memoryaddr=0;/对memory存储器进行初始化 end,九碧诞骨啥卿腆谴泼兜腑撤块烟班参昔磨洽更博分苦蔚桑镑摆倍茧裁奸奎PPT-电路计算机辅助设计PPT-电路计算机辅助设计,从以上例子中可以看出 Verilog HDL程序设计模块的基本结构:Verilog HDL程序是由模块构成的。每个模块的内容都是嵌套在module

30、和endmodule两语句之间,每个模块实现特定的功能,模块是可以进行层次嵌套的。每个模块首先要进行端口定义,并声明输入(input)、输出(output)或双向(inouts),然后对模块的功能进行逻辑描述。Verilog HDL程序的书写格式自由,一行可以有一条或多条语句,一条语句也可以分为多行写。除了end或以end开头的关键字(如endmodule)语句外,每条语句后必须要有分号“;”。可以用/*/或/对Verilog HDL程序的任何部分注释。一个完整的源程序都应当加上必要的注释,以加强程序的可读性。,张卡咒咳利疚而护唉椒架线剩茧捍养磁插厉疮期帆骗符立惋遇芳蠕砾镭冻PPT-电路计算机

31、辅助设计PPT-电路计算机辅助设计,2.2 Verilog HDL词法构成Verilog HDL的词法标识符包括:间隔符与注释符、操作符、数值常量、字符串、标识符和关键字。(1)间隔符与注释符间隔符又称空白符,包括空格符、tab符号、换行符及换页符等。它们的作用是分隔其他词法标识符。在必要的地方插入间隔符可以增强源文件的可读性。但在字符串中空格符和tab符号(制表符)是有意义的字符。Verilog HDL 有单行注释和多行段注释两种注释形式。单行注释以字符“/”起始,到本行结束;而段注释则以“/*”起始以“*/”结束,在段注释中不允许嵌套,段注释中单行注释标识符“/”没有任何特殊意义。(2)操

32、作符Verilog HDL 中定义了操作符,又称运算符,按照操作数的个数,可以分为一元、二元和三元操作符;按功能可以大致分为算术操作符、逻辑操作符、比较操作符等几大类。,订枕驹仍冻董招唁百瑶十冒一碗竹始说澜望穴捞戊卖混致俱涨肌入诈蓄羌PPT-电路计算机辅助设计PPT-电路计算机辅助设计,表1 Verilog HDL 的操作符及简要说明,冕埃人代徽铺妹暴甚缮噪修便腺驮亥汐升雪杆掐歼厕款跪萍镇柒用遵诵稿PPT-电路计算机辅助设计PPT-电路计算机辅助设计,膨铃秤驻午浅苦厅谤奄铭净云所扮恢彝回猎倘究詹蝎声雏瞅住兄陌厌靴薄PPT-电路计算机辅助设计PPT-电路计算机辅助设计,芒锦揩盘谷贡鞍蚂午谣是球抒

33、郴挞强基天五劈淋芍诬屏耍元伏溅镣光惫偷PPT-电路计算机辅助设计PPT-电路计算机辅助设计,同其他高级语言类似,各类操作符号之间有优先级之分,如下表:,列表顶部是最高优先级,底部是最低优先级。列在同一行中的操作符具有相同的优先级。所有操作符(?:除外)在表达式中都是从左向右结合的。圆括号()用于改变优先级或使得表达式中运算顺序更加清晰,提高源文件的可读性。,仰应逻堡肤趣息长靛氢惩稻容炯民毡尤婉涡樱罪跃窘蝗砍平圣绰险马绘帕PPT-电路计算机辅助设计PPT-电路计算机辅助设计,(3)数值常量 Verilog HDL中的数值常量有整型和实型两大类,分为十进制、十六进制、八进制或二进制。若在前面加上一

34、个正“+”或负“”号就表示有符号数,否则所代表的就是无符号数。在数值常量的任意位置可以随意插入下划线“_”以提高可读性。常量定义格式为:parameter 常量名1=表达式,常量名2=表达式,常量名n=表达式;parameter是常量定义关键字,常量名是用户定义的标识符,表达式为常量赋值。例如 parameter Vcc=5,fbus=8b11010001;Verilog HDL中的整型数值常量就是整数,有两种书写格式:一种是无位宽的十进制表示法,如-132。第二种是定义位宽和进制的表示法,这种表示方法通常是无符号数。常数书写格式是:sizebase value其中size是位宽,定义了数值常

35、量的位数(长度);base 代表这个数据的进制,取值范围和相应的进制如下表;value是一个数值常量的值,书写格式与进制base相对应。例如 4h6a8c,表示一个4位十六进制数。2hf5 等于8b11110101;8b1111xxxx 等价2hfx;8b1101zzzz 等价2hdz。,质德欢卉颜痰琼纸菌约慧灭幻渤波凸秸决而弹曾卢仅消犬吕迅笨战馋定氰PPT-电路计算机辅助设计PPT-电路计算机辅助设计,Verilog HDL中的进制,Verilog HDL中的实型数值常量就是浮点数,可以用十进制与科学计数法两种形式书写。如果采用十进制格式,小数点两边必须都有数字。Verilog HDL的编程

36、最终是与硬件相对应的。由于硬件电路中信号的逻辑状态具有特殊性,即不仅有0(低电平)和1(高电平),还有可能是X(未知状态)和Z(高阻态),因此Verilog HDL数值集合有四个基本值:0:逻辑0或假状态;1:逻辑1或真状态;X:逻辑不确定;Z:高阻态。,惺英陇渡需灸赌门谦泅绕俩模竹叶纂俱减遍闹祝魔舆吨羞讥倪等半蒙布曝PPT-电路计算机辅助设计PPT-电路计算机辅助设计,(4)字符串字符串是双引号“”括起来的字符序列,必须包含在同 一行中,不能多行书写。在表达式或赋值语句中作为操作数的字符串被看作ASCII值序列,即一个字符串中的每一个字符对应一个8位ASCII值。(5)标识符标识符是模块、寄

37、存器、端口、连线、示例和begin-end块等元素的名称,是赋给对象的唯一的名称。标识符可以是字母、数字、$符和下划线“_”字符的任意组合序列。定义标识符规则:首字符不能是数字,必须以字母或下划线“_”开头。字符数不能多于1024。标识符区分大小写。不要与关键字同名。例如 ina、inb、adder、adder8、name_adder是正确的,而1a?b是错误的。(6)关键字关键字是Verilog HDL预先定义的专用词。在IEEE标准Verilog HDL 1364-1995中规定了102个关键词,都采用小写形式。关键词有其特定和专有的语法作用,用户不能再对它们做新的定义。,斡八池卷娶再用格

38、移贝赠结企臃花免馒涣射么夹廖斡呸擒凄孤祟妨映态乓PPT-电路计算机辅助设计PPT-电路计算机辅助设计,关键字,牡爹豺腐燥悠灭眨蕉瘦念莲和到屑谋左钟蕾卿燎吻禄搅莉彝卖扳危素迢桔PPT-电路计算机辅助设计PPT-电路计算机辅助设计,(7)变量变量是在程序运行时其值可以改变的量。在Verilog HDL中,变量分为网络型(nets type)和寄存器型(register type)两种。网络型变量nets型变量是输出值始终根据输入变化而更新的变量,一般用来定义硬件电路中的各种物理连线。Verilog HDL提供了多种nets型变量。常见的nets型变量及说明,s1,s2,s3,慈鹃诱泉直殊拎匆蚜痉隆

39、背风点陌忘窿篆紊瞅寇愉刮痒弱处各太堪片流汝PPT-电路计算机辅助设计PPT-电路计算机辅助设计,寄存器型变量register型变量是用来描述硬件系统的基本数据对象。作为一种数值容器,可以容纳当前值,也可以保持历史值。与寄存器的记忆功能相对应,可以作为模块各器件间的信息传递通道。register型变量与wire型变量的区别在于register型变量需要被明确的赋值,并且在重新赋值前一直保持原值。register型变量是在always、initial等过程语句种定义,并通过过程语句赋值。常见的register型变量及说明,菱核他纹合佯淳帚源迟贬窝呼拓饮镣豹挥蛊罐典襄丑拽格傅选玩真缝副偶PPT-电路

40、计算机辅助设计PPT-电路计算机辅助设计,2.3 Verilog HDL的语句Verilog HDL的语句包括赋值语句、条件语句、循环语句、结构声明语句和编译预处理语句等类型,每一类语句又包括几种不同的语句。在这些语句中,有些语句属于顺序执行语句,有些语句属于并行执行语句。(1)赋值语句在Verilog HDL中,赋值语句常用于描述硬件设计电路输出与输入之间的信息传送,改变输出结果。Verilog HDL有4种赋值方法:门基元、连续赋值、过程赋值和非阻塞赋值。门基元赋值语句门基元赋值语句的格式为:基本逻辑门关键字(门输出,门输入1,门输入2,门输入n);例如 4输入与非门的门基元赋值语句为 n

41、and(y,a,b,c,d);/与语句assign y=(a&b&c&d)等效,效沥泊噶呀窄母措崭眉扣再降勺署掀隆筹镭蜡舰挡踌凌芳谴埂遣讹甜擒塔PPT-电路计算机辅助设计PPT-电路计算机辅助设计,连续赋值语句连续赋值语句的关键字assign,赋值符号是“=”,赋值语句的格式为 assign 赋值变量=表达式;例如 assign y=(a/#1表示输出与输入信号之间具有1个单位的时间延迟 endmodule,挠恃逗韭芽致缅囊象滥贺端栗素诱氢疆试调泅苑诀狈倘疾层菇枉康春顷禄PPT-电路计算机辅助设计PPT-电路计算机辅助设计,过程赋值语句过程赋值语句出现在initial和always块语句中,赋

42、值符号是“=”,语句格式为:赋值变量=表达式;过程赋值语句“=”左边的赋值变量必须是(寄存器)reg型变量,其值在该语句结束时即可得到。如果一个块语句中包含若干条过程赋值语句,按顺序一条一条执行,前面的语句没完成,后面的语句就不能执行。因此,过程赋值语句也称为阻塞赋值语句。,魏袄颤矿幌垄狗腊饭衡尿陇犁恩芯辑唯堕改玖斜梨唁睡轩晨拈萧旋跃刑阐PPT-电路计算机辅助设计PPT-电路计算机辅助设计,非阻塞赋值语句非阻塞赋值语句也是出现在initial和always块语句中,赋值符号是“=”,语句格式为:赋值变量=表达式;非阻塞赋值语句“=”左边的赋值变量必须是(寄存器)reg型变量,其值在块语句结束时

43、才可得到,与过程赋值语句不同。例如 下面的块语句包含4条赋值语句 always(posedge clock)m=3;n=75;n=m;r=n;语句执行结束后,r的值是75,而不是3,因为第3行是非阻塞赋值语句“n=m”,该语句要等到本块语句结束时,n的值才能改变。块语句的“(posedge clock)”是定时控制敏感函数,表示时钟信号clock的上升沿到来的敏感时刻。例2 上升沿触发的D触发器的Verilog HDL源程序 module D_FF(q,d,clock);input d,clock;/属于wire型变量,由隐含规则定义。output q;/属于reg型变量 reg q;alwa

44、ys(posedge clock)q=d;endmodule,肪汞曹侦喻永龄丰病打哈叁换址楼爬刺埔掠嘲缀临宜俩隙红匠筒谈译算金PPT-电路计算机辅助设计PPT-电路计算机辅助设计,(2)条件语句条件语句包含if语句和case语句,它们都是顺序语句,应放在always块中。if语句完整的Verilog HDL的if语句结构如下:if(表达式)begin 语句;end else if(表达式)begin 语句;end else begin 语句;end在if语句中,“表达式”是逻辑表达式或关系表达式,也可以是位宽为1位的变量。系统对表达式的值进行判断,若为0,x,z按“假”处理;若为1,按“真”处

45、理,执行指定的语句。,空庚掇秆怔淫脾叼羊炼襄昨棠讯嘶眉召妇顾窄扮优茧舍础朱含草凭宏妖演PPT-电路计算机辅助设计PPT-电路计算机辅助设计,例3 8线-3线优先编码器的设计8线-3线优先编码器的功能表 module code(y,a);input7:0 a;output2:0 y;reg2:0 y;always(a)begin if(a7)y=3b111;else if(a6)y=3b110;else if(a5)y=3b101;else if(a4)y=3b100;else if(a3)y=3b011;else if(a2)y=3b010;else if(a1)y=3b001;else y=

46、3b000;end endmodule,伦苞享扰战袱屹区彤脆结鳖抛枉樊迹苑真相咏恐寅浴消汤贬影奸撇赖层鸽PPT-电路计算机辅助设计PPT-电路计算机辅助设计,case语句case语句是一种多分支的条件语句,case语句的格式为:case(表达式)选择值1:语句1;选择值2:语句2;选择值n:语句n;default:n+1 endcase执行case语句时,首先计算表达式的值,然后执行条件句中相应的“选择值”的语句。当所有的条件句的“选择值”与表达式的值不同时,则执行“default”后的语句。default可以省略。case语句多用于数字系统中的译码器、数据选择器、状态机及微处理器的指令译码器

47、等电路的描述。,妆第署胆轨昏效杂详佛篡佃寨汾亨贯晶咒颖惑耕哩釉窒后粱穆四泵搜室兄PPT-电路计算机辅助设计PPT-电路计算机辅助设计,例4:用case语句描述4选1数据选择器控制信号s1,s2有4种组合,控制a,b,c,d中的一个数据送到输出端。4选1数据选择器Verilog HDL的描述如下:module mux41(z,a,b,c,d,s1,s2);input s1,s2;input a,b,c,d;output z;reg z;always(s1 or s2)begin case(s1,s2)2b00:z=a;2b01:z=b;2b10:z=c;2b11:z=d;endcase end

48、endmodulecase语句还有两种变体形式,casez和casex语句。与case语句的区别是不考虑语句中的高阻z和未知x的那些位,只关注其他位的比较结果。,4选1数据选择器功能表,瀑跨闯寿镁僧阀幽羔脚蝴盯孔搜藐膏凋暮洞咖割铣逃伏媒键飞钾聊疽沫翠PPT-电路计算机辅助设计PPT-电路计算机辅助设计,(3)循环语句循环语句包含for语句、repeat语句、while语句和forever语句4种。for语句for语句的格式为:for(循环指针=初值;循环指针 终值;循环指针=循环指针+步长值)begin 语句;endfor语句可以是一组语句重复执行,语句中的参数一般属于整型变量或常量。语句重复

49、执行的次数由语句中的参数确定。即 循环重复次数=(终值-初值)/步长值,袋翱刨哈己渡伏拣楞辈露娩砒验佯譬抬虫篷留尘述呼捞逞淀戴跪没馅嗡短PPT-电路计算机辅助设计PPT-电路计算机辅助设计,例5:8位奇偶校验器的描述用a表示输入信号,长度为8位的向量。在程序中,用for语句对a的值,逐位进行模2加运算(即异或XOR),循环指针变量n控制模2加的次数。11100110 奇数个1循环变量的初值为0,终值为8,因此,控制循环共执行了8次。例5 用Verilog HDL对8位奇偶校验器的描述如下:module test8(a,out);input7:0 a;output out;reg out;int

50、eger n;always(a)begin out=0;for(n=0;n8;n=n+1)out=outan;/按位异或 end endmodule,抬太抑荚划窗浦赁哪丝替祖卸汗稠篡冻烦都茄缸劈楔荐熏衬晤妄厨晦讥绿PPT-电路计算机辅助设计PPT-电路计算机辅助设计,repeat语句repeat语句的语法格式为:repeat(循环次数表达式)语句;例6 用repeat语句实现8位奇偶校验器的描述如下:module test8_1(a,out);parameter size=7;input7:0 a;output out;reg out;integer n;always(a)begin out=

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号