(ppt)电路计算机辅助设计

上传人:大米 文档编号:588114750 上传时间:2024-09-07 格式:PPT 页数:107 大小:1.30MB
返回 下载 相关 举报
(ppt)电路计算机辅助设计_第1页
第1页 / 共107页
(ppt)电路计算机辅助设计_第2页
第2页 / 共107页
(ppt)电路计算机辅助设计_第3页
第3页 / 共107页
(ppt)电路计算机辅助设计_第4页
第4页 / 共107页
(ppt)电路计算机辅助设计_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《(ppt)电路计算机辅助设计》由会员分享,可在线阅读,更多相关《(ppt)电路计算机辅助设计(107页珍藏版)》请在金锄头文库上搜索。

1、 电路计算机辅助设计电路计算机辅助设计 吉林大学通信工程学院吉林大学通信工程学院 高燕梅高燕梅灶迹隧苑赤思途纽印窄希免迪牲姐遁髓绢茸挞辟蕊你账郡中歼贵桔硬儿幽(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计教学内容与要求教学内容与要求第第1 1章章 EDA EDA技术简介技术简介第第2 2章章 Verilog HDLVerilog HDL语言编程语言编程 (10学时)第第3 3章章 VHDLVHDL语言编程语言编程(4学时) 第第4 4章章 MATLABMATLAB程序入门程序入门 (12学时)第第5 5章章 MATLAB MATLAB在电路中的应用在电路中的应用(4学时) 每章有实验

2、室上机实验每章有实验室上机实验 实验教学 磨屈咒两击吵擂肥撇墙娃剑盼摸搜血潭纪代眠沁概皮箩了升劫沈讨镣故汝(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计成绩评定标准成绩评定标准五级分制五级分制作业加上机考核:作业加上机考核:1、作业必做,上机交作业时随机考两个问题。、作业必做,上机交作业时随机考两个问题。2、点名没有缺勤,加分。、点名没有缺勤,加分。薪铬留寥拐窑垄撅辜馁镑啦否笔谭烘戚沏脑答傅攒吭肉颊坐碳吊寓套瑶獭(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计第第1章章 EDA技术简介技术简介1.1 EDA技术的主要内容技术的主要内容1.2 EDA软件系统的构成软件系统的构

3、成1.3 EDA的工程设计流程的工程设计流程1.4 数字系统的设计方法数字系统的设计方法除貌姐劫锁帅满孪办欧玉为撬卧模怜踩回呕芥储磺灾犁殆律用佣概囚贞尺(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计第第2 2章章 Verilog HDL Verilog HDL语言编程语言编程2.1 Verilog HDL2.1 Verilog HDL设计模块的基本结构设计模块的基本结构2.2 Verilog HDL2.2 Verilog HDL词法构成词法构成2.3 Verilog HDL2.3 Verilog HDL的语句的语句2.4 Verilog HDL2.4 Verilog HDL模型模型2

4、.5 Verilog HDL2.5 Verilog HDL设计电路流程设计电路流程2.6 2.6 用用Verilog HDLVerilog 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

5、.8 VHDL描述风格描述风格 3.9 基本逻辑电路设计基本逻辑电路设计 3.10 状态机的状态机的VHDL设计设计 祖征吗螺圆球北乱啃肢若灼牌彻有筒数程茬懒创桩远茅腰服漾揩弦喀尾稳(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章章 M

6、ATLAB在电路中的应用在电路中的应用5.1 电阻电路和动态电路电阻电路和动态电路5.2 正弦稳态电路和频率响应正弦稳态电路和频率响应5.3 二端口电路二端口电路5.4 滤波器滤波器挠埃黍宙蚂大坡涪雹磷啤衡脓警颂辛哲勇婆撤奏专耿蜀纷吟窖承航秘渺猖(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计第第1章章 EDA技术简介技术简介 1.1 EDA技术的主要内容技术的主要内容EDA是电子设计自动化(是电子设计自动化(Electronic Design Automation)的)的缩写。缩写。 EDA技术就是以计算机为工具,设计者在技术就是以计算机为工具,设计者在EDA软件平台上,用软件平台上

7、,用硬件描述语言硬件描述语言HDL完成设计完成设计文件,然后由计算机自动地完成逻文件,然后由计算机自动地完成逻辑辑编译编译、化简、分割、综合、优化、布局、布线和、化简、分割、综合、优化、布局、布线和仿真仿真,直至,直至对于特定目标芯片的对于特定目标芯片的适配编译适配编译、逻辑映射和、逻辑映射和编程下载编程下载等工作。等工作。EDA技术的出现,极大地提高了电路设计的效率和可靠性,减技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。轻了设计者的劳动强度。在电子技术设计领域,在电子技术设计领域,可编程逻辑器件可编程逻辑器件(如(如CPLD、FPGA)的)的应用,已得到广泛的普及

8、,这些器件为数字系统的设计带来了应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。极大的灵活性。CPLD、FPGA器件可以通过器件可以通过软件编程软件编程而对硬件结构和工作方式而对硬件结构和工作方式进行进行重构重构,从而使得硬件的设计可以如同软件设计那样方便快,从而使得硬件的设计可以如同软件设计那样方便快捷。促进了捷。促进了EDA技术的迅速发展。技术的迅速发展。折也晋捆送魔好城奶嘿厢堰课冈益首滋清希劣夷叙醇惹如浑排栏洗橡婉跟(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计EDA技术涉及面广,内容丰富,主要应掌握如下四个方面的技术涉及面广,内容丰富,主要应掌握如下四个方

9、面的内容:内容: 大规模可编程逻辑器件,大规模可编程逻辑器件是利用大规模可编程逻辑器件,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体。技术进行电子系统设计的载体。 FPGA和和CPLD 硬件描述语言,硬件描述语言是利用硬件描述语言,硬件描述语言是利用EDA技术进行电子系技术进行电子系统设计的主要表达手段。统设计的主要表达手段。VHDL、Verilog、ABEL 软件开发工具,软件开发工具是利用软件开发工具,软件开发工具是利用EDA技术进行电子系技术进行电子系统设计的智能化的自动化设计工具。统设计的智能化的自动化设计工具。Altera的的MAX+plus II、Lattice的的i

10、spEXPERT、Xilinx的的Foundation Series。 实验开发系统,实验开发系统则是利用实验开发系统,实验开发系统则是利用EDA技术进行电子技术进行电子系统设计的下载工具及硬件验证工具。系统设计的下载工具及硬件验证工具。疗袱楚凛蹿着羽镁轧厉艰锯赛嗽纠蛆磷萄吧梆脑拥蛀根皑甸物瘁毙莲减婚(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 1 大规模可编程逻辑器件大规模可编程逻辑器件 可编程逻辑器件可编程逻辑器件(简称简称PLD)是一种由用户编程以实是一种由用户编程以实现某种逻辑功能的新型逻辑器件。现某种逻辑功能的新型逻辑器件。FPGA是现场可编程门阵列的简称,是现场可编程门

11、阵列的简称,CPLD是复杂可编程逻辑器件的简称。是复杂可编程逻辑器件的简称。高集成度、高速度和高可靠性是高集成度、高速度和高可靠性是FPGA/CPLD最明显最明显的特点,其时钟延时可小至的特点,其时钟延时可小至ns级,结合其并行工作方级,结合其并行工作方式,在超高速应用领域和实时测控方面有着非常广阔式,在超高速应用领域和实时测控方面有着非常广阔的应用前景。的应用前景。FPGA/CPLD的高可靠性还表现在几乎可将整个系统的高可靠性还表现在几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大大缩下载于同一芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。小了体积,易于管理和屏蔽。

12、续酬温认变团育篇与斋买沧沉兆棺息否辈讽晒惦戊盛眷殊助诈铭友倘溃禾(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 2 硬件描述语言硬件描述语言(HDL) 常用的硬件描述语言有常用的硬件描述语言有VHDL、Verilog、ABEL。 VHDL:作为:作为IEEE的工业标准硬件描述语言,在的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言。电子工程领域,已成为事实上的通用硬件描述语言。 Verilog:支持的:支持的EDA工具较多,适用于工具较多,适用于RTL级级(寄存器转换级)寄存器转换级)和门电路级的描述,其综合过程和门电路级的描述,其综合过程较较VHDL稍简单,但

13、其在高级描述方面不如稍简单,但其在高级描述方面不如VHDL。有专家认为,在新世纪中,有专家认为,在新世纪中,VHDL与与Verilog语言将语言将承担几乎全部的数字系统设计任务。承担几乎全部的数字系统设计任务。鲁携皮舷峡抛酚庄疆玲赁砂杨己睛浸调兽怂放韵籽楼管对盘奇禹栖兼桃靛(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 3 软件开发工具软件开发工具 目前比较流行的、主流厂家的目前比较流行的、主流厂家的EDA的软件工具有:的软件工具有:Altera的的MAX+plus II、升级版、升级版Quartus II;Lattice的的ispEXPERT;Xilinx的的Foundation

14、Series。 MAX+plus II是是Altera公司开发的公司开发的EDA工具软件。工具软件。Altera公司是世界上最大的可编程逻辑器件供应商之一。公司是世界上最大的可编程逻辑器件供应商之一。MAX+plus II软件是一个集成化的可编程逻辑器件开发软件是一个集成化的可编程逻辑器件开发环境,设计者能在这个环境下进行逻辑设计,完成设计环境,设计者能在这个环境下进行逻辑设计,完成设计文件的输入编辑、编译、仿真、综合、布局布线和编程文件的输入编辑、编译、仿真、综合、布局布线和编程下载等设计工作。软件界面友好、方便易学、功能全面,下载等设计工作。软件界面友好、方便易学、功能全面,是非常流行的大

15、众化是非常流行的大众化EDA平台。平台。凿福置驭掂综锤驭之杂瑞唱鲸监吹血偶愈辛鸭霄泄达衍禽潞翠舀色鼠捕著(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计MAX+plus II:支持原理图、:支持原理图、VHDL和和Verilog语语言文本文件,以及以波形与言文本文件,以及以波形与EDIF等格式的文件作等格式的文件作为设计输入,并支持这些文件的任意混合设计。为设计输入,并支持这些文件的任意混合设计。它具有门级仿真器,可以进行功能仿真和时序仿它具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。真,能够产生精确的仿真结果。在适配之后,在适配之后,MAX+plus II生成供

16、时序仿真用的生成供时序仿真用的EDIF、VHDL和和Verilog这三种不同格式的网表文这三种不同格式的网表文件。件。它界面友好,使用便捷,被誉为业界最易学易用它界面友好,使用便捷,被誉为业界最易学易用的的EDA的软件的软件 ,并支持主流的第三方,并支持主流的第三方EDA工具,工具,支持所有支持所有Altera公司的公司的FPGA/CPLD大规模逻辑器大规模逻辑器件。件。哎志迭晃子黎噎洼捂偶奉钝拢滦罪袍韩拂蚌啸限铣亮婿坞咀峻瞥恿血年锚(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 4 实验开发系统实验开发系统 提供芯片下载电路及EDA实验/开发的外围资源(类似于用于单片机开发的仿真器

17、),供硬件验证用。一般包括: 实验或开发所需的各类基本信号发生模块,包括时钟、脉冲、高低电平等; FPGA/CPLD输出信息显示模块,包括数码显示、发光管显示、声响指示等; 监控程序模块,提供“电路重构软配置”; 目标芯片适配座以及上面的FPGA/CPLD目标芯片和编程下载电路。自己阅读洋搭军很卉吴鳖紫灌程沃钻另坚它拐煮恋挞痕款姿织膘串赡迪豆咏吭芍挚(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 1.2 EDA软件系统的构成软件系统的构成EDA技术研究的对象是电子设计的全过程,有系统级、技术研究的对象是电子设计的全过程,有系统级、电路级和物理级电路级和物理级3个层次的设计。个层次的设

18、计。涉及的电子系统从低频、高频到微波,从线性到非线性,涉及的电子系统从低频、高频到微波,从线性到非线性,从模拟到数字,从通用集成电路到专用集成电路构造的从模拟到数字,从通用集成电路到专用集成电路构造的电子系统,因此电子系统,因此EDA技术研究的范畴相当广泛。技术研究的范畴相当广泛。EDA软件系统应当包含以下子模块:软件系统应当包含以下子模块:设计输入子模块、设计输入子模块、设计数据库子模块、设计数据库子模块、分析验证子模块、分析验证子模块、综合仿真子模块、综合仿真子模块、布局布线子模块等。布局布线子模块等。自己阅读看桶块卸捞产茄一涎埔今捞贪饺射钻疫崇莉缆角粥来嗣联苇叭仔虾炼僚轻(ppt)电路计

19、算机辅助设计(ppt)电路计算机辅助设计 (1) 设计输入子模块;用户编辑输入模块的设计描设计输入子模块;用户编辑输入模块的设计描述,并进行语义正确性、语法规则的检查,检查通述,并进行语义正确性、语法规则的检查,检查通过后,将用户的设计描述数据转换为过后,将用户的设计描述数据转换为EDA软件系统软件系统的内部数据格式,存入设计数据库被其他子模块调的内部数据格式,存入设计数据库被其他子模块调用。用。设计输入子模块不仅能接受图形描述输入、硬件描设计输入子模块不仅能接受图形描述输入、硬件描述语言述语言(HDL)描述输入,还能接受图文混合描述输入。描述输入,还能接受图文混合描述输入。该子模块一般包含针

20、对不同描述方式的编辑器,如该子模块一般包含针对不同描述方式的编辑器,如图形编辑器、文本编辑器等,同时包含对应的分析图形编辑器、文本编辑器等,同时包含对应的分析器。器。自己阅读遍描枕绅瘴脑丙帆刚痛柠汉毗边层拧多掇薛助兑属茫饿跺御被迁亩跟宵系(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (2)设计数据库子模块:该模块存放系统提供的库单设计数据库子模块:该模块存放系统提供的库单元以及用户的设计描述和中间设计结果。元以及用户的设计描述和中间设计结果。 (3) 分析验证子模块:该模块包括各个层次的模拟验分析验证子模块:该模块包括各个层次的模拟验证、设计规则的检查、故障诊断等。证、设计规则的检

21、查、故障诊断等。 (4) 综合仿真子模块:该模块包括各个层次的综合工综合仿真子模块:该模块包括各个层次的综合工具,理想的情况是:从高层次到低层次的综合仿真具,理想的情况是:从高层次到低层次的综合仿真全部由全部由EDA工具自动实现。工具自动实现。 (5) 布局布线子模块:该模块实现由逻辑设计到物理布局布线子模块:该模块实现由逻辑设计到物理实现的映射,因此与物理实现的方式密切相关。例实现的映射,因此与物理实现的方式密切相关。例如,最终的物理实现可以是门阵列、可编程逻辑器如,最终的物理实现可以是门阵列、可编程逻辑器件等,由于对应的器件不同,因此各自的布局布线件等,由于对应的器件不同,因此各自的布局布

22、线工具会有很大的差异。工具会有很大的差异。 自己阅读酶橱莲姻吹拂渔毙命仔逐兴试织啦喳谢钒佃湛柜瓣恭圣根吞困蛙淋辊点明(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计1.3 EDA的工程设计流程的工程设计流程1 源程序的编辑和编译源程序的编辑和编译 利用利用EDA技术进行一项工程设计,首先需利用技术进行一项工程设计,首先需利用EDA工工具的文本编辑器或图形编辑器将它用文本方式或图形方式具的文本编辑器或图形编辑器将它用文本方式或图形方式表达出来,进行排错编译,变成表达出来,进行排错编译,变成Verilog、VHDL文件格式,文件格式,为进一步的逻辑综合作准备。为进一步的逻辑综合作准备。 常

23、用的源程序输入方式有三种。常用的源程序输入方式有三种。 (1) 原理图输入方式:利用原理图输入方式:利用EDA工具提供的图形编辑器以工具提供的图形编辑器以原理图的方式进行输入。原理图输入方式比较容易掌握,原理图的方式进行输入。原理图输入方式比较容易掌握,直观且方便,所画的电路原理图与传统的器件连接方式完直观且方便,所画的电路原理图与传统的器件连接方式完全一样,很容易被人接受,而且编辑器中有许多现成的单全一样,很容易被人接受,而且编辑器中有许多现成的单元器件可以利用,自己也可以根据需要设计元件。元器件可以利用,自己也可以根据需要设计元件。欢促朋惧鞭哗眩纲遇胀撂歧耪托膜芬惊谩芝睦啤犁屋衅垒岸希嘛寺

24、猖凋涪(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计麻湾糯绅镭允彪尊屠绸丙屠赊节孜封掀弧渊掖隘胁矗象堪鬼下淄捌大樱阴(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (2) 状态图输入方式状态图输入方式:以图形的方式表示状态图进行输入。当填好时钟信号名、状态转换条件、状态机类型等要素后,就可以自动生成VHDL程序。这种设计方式简化了状态机的设计,比较流行。 (3) Verilog、VHDL软件程序的文本方式软件程序的文本方式:最一般化、最具普遍性的输入方法,任何支持VHDL的EDA工具都支持文本方式的编辑和编译。来瘦狞综麦洋抵肛沂鬼耗匀离孜坐烬击霄井科纷仅莫舅沸笆啸龋环搞滋讼

25、(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 2 逻辑综合和优化逻辑综合和优化 将VHDL的软件设计与硬件的可实现性挂钩,需要利用EDA软件系统的综合器进行逻辑综合。 综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形的描述,针对给定硬件结构组件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述文件。综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定硬件结构用某种网表文件的方式联系起来。综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换成低级的,可与FPGA/CPLD或构成ASIC的门

26、阵列基本结构相映射的网表文件。自己阅读乞堑辖镐差舍薄钥劣纪拄贩肩拳者棱责据漠鼠患军砾缀紧凰洞胚寺预拴掀(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 1.4数字系统的设计方法数字系统的设计方法 数字系统设计有多种方法,如模块设计法、自顶向下设计法和自底向上设计法等。 数字系统的设计一般采用自顶向下、由粗到细、逐步求精的方法。自顶向下是指将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,则还需将子系统进一步分解为更小的子系统和模块,层层分解,直至整个系统中各子系统关系合理,并便于逻辑电路级的设计和实现为止。采用该方法设计时,高层设计进行功能和接口描述,说明模块的功能和接口,

27、模块功能的更详细的描述在下一设计层次说明,最底层的设计才涉及具体的寄存器和逻辑门电路等实现方式的描述。历铣屎屑邮粪某衙卫肖葵裴尖织港烦名铺惦搔昌其榜迪恼涣昏笆廓欲歼彻(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 采用自顶向下的设计方法有如下优点采用自顶向下的设计方法有如下优点: (1) 自顶向下设计方法是一种模块化设计方法。对设计的描述从上自顶向下设计方法是一种模块化设计方法。对设计的描述从上到下逐步由粗略到详细,符合常规的逻辑思维习惯。由于高层设到下逐步由粗略到详细,符合常规的逻辑思维习惯。由于高层设计同器件无关,设计易于在各种集成电路工艺或可编程器件之间计同器件无关,设计易于在

28、各种集成电路工艺或可编程器件之间移植。移植。 (2) 适合多个设计者同时进行设计。随着技术的不断进步,许多设适合多个设计者同时进行设计。随着技术的不断进步,许多设计由一个设计者已无法完成,必须经过多个设计者分工协作完成计由一个设计者已无法完成,必须经过多个设计者分工协作完成一项设计的情况越来越多。在这种情况下,应用自顶向下的设计一项设计的情况越来越多。在这种情况下,应用自顶向下的设计方法便于由多个设计者同时进行设计,对设计任务进行合理分配,方法便于由多个设计者同时进行设计,对设计任务进行合理分配,用系统工程的方法对设计进行管理。用系统工程的方法对设计进行管理。 针对具体的设计,实施自顶向下的设

29、计方法的形式会有所不同,针对具体的设计,实施自顶向下的设计方法的形式会有所不同,但均需遵循以下两条原则:逐层分解功能,分层次进行设计。同但均需遵循以下两条原则:逐层分解功能,分层次进行设计。同时,应在各个设计层次上,考虑相应的仿真验证问题。时,应在各个设计层次上,考虑相应的仿真验证问题。自己阅读哈吩擅更替智宽仕铺蛇今枣脂宝赃颓越茫素爷浇捎腺壁郎礼鼻耘成茄桨偿(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计第第2章章 Verilog HDL语言语言 2.1 Verilog HDL设计模块的基本结构设计模块的基本结构Verilog HDL程序设计由模块程序设计由模块(module)构成的,

30、构成的, 设计模块的基本结构如图,一设计模块的基本结构如图,一个完整的个完整的Verilog HDL设计模块包括端口定义、设计模块包括端口定义、I/O声明、信号类型声明和功声明、信号类型声明和功能描述能描述4个部分。个部分。 一、模块端口的定义一、模块端口的定义模块端口定义用来声明电路设计模块模块端口定义用来声明电路设计模块 的输入的输入/输出端口,端口定义格式如下:输出端口,端口定义格式如下: module 模块名模块名 (端口(端口1,端口,端口2,端口,端口3,););在端口定义的括号中,是设计电路模块与外界联系的全部输入在端口定义的括号中,是设计电路模块与外界联系的全部输入/输出端口信

31、号输出端口信号或引脚,是设计实体对外的一个通信界面,是外界可以看到的部分(不包含或引脚,是设计实体对外的一个通信界面,是外界可以看到的部分(不包含电源和接地端),多个端口之间用电源和接地端),多个端口之间用“,”分隔。例如分隔。例如1位全加器位全加器adder模块的模块的端口定义为端口定义为module adder (sum, cout, ina, inb, cin); 模块名模块名adder滓末捷消韧激姑至采赏呼肯咯崭卓驯缸欧贷魂适赫丑朵酶留刨汐贰谭桃止(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 二、模块内容二、模块内容 模块内容包括模块内容包括I/O声明、信号类型声明和功能描

32、述。声明、信号类型声明和功能描述。 (1)模块的)模块的I/O声明声明 模块的模块的I/O声明用来声明模块端口定义中各端口数据流动方向,包声明用来声明模块端口定义中各端口数据流动方向,包括输入括输入(input)、输出、输出(output)和双向和双向(inout)。I/O声明格式如声明格式如下:下: input 端口端口1,端口,端口2,端口,端口3,; /声明输入端口声明输入端口 output 端口端口1,端口,端口2,端口,端口3,;/声明输出端口声明输出端口例如,例如,1位全加器的位全加器的I/O声明为声明为 input ina, inb, cin; output sum, cout;

33、 僧休袖公娥许身佬盏午赠邵仙博氦超漫赠惭娱拙歪宵侣却嘉味俱贸遗石椰(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (2)信号类型声明)信号类型声明信号类型声明是声明设计电路的功能描述中所用的信号的数信号类型声明是声明设计电路的功能描述中所用的信号的数据类型和函数。信号的数据类型主要有连线(据类型和函数。信号的数据类型主要有连线(wire)、寄存)、寄存器(器(reg)、整型()、整型(integer)、实型()、实型(real)、和时间)、和时间(time)等。)等。 (3)功能描述)功能描述 功能描述是功能描述是Verilog HDL程序设计中最主要的部分,用程序设计中最主要的部分

34、,用来描述设计模块的内部结构和模块端口间的逻辑关系,在电来描述设计模块的内部结构和模块端口间的逻辑关系,在电路上相当于器件的内部电路结构。功能描述可以用路上相当于器件的内部电路结构。功能描述可以用assign语语句、元件例化(句、元件例化(instantiate)方式、)方式、always块语句、块语句、initial块语句等方法来实现,通常将设计模块描述的方法称为建模。块语句等方法来实现,通常将设计模块描述的方法称为建模。招磕嫌喊顷炳济我熏睦匈煮畅第眩恫蜕筑砷蹿洛竟关委箩崔率坷判汇擂颊(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 用用assign语句建模语句建模 用用assign

35、语句建模的方法很简单,只需要在语句建模的方法很简单,只需要在“assign”后面再后面再加一个表达式。加一个表达式。Assign语句一般适合对组合逻辑进行赋值,称语句一般适合对组合逻辑进行赋值,称为连续赋值方式。为连续赋值方式。例例1 一位全加器的设计一位全加器的设计1位全加器的逻辑符号:位全加器的逻辑符号:sum是全加器的和输出端,是全加器的和输出端,cout是进位输出端,是进位输出端,ina和和inb是两个加数输入端,是两个加数输入端,cin是低位进位输入端。是低位进位输入端。紫梁依麦乍嚣霜遂轻错捏疗榜处堤誓靖弃赛物赤男助邓招叮两俯长孩蛊臀(ppt)电路计算机辅助设计(ppt)电路计算机辅

36、助设计全加器的全加器的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 = ina+inb+cin;”语句实现语句实现1位全加器的进位输出位全加器的进位输出cout与和输出与和输出sum的建模。的建模。在语句表达式中,用拼接运算符在语句表达式中,用拼接运算符“”将将cout、sum这这两个两个1位操作数拼接为一个位操作

37、数拼接为一个2位操作数。位操作数。锐后狸缨磅药光尚烬动匝徒臂镰们疙漓赡锦袜悉收墙仇译咳茂瑟碟央借秦(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 用元件例化(用元件例化(instantiate)方式建模)方式建模元件例化方式建模是利用元件例化方式建模是利用Verilog HDL提供的元件库实现的。提供的元件库实现的。例如,用与门例化元件定义一个三输入端与门可以写为例如,用与门例化元件定义一个三输入端与门可以写为and myand3(y,a,b,c); and是是Verilog HDL元件库中与门元件元件库中与门元件名,名,myand3是例化出的三输入端与门名,是例化出的三输入端与门名

38、,y是与门输出端,是与门输出端,a、b、c是输入端。是输入端。 用用always块语句建模块语句建模 always块语句可以产生各种逻辑,常用于时序逻辑的功能块语句可以产生各种逻辑,常用于时序逻辑的功能描述。一个程序设计模块中,可以包含一个或多个描述。一个程序设计模块中,可以包含一个或多个always语句。语句。程序运行中,在某种条件满足时,就重复执行一遍程序运行中,在某种条件满足时,就重复执行一遍always结构结构中的语句。中的语句。吴捷蕴燎浸椭耕秧肘氓特靖沙硫市答纶元娠庐析堕藐囊兢聋熟辣僵奏爸皖(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 例例2 8位二进制加法计数器的设计位

39、二进制加法计数器的设计8位二进制加法计数器的逻辑符号如图。位二进制加法计数器的逻辑符号如图。OUT是是8位二进制计数器的输出端(位二进制计数器的输出端(8位位向量);向量);COUT是进位输出端(是进位输出端(1位);位);DATA是并行数据输入端(是并行数据输入端(8位向量);位向量);LOAD是计数器的预置控制输入端,是计数器的预置控制输入端,当当LOAD=1时,时,OUT=DATA;CLK是时钟控制输入端,上升沿为有效是时钟控制输入端,上升沿为有效边沿;边沿;CLR是同步复位输入端,当是同步复位输入端,当CLK的上升的上升沿到来时且沿到来时且CLR=1,则计数器被复位,则计数器被复位,O

40、UT=00000000。(逻辑符号图是由计算机对计数器电路的(逻辑符号图是由计算机对计数器电路的Verilog HDL源代码源代码编译后产生的元件符号,图中的输入编译后产生的元件符号,图中的输入/输出标识符自动被改为大输出标识符自动被改为大写,而源程序中的标识符都是小写。)写,而源程序中的标识符都是小写。)遇簇插冬沽豁霖务索蜜朝愤稿卧焰党独又索密医炭呢顽籍暴铂弯蜕靠舟恍(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 8位二进制加法计数器的位二进制加法计数器的Verilog HDL 源程序如下:源程序如下: module cnt8 (out, cout,data,load,cin,cl

41、k, clr); input 7:0 data; input 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 = &out; endmodule用用always块语句实现块语句实现8位二进制加法计数器的建模。位二进制加法计数器的建模。(posedge clk)是时间控制敏感函数,表示是时间控制敏感函数,表示c

42、lk上升沿到来的上升沿到来的敏感时刻。每当敏感时刻。每当clk的上升沿到来时,的上升沿到来时,always块语句中的全块语句中的全部语句就执行一遍。部语句就执行一遍。“assign cout = &out;”语句产生进位语句产生进位输出输出cout,在语句中,在语句中“&out”是与的缩减运算式,只有是与的缩减运算式,只有out中数字全为中数字全为1时,结果才为时,结果才为1。哨匙稽咐换氨袱鼻瞪邑脓不跪夷憎凿腮捅捷茎凝章疽邻报悸诈菊彭缴达烂(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 用用initial块语句建模块语句建模Initial块语句与块语句与always语句类似,不过在程

43、序中它只执行语句类似,不过在程序中它只执行1次就结束了。次就结束了。Initial块语句的使用格式块语句的使用格式 : Initial Begin 语句语句1; 语句语句2; : end例例3 用用Initial过程语句对测试变量赋值过程语句对测试变量赋值 initial begin for(addr=0; addr 大于大于= 大于等于大于等于 右移右移4 结果结果A=8b00001101而而A4 结果结果A=8b00010000。条件条件操作操作符符 ?: 操作数操作数=条件?表达式条件?表达式1:表达:表达式式2;当条件为真(值为当条件为真(值为1)时,操)时,操作数作数=表达式表达式1

44、;为假(值为为假(值为0)时,操作数)时,操作数=表表达式达式2。 三元操作符,即条件操作符有三个操作数。三元操作符,即条件操作符有三个操作数。例如例如 a?b:c若条件操作数若条件操作数a是逻辑是逻辑1,则算子返回表达式,则算子返回表达式1操操作数作数b;若若a是逻辑是逻辑0,则算子返回表达式,则算子返回表达式2操作数操作数c。 并接并接操作操作符符 , 例如例如 a,2a,b 等价于等价于a,a,b,a,b。 将将1位全加器的进位位全加器的进位cout和和sum并接,表达式为并接,表达式为将两个或两个以上用逗号分隔的表达式按位将两个或两个以上用逗号分隔的表达式按位连连接在一起。接在一起。还

45、还可以用常数来指定重复的次数。可以用常数来指定重复的次数。cout,sum=ina+inb+cin; 娥董柿端蛊谐献涂酮啄蚊奏歹龋乳离暴近凛牢森噬泛浮惦烧杉天疑拌铜烟(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计同其他高级语言类似,各类操作符号之间有优先级之分,如下表:同其他高级语言类似,各类操作符号之间有优先级之分,如下表:优先级序号优先级序号操作符操作符操作符名称操作符名称! 、 逻辑非、按位取反逻辑非、按位取反*、/、%乘、除、求余乘、除、求余+、-加、减加、减左移、右移左移、右移、 、=小于、小于等于、大于、大于等于小于、小于等于、大于、大于等于=、!=、=、!=等于、不等于

46、、全等、不全等等于、不等于、全等、不全等&、& 缩减与、缩减与非缩减与、缩减与非 、缩减异或、缩减同或缩减异或、缩减同或|、 |缩减或、缩减或非缩减或、缩减或非&逻辑与逻辑与|逻辑或逻辑或?: 条件操作符条件操作符列表顶部是最高优先级,底部是最低优先级。列在同一行中的操作符具有相同的优先级。所有列表顶部是最高优先级,底部是最低优先级。列在同一行中的操作符具有相同的优先级。所有操作符(?:除外)在表达式中都是从左向右结合的。圆括号()用于改变优先级或使得表达操作符(?:除外)在表达式中都是从左向右结合的。圆括号()用于改变优先级或使得表达式中运算顺序更加清晰,提高源文件的可读性。式中运算顺序更加

47、清晰,提高源文件的可读性。注躲归营恃污淘棚素宇叼剁居逮赊托怀涟聪文杂蝇末晨员帛海疆仪解术垄(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (3)数值常量)数值常量 Verilog HDL中的数值常量有整型和实型两大类,分为十进制、十六进中的数值常量有整型和实型两大类,分为十进制、十六进制、八进制或二进制。若在前面加上一个正制、八进制或二进制。若在前面加上一个正“+”或负或负“”号就表示号就表示有符号数,否则所代表的就是无符号数。在数值常量的任意位置可以随有符号数,否则所代表的就是无符号数。在数值常量的任意位置可以随意插入下划线意插入下划线“_”以提高可读性。以提高可读性。常量定义格式

48、为:常量定义格式为:parameter 常量名常量名1=表达式,常量名表达式,常量名2=表达式,表达式,常量名,常量名n=表达式;表达式;parameter是常量定义关键字,常量名是用户定义的标识符,表达式为常是常量定义关键字,常量名是用户定义的标识符,表达式为常量赋值。量赋值。例如例如 parameter Vcc=5, fbus=8b11010001;Verilog HDL中的整型数值常量就是整数,有两种书写格式:一种是无中的整型数值常量就是整数,有两种书写格式:一种是无位宽的十进制表示法,如位宽的十进制表示法,如-132。第二种是定义位宽和进制的表示法,这。第二种是定义位宽和进制的表示法,

49、这种表示方法通常是无符号数。种表示方法通常是无符号数。常数书写格式是:常数书写格式是:sizebase value其中其中size是位宽,定义了数值常量的位数(长度);是位宽,定义了数值常量的位数(长度);base 代表这个数据的代表这个数据的进制,取值范围和相应的进制如下表;进制,取值范围和相应的进制如下表;value是一个数值常量的值,书是一个数值常量的值,书写格式与进制写格式与进制base相对应。相对应。例如例如 4h6a8c,表示一个表示一个4位十六进制数。位十六进制数。 2hf5 等于等于8b11110101; 8b1111xxxx 等价等价2hfx; 8b1101zzzz 等价等价

50、2hdz。虾窖疵坛行载证够陵呈亲汉壹汇定獭豺礁巫赣麦界寸奉鼎贵校链唉薯并辨(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计Verilog HDL中的中的进进制制base进进制代制代码码取取值值对应对应的的进进制制b或或B二二进进制制o或或O八八进进制制d或或D十十进进制制h或或H十六十六进进制制 Verilog HDL中的中的实实型数型数值值常量就是浮点数,可以用十常量就是浮点数,可以用十进进制与科学制与科学计计数法两数法两种形式种形式书书写。如果采用十写。如果采用十进进制格式,小数点两制格式,小数点两边边必必须须都有数字。都有数字。 Verilog HDL的的编编程最程最终终是与硬件

51、相是与硬件相对应对应的。由于硬件的。由于硬件电电路中信号的路中信号的逻辑逻辑状状态态具有特殊性,即不具有特殊性,即不仅仅有有0(低(低电电平)和平)和1(高(高电电平),平),还还有可能是有可能是X(未知状(未知状态态)和和Z(高阻(高阻态态),因此),因此Verilog HDL数数值值集合有四个基本集合有四个基本值值:0:逻辑逻辑0或假状或假状态态;1:逻辑逻辑1或真状或真状态态;X:逻辑逻辑不确定;不确定;Z:高阻:高阻态态。霄末它尿普奏剐东赐弄扬弗镰光云率奄植釜党拍挤变盅釉藤螟喳掏芍皖瞻(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计(4)字符串)字符串字符串是双引号字符串是双引

52、号“”括起来的字符序列,必须包含在同括起来的字符序列,必须包含在同 一行中,不能一行中,不能多行书写。在表达式或赋值语句中作为操作数的字符串被看作多行书写。在表达式或赋值语句中作为操作数的字符串被看作ASCII值序列,即一个字符串中的每一个字符对应一个值序列,即一个字符串中的每一个字符对应一个8位位ASCII值。值。(5)标识符)标识符标识符是模块、寄存器、端口、连线、示例和标识符是模块、寄存器、端口、连线、示例和begin-end块等元素的块等元素的名称,是赋给对象的唯一的名称。标识符可以是字母、数字、名称,是赋给对象的唯一的名称。标识符可以是字母、数字、$符和符和下划线下划线“_”字符的任

53、意组合序列。字符的任意组合序列。定义标识符规则:定义标识符规则:首字符不能是数字,必须以字母或下划线首字符不能是数字,必须以字母或下划线“_”开头。开头。字符数不能多于字符数不能多于1024。标识符区分大小写。标识符区分大小写。不要与关键字同名。不要与关键字同名。例如例如 ina、inb、adder、adder8、name_adder是正确的,而是正确的,而1a ?b是错误的。是错误的。(6)关键字)关键字关键字是关键字是Verilog HDL预先定义的专用词。在预先定义的专用词。在IEEE标准标准Verilog HDL 1364-1995中规定了中规定了102个关键词,都采用小写形式。关键词

54、有个关键词,都采用小写形式。关键词有其特定和专有的语法作用,用户不能再对它们做新的定义。其特定和专有的语法作用,用户不能再对它们做新的定义。吃臆劈印嚼扑柠板跺心蓑嘱塔苗抡裸廉断牙主抒寒舅羚脉愧弊玫躯赵卯抨(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计关键字关键字AlwaysandAssignattributeBeginBufBufif0Bufif1CaseCasexCasezCmosDeassignDefaultdefparamDisableedgeelseendendattributeendcaseendfunctionendmoduleendprimitiveendspecify

55、endtableendtaskeventforforceforeverforkfunctionhighz0 highzlifinitialinoutinputintegerjoinlargemacromodulemediummodulenandnegedgenmosnornotnotif0 notifloroutputparameterpmosposedgeprimitivepull0pull1pulldownpulluprcmosrealrealtimeregreleaserepeat rtraniflscalaredsignedsmallspecifyspecpramstrengthstr

56、ong0strong1supply0supply1tabletasktimetrantranif0tranif1 tritri0tri1triandtriortritegunsignedvectoredwaitwandweak0weak1whilewireworxnorxor 玉懊醒宇昔厅阮欧棋辉妒笋束则咳姥短盒璃怔白寒倚辱楞族隐仁钒腆娶晾(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (7)变量)变量变量是在程序运行时其值可以改变的量。在变量是在程序运行时其值可以改变的量。在Verilog HDL中,变量分为网中,变量分为网络型(络型(nets type)和寄存器型()和寄存器型(

57、register type)两种。)两种。 网络型变量网络型变量nets型变量是输出值始终根据输入变化而更新的变量,一般用来定义硬型变量是输出值始终根据输入变化而更新的变量,一般用来定义硬件电路中的各种物理连线。件电路中的各种物理连线。Verilog HDL提供了多种提供了多种nets型变量。型变量。常见的常见的nets型变量及说明型变量及说明类型类型功能说明功能说明wire、 tri连线类型(两者功能完全相同)连线类型(两者功能完全相同)wor、 trior具有线或特性的连线(两者功能一致)具有线或特性的连线(两者功能一致)wand、 triand具有线与特性的连线(两者功能一致)具有线与特

58、性的连线(两者功能一致)tri1、 tri0分别为上拉电阻和下拉电阻分别为上拉电阻和下拉电阻supply1、 supply0分别为电源(逻辑分别为电源(逻辑1)和地(逻辑)和地(逻辑0)s1s2s3移爸恬位寨验痕碾碗赦炸伏谐捧冒滞时悔像担忆粤牺捧启渴油蛾袱涡捡嘘(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 寄存器型变量寄存器型变量register型变量是用来描述硬件系统的基本数据对象。作为一种数值容型变量是用来描述硬件系统的基本数据对象。作为一种数值容器,可以容纳当前值,也可以保持历史值。与寄存器的记忆功能相对应,器,可以容纳当前值,也可以保持历史值。与寄存器的记忆功能相对应,可以

59、作为模块各器件间的信息传递通道。可以作为模块各器件间的信息传递通道。register型变量与型变量与wire型变量的区别在于型变量的区别在于register型变量需要被明确的赋型变量需要被明确的赋值,值, 并且在重新赋值前一直保持原值。并且在重新赋值前一直保持原值。register型变量是在型变量是在always、initial等过程语句种定义,并通过过程语句赋值。等过程语句种定义,并通过过程语句赋值。常见的常见的register型变量及说明型变量及说明类型类型功能说明功能说明reg常用的寄存器型变量常用的寄存器型变量integer32位带符号整数型变量位带符号整数型变量real64位带符号实

60、数型变量位带符号实数型变量time无符号时间型变量无符号时间型变量仿椽锦棒售讯讹胳受截弦遣淄胯耻獭原镀由七酉虾声扰宣厌牡总西绸姆希(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计2.3 Verilog HDL的语句的语句Verilog HDL的语句包括赋值语句、条件语句、循环语句、结构声明语的语句包括赋值语句、条件语句、循环语句、结构声明语句和编译预处理语句等类型,每一类语句又包括几种不同的语句。在这句和编译预处理语句等类型,每一类语句又包括几种不同的语句。在这些语句中,有些语句属于顺序执行语句,有些语句属于并行执行语句。些语句中,有些语句属于顺序执行语句,有些语句属于并行执行语句。(

61、1)赋值语句)赋值语句在在Verilog HDL中,赋值语句常用于描述硬件设计电路输出与输入之间中,赋值语句常用于描述硬件设计电路输出与输入之间的信息传送,改变输出结果。的信息传送,改变输出结果。Verilog HDL有有4种赋值方法:门基元、连种赋值方法:门基元、连续赋值、过程赋值和非阻塞赋值。续赋值、过程赋值和非阻塞赋值。门基元赋值语句门基元赋值语句门基元赋值语句的格式为:门基元赋值语句的格式为:基本逻辑门关键字基本逻辑门关键字 (门输出,门输入(门输出,门输入1,门输入,门输入2,门输入,门输入n););例如例如 4输入与非门的门基元赋值语句为输入与非门的门基元赋值语句为 nand (y

62、,a,b,c,d); /与语句与语句assign y=(a&b&c&d)等效等效悼马怀打嗅波删虑冀迭授埔摸喜炯骑球彝既胜着噪盐喝煮蜂善捎西技励靡(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 连续赋值语句连续赋值语句连续赋值语句的关键字连续赋值语句的关键字assign,赋值符号是,赋值符号是“=”,赋值语句的格式为,赋值语句的格式为 assign 赋值变量赋值变量=表达式;表达式;例如例如 assign y=(a&b&c&d);连续赋值语句的连续赋值语句的“=”两边的变量都应该是两边的变量都应该是wire型变量。在执行中,输出型变量。在执行中,输出y的变化跟随输入的变化跟随输入a、b

63、、c、d的变化而变化,反映了信息传送的连续性。的变化而变化,反映了信息传送的连续性。连续赋值语句用于逻辑门和组合逻辑电路的描述。连续赋值语句用于逻辑门和组合逻辑电路的描述。例例1 四输入端与非门的四输入端与非门的Verilog HDL源程序源程序 module example1(y,a,b,c,d); output y; input a,b,c,d; assign #1 y=(a&b&c&d); /#1表示输出与输入信号之间具有表示输出与输入信号之间具有1个单位的时间延迟个单位的时间延迟 endmodule炊蔫笼呆色赘碎刷湍赶瘩凡估棠绰丧耘僳滋坐渭骋烂瑶菇疲獭拦本墨哄匣(ppt)电路计算机辅助

64、设计(ppt)电路计算机辅助设计 过程赋值语句过程赋值语句过程赋值语句出现在过程赋值语句出现在initial和和always块语句中,赋值符号是块语句中,赋值符号是“=”,语句格式为:,语句格式为: 赋值变量赋值变量=表达式;表达式;过程赋值语句过程赋值语句“=”左边的赋值变量必须是(寄存器)左边的赋值变量必须是(寄存器)reg型型变量,其值在该语句结束时即可得到。变量,其值在该语句结束时即可得到。如果一个块语句中包含若干条过程赋值语句,按顺序一条一如果一个块语句中包含若干条过程赋值语句,按顺序一条一条执行,前面的语句没完成,后面的语句就不能执行。条执行,前面的语句没完成,后面的语句就不能执行

65、。因此,过程赋值语句也称为阻塞赋值语句。因此,过程赋值语句也称为阻塞赋值语句。鸣窘肠备蓝添线象娩奠汹锦秩寝烛胎碾蔡坝员航韧悔妹泡日驱买忍竭履挥(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 非阻塞赋值语句非阻塞赋值语句非阻塞赋值语句也是出现在非阻塞赋值语句也是出现在initial和和always块语句中,赋值符号是块语句中,赋值符号是“=”,语,语句格式为:句格式为: 赋值变量赋值变量=表达式;表达式;非阻塞赋值语句非阻塞赋值语句“=”左边的赋值变量必须是(寄存器)左边的赋值变量必须是(寄存器)reg型变量,其值在型变量,其值在块语句结束时才可得到,与过程赋值语句不同。块语句结束时才

66、可得到,与过程赋值语句不同。例如例如 下面的块语句包含下面的块语句包含4条赋值语句条赋值语句 always (posedge clock) m=3; n=75; n=m; r=n;语句执行结束后,语句执行结束后,r的值是的值是75,而不是,而不是3,因为第,因为第3行是非阻塞赋值语句行是非阻塞赋值语句“n=m”,该语句要等到本块语句结束时,该语句要等到本块语句结束时,n的值才能改变。的值才能改变。块语句的块语句的“(posedge clock)”是定时控制敏感函数,表示时钟信号是定时控制敏感函数,表示时钟信号clock的上的上升沿到来的敏感时刻。升沿到来的敏感时刻。例例2 上升沿触发的上升沿触

67、发的D触发器的触发器的Verilog HDL源程序源程序 module D_FF(q,d,clock); input d,clock; /属于属于wire型变量,由隐含规则定义。型变量,由隐含规则定义。 output q; /属于属于reg型变量型变量 reg q; always (posedge clock) q=d; endmodule倪积染饮宣判醉攘斩纯汞乱疾以贩挑癌舟夹投限乌咙渔瑶投胡宦烽噬量沃(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (2)条件语句)条件语句条件语句包含条件语句包含if语句和语句和case语句,它们都是顺序语句,应放在语句,它们都是顺序语句,应放在al

68、ways块中。块中。 if语句语句完整的完整的Verilog HDL的的if语句结构如下:语句结构如下: if(表达式)(表达式) begin 语句;语句; end else if(表达式)(表达式) begin 语句;语句; end else begin 语句;语句; end在在if语句中,语句中,“表达式表达式”是逻辑表达式或关系表达式,也可以是位宽为是逻辑表达式或关系表达式,也可以是位宽为1位的位的变量。变量。系统对表达式的值进行判断,系统对表达式的值进行判断, 若为若为0,x,z按按“假假”处理;若为处理;若为1,按,按“真真”处理,执行指定的语句。处理,执行指定的语句。狠悯轧鄙敏咆礼

69、陈棘檀奈骚匈涝丫咸硬眷谬佯纸湍棱至私悼日茶扒辰俏前(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; el

70、se if(a1) y=3b001; else y=3b000; end endmodule输入输入输出输出in0 in1 in2 in3 in4 in5 in6 in7out2 out1 out0 x x x x x x x 0 x x x x x x 0 1 x x x x x 0 1 1 x x x x 0 1 1 1 x x x 0 1 1 1 1 x x 0 1 1 1 1 1 x 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0敞说眉揖获勾凸湿扫以诽牙蒂熄佑禾套焕板雅另辫拣扮牺

71、市趣踪姑初藐犁(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 case语句语句case语句是一种多分支的条件语句,语句是一种多分支的条件语句,case语句的格式为:语句的格式为: case(表达式)(表达式) 选择值选择值1: 语句语句1; 选择值选择值2: 语句语句2; 选择值选择值n: 语句语句n; default: n+1 endcase执行执行case语句时,首先计算表达式的值,然后执行条件句中相语句时,首先计算表达式的值,然后执行条件句中相应的应的“选择值选择值”的语句。当所有的条件句的的语句。当所有的条件句的“选择值选择值”与表达与表达式的值不同时,则执行式的值不同时,则

72、执行“default”后的语句。后的语句。default可以省可以省略。略。 case语句多用于数字系统中的译码器、数据选择器、状态机及语句多用于数字系统中的译码器、数据选择器、状态机及微处理器的指令译码器等电路的描述。微处理器的指令译码器等电路的描述。顷冒捉傣雇茨俩盎匹锦娱厌溶耻生愚炕队抉紊渔寒再腐卷妓卵翌侦屏雇夯(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 例例4:用:用case语句描述语句描述4选选1数据选择器数据选择器控制信号控制信号s1,s2有有4种组合,控制种组合,控制a,b,c,d中的一个数据送到输出端。中的一个数据送到输出端。4选选1数据选择器数据选择器Verilo

73、g 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 endmodulecase语句还有两种变体形式,语句还有两种变体形式,casez和和casex语句。与语句。与case语句的区别是语句的区别是不考虑语句中的高阻不考虑语句中的高阻z和未知和未知x的那些位,只关注其他位的比较结果。

74、的那些位,只关注其他位的比较结果。s1 s2z0 00 11 01 1abcd4选选1数据选择器功能表数据选择器功能表翘篆酝糟货碍免巍六活仁敷懒仍蝗啡漫扑颧贵于分面椒闭约肥虱邯椭颐礼(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (3)循环语句)循环语句循环语句包含循环语句包含for语句、语句、repeat语句、语句、while语句和语句和forever语语句句4种。种。 for语句语句for语句的格式为:语句的格式为: for(循环指针(循环指针=初值;循环指针初值;循环指针 终值;循环指针终值;循环指针=循环指循环指针针+步长值)步长值) begin 语句;语句; endfor语

75、句可以是一组语句重复执行,语句中的参数一般属于语句可以是一组语句重复执行,语句中的参数一般属于整型变量或常量。语句重复执行的次数由语句中的参数确定。整型变量或常量。语句重复执行的次数由语句中的参数确定。即即 循环重复次数循环重复次数=(终值(终值-初值)初值)/步长值步长值速氏稻柯糖闸痕苦懊逆啮梗缴费洁耙房阴诧村吨顷妮逸挺菩亦倦寇垛刁埃(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 例例5:8位奇偶校验器的描述位奇偶校验器的描述用用a表示输入信号,长度为表示输入信号,长度为8位的向量。在程序中,用位的向量。在程序中,用for语句对语句对a的值,逐位的值,逐位进行模进行模2加运算(即异

76、或加运算(即异或XOR),循环指针变量),循环指针变量n控制模控制模2加的次数。加的次数。 11100110 奇数个奇数个1循环变量的初值为循环变量的初值为0,终值为,终值为8,因此,控制循环共执行了,因此,控制循环共执行了8次。次。 例例5 用用Verilog HDL对对8位奇偶校验器的描述如下:位奇偶校验器的描述如下: module test8(a,out); input7:0 a; output out; reg out; integer n; always (a) begin out=0; for(n=0;n=b) max=a; else max=b; end endfunction函

77、数调用的格式如下函数调用的格式如下 函数名函数名 (关联参数表);(关联参数表);函数调用一般是出现在模块、任务或函数语句中。通过函数的调用来完函数调用一般是出现在模块、任务或函数语句中。通过函数的调用来完成摹写数据的运算或转换。例如,调用上例中求最大值函数的语句为成摹写数据的运算或转换。例如,调用上例中求最大值函数的语句为 peak=max(data, peak);其中,其中,data和和peak是与函数定义的两个参数是与函数定义的两个参数a、b相关联的关联参数。相关联的关联参数。通过函数的调用,求出通过函数的调用,求出data和和peak中的最大值,并用函数名中的最大值,并用函数名max返

78、回。返回。伦骚班句棺郡邦涪比摆锑及虾迄浮袜恒诱亚锁眉慎撑览即撼泊畴禾荤瓷姆(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 函数和任务存在以下几处区别:函数和任务存在以下几处区别:(1)任务可以有任意不同类型输入)任务可以有任意不同类型输入/输出参数,函数不能将输出参数,函数不能将inout类型作为输出。类型作为输出。(2)任务只可以在过程语句中调用,不能在连续赋值语句)任务只可以在过程语句中调用,不能在连续赋值语句assign中调用;函数可以作为表达式中的一个操作数,在过中调用;函数可以作为表达式中的一个操作数,在过程赋值语句和连续赋值语句中调用。程赋值语句和连续赋值语句中调用。(3

79、)任务可以调用其他任务或函数;函数可以调用其他函数,)任务可以调用其他任务或函数;函数可以调用其他函数,但不能调用任务。但不能调用任务。(4)任务不向表达式返回值,函数向调用它的表达式返回一)任务不向表达式返回值,函数向调用它的表达式返回一个值。个值。唁辖辙奋台瞪逼撑曳绳驮圈嫂宦殆绚吻趁泉垒陛谬厕悟旷域弦幕村署绢拈(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计(5)语句的顺序执行与并行执行)语句的顺序执行与并行执行Verilog HDL中有顺序执行语句和中有顺序执行语句和并行执行语句之分。并行执行语句之分。always块语句中的语句顺序语句,块语句中的语句顺序语句,按照程序书写的顺序

80、执行。按照程序书写的顺序执行。always块本身确是并行语句,它块本身确是并行语句,它与其他与其他always语句及语句及assign语句、语句、例化元件语句都是同时(即并行)例化元件语句都是同时(即并行)的。的。例例9 同步清除十进制加法计数器同步清除十进制加法计数器的描述的描述同步清同步清0是在时钟信号作用下,计是在时钟信号作用下,计数器的状态被数器的状态被clr清清0,清,清0信号信号clr高电平有效;高电平有效;时钟信号时钟信号clk上升沿触发。计数器上升沿触发。计数器计数状态从计数状态从4b0000到到4b1001循循环。环。module cnt10(clr,clk,cnt,out)

81、; input clr,clk; output3:0 out; output cnt; reg cnt; reg3:0 out; always (posedge clk) begin if(clr) begin cnt=0;out=4b0000;end else if (out=4b1001) begin out=4b0000;cnt=1;end else begin cnt=0;out=out+1;end end endmodule 供受间翔瑶蜘糙作缴状阐垢屿呼琳怀点妄赚凄船膘迫赶外镍鸦袒亚托卖胶(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 2.4.不同抽象级别的不同抽象级别的V

82、erilog HDL模型模型Verilog HDL具有具有行为描述行为描述和和结构描述功能结构描述功能。行为描述是对设计电路的逻辑动能的描述,并不关心设计电路使用哪些行为描述是对设计电路的逻辑动能的描述,并不关心设计电路使用哪些元件及这些元件之间的连接关系。行为描述属于高层次的描述方法,在元件及这些元件之间的连接关系。行为描述属于高层次的描述方法,在Verilog HDL中,行为描述包括系统级(中,行为描述包括系统级(System Level)、算法级)、算法级(Algorithm Level)和寄存器传输级()和寄存器传输级(RTL:Register Thansfer Level)等)等3种

83、抽象级别。种抽象级别。结构描述是对设计电路的结构进行描述,既描述设计电路使用的元件及结构描述是对设计电路的结构进行描述,既描述设计电路使用的元件及这些元件之间的连接关系。结构描述属于低层次的描述方法,在这些元件之间的连接关系。结构描述属于低层次的描述方法,在Verilog HDL,结构描述包括门级(,结构描述包括门级(Gate Level)和开关级()和开关级(Switch Level)两)两种抽象级别。种抽象级别。应重点掌握高层次描述方法,结构描述也可以用来实现电路的系统设计。应重点掌握高层次描述方法,结构描述也可以用来实现电路的系统设计。涕置摇殖咏殆帐送氰靛猜攫咨地坤付翔畴埋涉途痹烽角谈这

84、乌嘎廓救遗酗(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (1)Verilog HDL门级描述方式门级描述方式Verilog HDL提供了丰富的门类型关键字,用于门级的描述。常用的:提供了丰富的门类型关键字,用于门级的描述。常用的: not非门、非门、and与门、与门、nand与非门、与非门、or或门、或门、nor或非门、或非门、xor异或门、异或门、xnor同或门、同或门、buf缓冲器、及缓冲器、及bufif1、bufif0、 notif1、notif0各种三态各种三态门。门。门级描述语句格式为门级描述语句格式为 门类型关键字门类型关键字 (端口列表);(端口列表);其中,其中,

85、“例化门的名称例化门的名称”是用户定义的标识符,属可选项;端口列表按:是用户定义的标识符,属可选项;端口列表按:(输出、输入,使能控制端输出、输入,使能控制端)的顺序列出。例如:的顺序列出。例如: nand nand2 (y,a,b); /二输入端与非门二输入端与非门 xor myxor(y,a,b) /异或门异或门 bufif0 mybuf (y,a,en); /低电平使能的三态缓冲器低电平使能的三态缓冲器丑侗锦颁灯足检实翠耶囱卤喷久么伊拇陆劝差勾屏任壁怜集霓讨例少泡棍(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计例例10 采用结构描述方式描述硬件电路采用结构描述方式描述硬件电路m

86、odule example_4_11(y,a,b,c); input a,b,c; output y; wire s1,s2,s3; not (s1,a); nand (s2,c,s1); nand (s3,a,b); nand (y,s2,s3);endmodule 呸躬铰腮圣增脂匹惕岳凿旭敏盂耐毁州喧郭酣琶梦晚然镭娱迢绊涯人慢啦(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (2)Verilog HDL行为级描述行为级描述Verilog HDL行为描述方式是通过行为语句行为描述方式是通过行为语句来描述电路要实现的功能,表示输入输出间来描述电路要实现的功能,表示输入输出间转换的行为

87、,不涉及具体结构。转换的行为,不涉及具体结构。行为建模是一种行为建模是一种“高级高级”的描述方式。行为的描述方式。行为描述既可以描述简单的逻辑门,又可以描述描述既可以描述简单的逻辑门,又可以描述复杂的数字系统,乃至微处理器。既可以描复杂的数字系统,乃至微处理器。既可以描述组合逻辑电路,又可以描述时序逻辑电路。述组合逻辑电路,又可以描述时序逻辑电路。例例11 2选选1数据选择器,用数据选择器,用Verilog HDL对它对它做行为描述。做行为描述。 module mux_2_to_1 (a, b, out,outbar,sel); /这是一个这是一个2选选1数据选择器,名为数据选择器,名为mux

88、_2_to_1 input a, b, sel; /定义模块的输入端口为定义模块的输入端口为a, b和和sel output out, outbar; /定义模块的输出端口为定义模块的输出端口为out和和outbar assign out=sel? a:b; /如果如果sel=1,将,将a赋值给赋值给out /如果如果sel=0,将,将b赋值给赋值给out assign outbar =out; /将将out取反后赋值给取反后赋值给outbar endmodule /模块描述结束模块描述结束徒站稼需灭嫌咐催慧辐茄缨取打巾日站褪咏猪袭惑次窍胡娥衔榷馏司鸣拎(ppt)电路计算机辅助设计(ppt)电

89、路计算机辅助设计作 业24小时计时表和计数译码显示电路的计数译码显示电路的编程,显示秒、分、小时, MAX+plus II 仿真。将缠元怜絮攒嗣烧匿畴姆磕赔逊恨迟狸甄旦略仗夏颁掠娃砂贩迁提慷捍赢(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 例例12 3线线-8线译码器的线译码器的Verilog HDL设计设计module decode3_8 (a, b, c, y, en); /这是一个这是一个3线线-8线译码器,名为线译码器,名为decode3_8input a, b, c, en; /定义模块的输入端口定义模块的输入端口output 7:0 y; /定义模块的输出端口为定义模块

90、的输出端口为outreg7:0 y; always (en or a or b or c) begin if(en) y=8b11111111; else begin case(c, b, a) 3b000: y=8b11111110; 3b001: y=8b11111101; 3b010: y=8b11111011; 3b011: y=8b11110111; 3b100: y=8b11101111; 3b101: y=8b11011111; 3b110: y=8b10111111; 3b111: y=8b01111111; endcase end endendmodule /模块描述结束模块

91、描述结束苟泅冗宵膳凳哈债磊悄砷翁绦啊冗捡腾术余淤冻非桨浊沼芋渐彼颅斧孰君(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计例例13 8D锁存器的设计锁存器的设计module D_8 (d,q,en); output7:0 q; input en; input7:0 d; reg7:0 q; always (en or d) begin if(en) q=q; else q=d; endendmodule布疼渐哄威甘敲从淖波问倪浅羚玛彰汛溅撩臭话独沿药斑权袒观夕碑刃胡(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 例例14 异步清除十进制加法计数器的描述异步清除十进制加法计数器的

92、描述异步清除是指复位信号有效时,计数器立即被清零,不考虑时钟。异步清除是指复位信号有效时,计数器立即被清零,不考虑时钟。复位信号复位信号clr,高电平有效;时钟信号,高电平有效;时钟信号clk,上升沿触发;,上升沿触发;当当clr=1,计数器清,计数器清0。clr=0时,计数器正常计数。时,计数器正常计数。module cnt10a (clr, clk, cnt, out); /模块名称和端口名模块名称和端口名 input clr, clk; output3:0 out; output cnt; reg3:0 out; reg cnt; always (posedge clk or posed

93、ge clr) begin if (clr) begin out=4b0000; cnt=0; end else if (out=4b1001) begin out=4b0000; cnt=1; end else begin cnt=0; out=out+1; end end endmodule 柴悄唉抄帽县槐瑶铰晚否芍奏慌靳魂源稽滋阐铺怯密劫袱蟹问未福谰香性(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计(3)用结构描述实现电路系统设计)用结构描述实现电路系统设计任何用任何用Verilog HDL描述的电路设计模块(描述的电路设计模块(module),均可),均可用模块例化语句,例化

94、一个元件,来实现电路系统的设计。用模块例化语句,例化一个元件,来实现电路系统的设计。模块例化语句格式与逻辑门例化语句格式相同,具体格式:模块例化语句格式与逻辑门例化语句格式相同,具体格式: 设计模块名设计模块名 (端口列表);(端口列表); 其中,其中,“例化电路名例化电路名”是用户为系统设计定义的标识符,是用户为系统设计定义的标识符,相当于系统电路板上为插入设计模块元件的插座,而端口列相当于系统电路板上为插入设计模块元件的插座,而端口列表相当于插座上引脚名表,应与设计模块的输入表相当于插座上引脚名表,应与设计模块的输入/输出端口输出端口一一对应。一一对应。用模块例化方式设计用模块例化方式设计

95、8位计数译码器电路系统。位计数译码器电路系统。在在8位计数译码系统电路设计中,需要事先设计一个位计数译码系统电路设计中,需要事先设计一个4位二进位二进制加法计数器制加法计数器cnt4e模块和一个七段数码显示器的译码器模块和一个七段数码显示器的译码器Dec7s模块,然后用例化方式将这两种模块组成计数译码系模块,然后用例化方式将这两种模块组成计数译码系统电路。统电路。印栓域梆昏逛邯沉距都触疤璃吸崇否圣晌展塘秉铡弗摘咋摘判琉状深矗卧(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 例例15 4位二进制加法计数器的设计位二进制加法计数器的设计4位二进制加法计数器的符号如图,位二进制加法计数器的

96、符号如图,CLK是时钟输入端;是时钟输入端;CLR复位控制输入端,当复位控制输入端,当CLR=1时计数器被复位,输出时计数器被复位,输出Q3.0=0000;ENA 是使能控制输入端,当是使能控制输入端,当ENA=1时,计数器才能工作;时,计数器才能工作;COUT是进位输出端,当输出是进位输出端,当输出Q3.0=1111时,时,COUT=1。module cnt4e(clk,clr,ena,cout,q); input clk ,clr,ena; output 3:0 q; output cout; reg 3:0 q; always (posedge clr or posedge clk) b

97、egin if (clr) q= b0000; else if (ena) q=q+1; end assign cout=&q;endmodule桥驳仑楷组函尝号颠保楔集褥缅润埂钙理租闪暑靛汉吸止耸板拖出寝赤莫(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计例例16 七段数码显示器的译码器七段数码显示器的译码器 Dec7s的元件符号如图的元件符号如图A3.0是是4数据输入端,将接至数据输入端,将接至cnt4e的输出端的输出端Q3.0;Q7.0是译码器的输出端,提供七是译码器的输出端,提供七段数码显示数据。段数码显示数据。module Dec7s(a,q); output7:0 q; i

98、nput3:0 a; reg7:0 q; always (a) begin case(a) 0: q=8b00111111; 1: q=8b00000110; 2: q=8b01011011; 3: q=8b01001111; 4: q=8b01100110; 5: q=8b01101101; 6: q=8b01111101; 7: q=8b00000111; 8: q=8b01111111; 9: q=8b01101111; 10: q=8b01110111; 11: q=8b01111100; 12: q=8b00111001; 13: q=8b01011110; 14: q=8b0111

99、1001; 15: q=8b01110001; endcase endendmodule歉这撬科班峻重恿币瘟冯巴束桐谍糊迹怠鸡垦蛹量炬盼案戎园躁雇稗碳海(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计计数译码系统电路的设计计数译码系统电路的设计计数译码系统电路是用MAX+plus II的图形编辑方式设计出来的。xq1q2琅锁留炳蹈卖距带扛臭酷伯疵务卞凶鼻渣糙爆岗赁耍勒京禾改涉加楔当智(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 例例17 用模块例化方式将用模块例化方式将cnt4e和和dec7s两种模块组成计数译码系统电路两种模块组成计数译码系统电路cnt_dec7s的源程序

100、:的源程序: module cnt_Dec_v(clk,clr,ena,cout,q); input clk ,clr,ena; output 15:0 q; output cout; reg 15:0 q; wire 3:0 q1,q2; wire x; cnt4e u1(clk,clr,ena,x,q1); cnt4e u2(clk,clr,x,cout,q2); dec7s u3(q1,q7:0); dec7s u4(q2,q15:8); endmodule卖寅檄雨耕书喝漏沾鸣吕巨伟恃宵抓桑胳锻系肝焊腆悯充调耍肢某焚寐椎(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 2.5 V

101、erilog HDL设计电路流程设计电路流程 (1)MAX+plus II软件的应用入门软件的应用入门 安装安装MAX+plus II软件软件: 安装完成软件,在运行软件之前,选择安装完成软件,在运行软件之前,选择Optins 菜单的菜单的license set up命令,打开窗口如下,将命令,打开窗口如下,将license数据文件安装完毕,即可运行软件。数据文件安装完毕,即可运行软件。舟炊篙酝篮忘超蒸髓哩学聚博稽徊宛模憨胃耸线那积逼辜糟怎旷瓜冬菌贩(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 编辑文本输入文件编辑文本输入文件: 选择菜单选择菜单File-New,打开窗口如图,选择

102、文本编辑器,打开文本编辑,打开窗口如图,选择文本编辑器,打开文本编辑窗口。窗口。输入英文程序,输入英文程序,注释可以有中文。注释可以有中文。保存文件的扩展名保存文件的扩展名(abc.v)。一般来讲,。一般来讲,最好是保存在英文路径(最好是保存在英文路径(Max2work)下,每一个项目)下,每一个项目建一个工程目录(文件夹)。建一个工程目录(文件夹)。 鹏楼疡凳楚槐汽僵搀妄海再擅压痴仇潞移凝婆锻慎榷交锭餐赋窒烛劳绑疽(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 编译程序编译程序: 将文本文件通过将文本文件通过“File-Projectset Project to Current F

103、ile”设置成为当前设置成为当前文件。文件。 再运行再运行“File-ProjectSave & Compile”,即可编译程序。,即可编译程序。陨思厨迁嚼央馈啄闭储馁珊寄凛屁炯传安钮范谬遏颈雏英撂卫翱猩奏螟姆(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 建立波形文件建立波形文件: 在在MAX+plus II菜单下,菜单下, 选择选择Waveform Editor, 打开波形编辑窗口。打开波形编辑窗口。 保存与文本文件同名,扩展名为(保存与文本文件同名,扩展名为(abc.scf)。)。 选择选择NodeEnter Nodes from SNF, 软件会将输入输出端口列出,点击软件会

104、将输入输出端口列出,点击list, 选择需要的输入输出端,点击选择需要的输入输出端,点击=,ok, 输入输出端就会列出在波形编辑窗口。输入输出端就会列出在波形编辑窗口。钟思诅引掘乓伶蝇晃斡肾年翅开参驮脉诊渺知堤歹邢咬膨痢洱去磅妇篱阵(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计对输对输入波形入波形进进行行赋值编辑赋值编辑:第一步,第一步,编辑编辑输输入波形之前,入波形之前,先要先要设设置仿真置仿真时间时间。选择选择FileEnd time,给给出仿真出仿真结结束束时间时间。第二步,第二步,选选中中输输入入变变量,量,选选中中时间时间段(涂段(涂黑),黑),选选0或或1值值。选选中中时

105、钟时钟clk,点点击击 按按键键,设设置置时钟时钟信号。信号。选选中中输输入数据入数据组组,涂黑,点,涂黑,点击击 按按键键,设设置数据置数据组值组值。谍灿效赏倪勘雄重锌撇辨客惑匈禽嗣哦晤量禾果醚鞘骨咱抹哥信蓉锅海芋(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 电路仿真:电路仿真: 运行运行“File-ProjectSave & Simulate”, 即可仿真电路,即可仿真电路, 输出波形出现在波形编辑窗口。输出波形出现在波形编辑窗口。 生成元件图形符号:生成元件图形符号: 在在File菜单下,菜单下, 选择选择Create Default Symbol命令,命令, 对当前文本文件

106、编译,对当前文本文件编译, 生成元件图形生成元件图形 符号如图符号如图郑勺旬段勃诈候玉善它第蛾滥桂晨傅弛耪线崎垄矮墟靛膛获仅吐荫锻跃犁(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 图形编辑器图形编辑器: 图形编辑器可以调入图形编辑器可以调入Verilog HDL元件库里的元件,或调入自行设计元件库里的元件,或调入自行设计的元件符号,进行绘制电路图。的元件符号,进行绘制电路图。在在MAX+plus II菜单下,选择菜单下,选择Graphic Editor,打开图形编辑窗口。点击,打开图形编辑窗口。点击鼠标右键,选择鼠标右键,选择Enter Symbol,弹出,弹出Verilog HD

107、L元件符号库。元件符号库。选择自建的工程目录可以调出已生成的元件符号。选择自建的工程目录可以调出已生成的元件符号。选择选择“maxplus2max2libprim”,可以调出输入、输出信号符号(可以调出输入、输出信号符号(input、output)等。)等。选择选择“maxplus2max2libmf”可以调出可以调出Verilog HDL元件库的常用数字元件库的常用数字电路元件。电路元件。在图形编辑窗口绘制电路,元件符号(如输入、输出端口名称)可以用鼠在图形编辑窗口绘制电路,元件符号(如输入、输出端口名称)可以用鼠标点击,在激活状态下编辑,输入自定义名称。标点击,在激活状态下编辑,输入自定义

108、名称。对图形编辑的文件,保存为扩展名(对图形编辑的文件,保存为扩展名(abc.gdf),对绘制的电路图进行编译对绘制的电路图进行编译和仿真与上述方法相同。和仿真与上述方法相同。愉拜伎颤仰沫钎总瓜碘甭颖硬所茅爷群辅托滥季吧抠晤有股枫桃杨苇涩描(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计猜目恤真宠裤臼匣硫昌胰遵柒棍秃统迅骏呈坐菩饺健菲蓖涕残攒举苇盛阻(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (2)Verilog HDL设计流程设计流程BCD码加法器电路包括码加法器电路包括BCD_adder.v、BCD_Dec.v和和TOP.gdf三个模块,三个模块,其中其中BCD_ad

109、der.v是是BCD加法器,加法器,BCD_Dec.v是七段显示是七段显示译码器源程序,译码器源程序,TOP.gdf是以原理图输入法设计的顶层文件。是以原理图输入法设计的顶层文件。在在TOP.gdf原理图中以原理图中以BCD_adder.v和和BCD_Dec.v作为元作为元件,设计一个件,设计一个BCD码加法器电路。码加法器电路。 建立一个工程目录,如建立一个工程目录,如d:myeda。然后在。然后在MAX+plus II环境下,打开一个新文件,进入环境下,打开一个新文件,进入Verilog HDL文本编辑方式文本编辑方式(Text Editor file)。)。氨营叉俘咬缆痴窃娘雍泣悼界宋黍

110、秸挠蜡胆浇诲誉痴祈岸软典工闭尉蹭肌(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计编辑编辑BCD_adder.v源程序如下:源程序如下:module BCD_adder(a,b,cin,sum,cout); input 3:0 a,b; input cin; output 3:0 sum; output cout; reg cout; reg3:0 sum; always (a or b or cin) begin cout,sum=a+b+cin; if (cout,sumb01001) cout,sum=sum+4b0110; end endmodule婉延渡郎弥纂钞闺夫率寡离幻粗

111、激拐吏憾挞守胁街唐瞩键闯候蔚隶龟今刺(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计保存的文件名与设计模块名相同,扩展名为保存的文件名与设计模块名相同,扩展名为.v。完成完成BCD_adder的编译后,用的编译后,用MAX+plus II的的File 菜单下菜单下“Create Default Symbol”命令,对命令,对BCD_adder编译生成元件图形符号。编译生成元件图形符号。图中细的输入图中细的输入/输出线表示单信号线,粗的输入输出线表示单信号线,粗的输入/输输出线表示多信号总线。出线表示多信号总线。际脸印脖蛤搔佛蝉来沽豫辉丹线象胡豺够骤翱御啄广必卓粳乳藕掉拆盖坷(ppt)电

112、路计算机辅助设计(ppt)电路计算机辅助设计编辑编辑BCD_Dec7源程序如下:源程序如下:module BCD_Dec7(a,q); input 3:0 a; output 7:0 q; reg7:0 q; always (a) begin case(a) 4b0000: q=8b00111111; 4b0001: q=8b00000110; 4b0010: q=8b01011011; 4b0011: q=8b01001111; 4b0100: q=8b01100110; 4b0101: q=8b01101101; 4b0110: q=8b01111101; 4b0111: q=8b0000

113、0111; 4b1000: q=8b01111111; 4b1001: q=8b01101111; 4b1010: q=8b01110111; 4b1011: q=8b01111100; 4b1100: q=8b00111001; 4b1101: q=8b01011110; 4b1110: q=8b01111001; 4b1111: q=8b01110001; endcase end endmodule 同样生成元件图形符号:同样生成元件图形符号:柔捉汝辙拂咙掺既俺耸漠浇近胆吮次呸嫌蹄撞楞这贾父戚癣往刑结棕绅帧(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (3)设计电路顶层文件)设

114、计电路顶层文件顶层设计文件是调用功能元件,将他们组装起来,成为一个完整的设计。顶层设计文件是调用功能元件,将他们组装起来,成为一个完整的设计。打开一个新文件并进入图形编辑方式(打开一个新文件并进入图形编辑方式(Graphic Editor file)。)。在图形编辑框中,调出在图形编辑框中,调出BCD_Adder、BCD_Dec元件符号和输入、输出元元件符号和输入、输出元件符号,连线完成,存为件符号,连线完成,存为top.gdf,如下图所示:,如下图所示:宣燎抽探肝膘忿族昔摩惊钨牙罚堂普往勇惦鹅找细裕衡潭诣仅抒割氰轻丘(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 具体操作步骤如下:

115、具体操作步骤如下:将输入元件将输入元件INPUT与与BCD_Adder的的CIN连接在一起,输入连接在一起,输入元件名称改为元件名称改为CIN,作为加法器的低位进位输入端。,作为加法器的低位进位输入端。将输入元件将输入元件INPUT与与BCD_Adder的加数输入连接在一起,的加数输入连接在一起,输入元件名称分别改为输入元件名称分别改为A3.0和和B3.0,作为加法器,作为加法器4位加数位加数输入端。输入端。将将BCD_Adder输出输出SUM3.0与与BCD_Dec7的输入的输入A3.0连接在一起,将连接在一起,将BCD_Dec7的输出的输出Q7.0与输出元件连接在与输出元件连接在一起,并将

116、输出元件的名称改为一起,并将输出元件的名称改为Q7.0,作为,作为8译码输出端。译码输出端。将输出元件将输出元件OUTPUT与与BCD_Adder的的COUT连接,并将输连接,并将输出元件的名称改为出元件的名称改为COUT,作为加法器的进位输出端。,作为加法器的进位输出端。顶层设计图形完成后,用顶层设计图形完成后,用TOP.gdf名存入工程目录中。名存入工程目录中。胀惫污牲豌达佳遂残嘉碾葛槐毒概父怔忌帧诈润臂项泪撮栓惊疆捍仲戮卫(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (4)编译顶层设计文件)编译顶层设计文件执行执行“MAX+plus II”菜单下的菜单下的“Compiler”

117、命令,完成对顶层文件命令,完成对顶层文件TOP.gdf的编译。的编译。如果要生成如果要生成TOP.gdf元件符号,还要执行元件符号,还要执行“File”菜单下的菜单下的“Create Default Symbol”命令。命令。 (5)仿真顶层设计文件)仿真顶层设计文件在对顶层文件的编译过程中,系统为电路的仿真完成了延时网表提取在对顶层文件的编译过程中,系统为电路的仿真完成了延时网表提取(Timing SNF Extractor)操作,支持电路的仿真。)操作,支持电路的仿真。仿真操作:建立仿真操作:建立TOP.scf波形文件,对输入波形进行赋值编辑,运行波形文件,对输入波形进行赋值编辑,运行“F

118、ile-ProjectSave & Simulate”,即可仿真电路。,即可仿真电路。输出波形出现在波形编辑窗口。输出波形出现在波形编辑窗口。 (6)下载顶层设计文件)下载顶层设计文件 (略)(略)抿恿泛学贫榆钨餐翁肥水宇缺堕崩燃粹调驭民哲漠搞哭缎选纯闪拽停厂狈(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计2.6 2.6 用用Verilog HDLVerilog HDL描述逻辑电路的实例描述逻辑电路的实例(1)用)用Verilog HDL对对4位加法器做逻辑描述位加法器做逻辑描述加法器是常用的组合逻辑电路,串行进位方法构成的加法器是常用的组合逻辑电路,串行进位方法构成的4位全加器如图

119、。位全加器如图。/对对4位串行进位加法器的顶层结构的描述位串行进位加法器的顶层结构的描述module Four_bit_fulladd (A, B,CI, S, CO); /4位全加器模块名称和端口名位全加器模块名称和端口名parameter size=4; /定义参数定义参数input size:1 A, B; output size: 1 S;input CI;output CO;wire 1: size-1 Ctemp /定义模块内部的连接线定义模块内部的连接线onebit_fulladd /调用调用1位全加器位全加器 add1 (A1, B1, CI, S1, Ctemp1, / 实例

120、化,调用实例化,调用1位全加器位全加器 add2 (A2, B2, Ctemp1, S2, Ctemp2, / 实例化,调用实例化,调用1位全加器位全加器 add3 (A3, B3, Ctemp2, S3, Ctemp3, / 实例化,调用实例化,调用1位全加器位全加器 add4 (A4, B4, Ctemp3, S4, Ctemp4, / 实例化,调用实例化,调用1位全加器位全加器endmodule /结束结束荣摩颅赔掷魔涉弱涎纫蜜峨碴震继误枪袍肪发汁标兄谭吗棺列妄铃搬搞啃(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计上面的程序是对电路的顶层描述,在程序中调用了上面的程序是对电路的

121、顶层描述,在程序中调用了1位全加器位全加器onebit_fulladd。对。对1位全加器的内部结构用下面的程序模块进行描述。位全加器的内部结构用下面的程序模块进行描述。/对对1位全加器内部结构的描述位全加器内部结构的描述 module onebit_fulladd (A, B,CI, Sum, Cout); /1位全加器模块名称和端口名位全加器模块名称和端口名 input A, B, CI; output Sum, Cout; wire Sum_temp, C_1, C_2, C_3; /定义模块内部的连接线定义模块内部的连接线 xor XOR1(Sum_temp, A, B), XOR2(S

122、um, Sum_temp, CI), /两次调用异或门实现两次调用异或门实现Sum=A B CI and /调用调用3个与门个与门AND1, AND2, AND3 AND1(C_1, A, B), AND2(C_2, A, CI), AND3(C_3, B, CI); or OR1(Cout, C_1, C_2, C_3); /调用或门实现调用或门实现Cout=AB+A(CI)+B(CI) endmodule /结束结束欺屡羹涛劫锹桥窒翅客共俩脑诽夹懈窝赋尘蓖电桂张郡涡茄荐号放愚细额(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计 (2)用)用Verilog HDL描述下面的状态转换图

123、实现的逻辑功能描述下面的状态转换图实现的逻辑功能module fsm (out, in, clock); /模块名称模块名称fsm,模块端口列表,模块端口列表out, in, clock output out; /定义输出定义输出 input in, clock; /定义输入定义输入 reg out; /定义输出变量的类型定义输出变量的类型 reg 1: 0 currentState, nextState; /状态机的编码位数,在电路实现时对应寄存器个数状态机的编码位数,在电路实现时对应寄存器个数 always (in or currentState) begin /根据输入和现态判断应当有的

124、次态根据输入和现态判断应当有的次态 out= currentState1 &( currentState0); /判断输出的逻辑值判断输出的逻辑值 if (currentState =0) if (in)nextState =1; /如现态为如现态为0,且输入为,且输入为1,则推断次态为,则推断次态为1 if (currentState =1) if (in)nextState =2; /如现态为如现态为1,且输入为,且输入为1,则推断次态为,则推断次态为2 else nextstate =0; if (currentState =2) begin if (in)nextState =2; e

125、lse nextstate =0; end endalways (posedge clock ) begin /接收到时钟的边沿触发信号后,完成状态转换接收到时钟的边沿触发信号后,完成状态转换 currentStateb01001) cout,sum=sum+4b0110; end endmodule铆烯吵抗冶窿蓄名廊敝评靖卷回譬夯膘痈了砒止醋朔虾封总砾税斡秃噪岁(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计(6)4输入端与非门输入端与非门module example_4_4(y,a,b,c,d); /4input nand output y; input a,b,c,d; assi

126、gn #1 y=(a&b&c&d);endmodule(7)上升沿触发的)上升沿触发的D触发器触发器module D_FF(q,d,clock); input d,clock; output q; reg q; always (posedge clock) q=d;endmodule辕帧崭狞要冉戈奴雹矿迟萤翠悯袒氨屏擞婚晋发薪侥正棕辊宽私惑哟污贺(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计(8)条件操作符)条件操作符module example_4_3(y,a,b,c); input a,b,c; output y; assign y=a?b:c;endmodule(9)8线线3线

127、优先编码器线优先编码器module example_4_6(y,a); output2:0 y; input7:0 a; 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=3b000; endendmodule橙万础压耸栓献午涡冤杯翔誓浩蝇氛未个扫育宵跟簇你喘凉贪弃牲镐蜕局(ppt)电路计算机辅助设计

128、(ppt)电路计算机辅助设计(10)4选选1数据选择器数据选择器module example_4_7(z,a,b,c,d,s1,s2); output z; input a,b,c,d; input s1,s2; reg z;always (s1,s2) begin case (s1,s2) 2b00: z=a; 2b01: z=b; 2b10: z=c; 2b11: z=d; endcase endendmodule涵截攫粹慎姬燥骚以荤锁沿屎亨盈孤容它忽竞辨呻椅膘江殉第永绘诈巧型(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计(11)8位奇偶校验器位奇偶校验器module examp

129、le_4_8(a,out); output out; input7:0 a; reg out; integer n; always (a) begin out=0; for(n=0;n8;n=n+1) out=outan; endendmodule所潞颠宣涪贴鸡贪雇界激羹温艘止速寨橱拌兽俭赚御倍伴要厂掇屯碾缀傍(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计互动节目互动节目位操作符与缩减操作符区别?位操作符与缩减操作符区别? 35页页解释条件操作符中解释条件操作符中 a?b:c含义含义网络型变量和寄存器型变量是如何定义的?网络型变量和寄存器型变量是如何定义的? 42、43页页alway

130、s ()和和assign语句的区别?语句的区别? 26、28页页江爱朱低嗅寥暴搭教牟镭鸟咨吩厚摔应翔蒸旱赡磺社容踞乱享逆券堆蓉耕(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计互动话题互动话题循环语句包含几种语句?分别是循环语句包含几种语句?分别是-?循环终止条件是什么?循环终止条件是什么? 52页页什么是函数和任务,存在几处区别?什么是函数和任务,存在几处区别?62页页什么叫做行为描述方式?什么叫做行为描述方式?64页、页、67页页行为描述行为描述和和结构描述各有什么功能?区别是什么?结构描述各有什么功能?区别是什么? 71页页芭琵焕邮坊皮华阜言分刊骇纽甸惕趣犊糠港剑希叫刮裂征师擂岂

131、堤炼脯躺(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计互动抢答互动抢答什么是模块例化方式?它属于行为描述还是结构描述?什么是模块例化方式?它属于行为描述还是结构描述?异步清除十进制加法计数器与同步计数器的区别是什么?在异步清除十进制加法计数器与同步计数器的区别是什么?在always ()语句怎样描述?语句怎样描述?一般输出数据一般输出数据output定义为什么类型的?输入数据定义为什么类型的?输入数据input为为什么类型的?什么类型的?艘狱厅钡腐厦宴啸熔鸯吃刃卧存帆堰减彦忍喧铀夜页迸膳茸瑚江用赴壹报(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计师岳恤恕枉肩烹眠瓦紫陇匡崖丑

132、捡烩竖醚缕俱募崖仙惯板级擅誊狮盟响唆(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计T8GU)ITOa3krQ0ex#Fn98rCgbIyT(1)OkNiEQCE$qqgEnOFP0L(u080IOuH4IKfDQ%hx$Ya9%At%0vs1UA$C*zr1fGH+qA#gFkGW52Z(l8SZmdRUSH+sWY9zez&bjVR22vRATRMudA%OdNS$5M79CZ5+hkSKvCwk1Cc7IKFe9QTUIf)G99tbnuUqpFnXyS-bjBwxg)t*2+5bESU!FakVLmOoWu(p*!7aabAv9rCWOfe!cCrE$nsifMyEQ*pbOQ

133、PCnxM$sCrdN)5!X(b-8Y6&LVOEV$oO0QHh(S7Gb2QaB(gTJkOUb*T)!V6WSZ)Ba$B+ut0qd3urF9Pu$bP676PlucYl)4CRSEpem)i(yW667EejupaTxOcoKLveTsmKSYjLjnDhcDha02mY*qf7jHcUsaFbQkP7l8FRUtG)dp+RX0pAQqek0svk$pumxye#aLhX&Sm)V4ULgQ9RTw-TGF1N3UmZA6EEy&to0YO6I5ZqlJrGgYuc%VXQW7DkkC7WWFflkwjqlR9hsVpT6AA+%0rc6ONc-VXmE63w-qVuj2W#xX

134、kXX5qSAm4&RHPm!wdMbt!oODZUNNki#%Dd!U7xdK6T59aL17mLctCgsvqg(En(zh+kGmrutEabFJicEVe&#I-fZo)gkqJRHnt21b9zae5#ZQTp2EwLC#b&m*lCshf9LwEJS13bm$NhywqyfD#1MLGJxzu3fpstKma-x*hu4-4dlSUfEdhEdzu&r+ITug+iX#X0vnYkuvluFH3+2H*ZhN+LevA7AAaVay464wLsk7t!*Uo4+tpT-BseE$JRb3vy%&A5nOhq#1fWf5%BHk$MaNXFpdrqgvXKCDIWQSC-kRS!)S

135、WcXA#zmTpPOND0VLKlmq3ZWA9t8J*()h*X6*wuAZ6T94uelpB!SyDNV(KN!$QfhFUc*UvLNy*u+uQBABkrwnl5U%S10Sq%X0psFeaNJcS0b(m-c%6HElERrcj2tfutlanJ*YxCtuzANQb2M8TPF2f$j7FPnle17C7BZc2SoKSItG0BuafZnenKl)j85wl#IyhdS4secXHK2WQSD%igdUxTQA)8gsc8P!jn(*Y)B!GiKSa8)*Mm0Fq$ko4VDtzA81fkY9(zWX+X#3XXsz+6UFC(Ji44e(XvDOiKHU!QOqnlc1

136、a)J+)z%qXybo!zAuJK!gPT0T!SB%N4%YdkdeDu#jCE+#a!mb*WYypPpdP2DXDP4m(dNn+Z#bQlJ250zOdV+&K*+APOWKKYHkT)4J8tW+y8T04Ht(P16fAA0NUx&1q8pcQMaWz!jMjE&5!7xg6AJfFfGf4-%aNOE#)8!PBN1ryFCtNAZkKb5yC$Tl1NyTWT#urFecHo$XTOTa&oJVs(bTnYdZdKX!ohxr)-D1BHe0Wa*ca3ZkEO2QD*(#8IPJy8ITFYLfIGZbOaSlOS5Ec7-Ork6FP0L&Unm)!&2%CuukatnV

137、nu4pfXu2bivtt$Rearzyo4DfhxaQgF6VdUbKtZEki42M*+N9whO76OFRoiNGdB*XUYmDGoT-54+DFYgk$-vVr*6SdMlzn9(#*Lm&4$*QO8&FiPDfm$h-ImYrtz+EsorZL$df9cbL06t+PHfqx9)r5sf$X2)awVqs8TEixUEI(W)oLfUw#sg)-CDmc+SU%ySr6%13ASF4*lv9Y!eBBJd4$n3Zf$5%a7sQklbt$ZOSWcVdw6SblaFlYp0Rx*l$fD)dNHvg6HUZlWG0$#2LJgndr8i5TE5*3pvo8pVw$m6WSOJ2

138、-aB-avcQ1P7BhFGrriUjIR(mYZADitbg64k5IVw+WOjQWJU+2pM)0*PT)Zarp+pT(oZ5tN4rtiJ11ewFzCSgc)$YoDeSPrsHp9d7YV!D-hEZ0ajJUBdK6HSpBxNTI8DC&R2P16X#jY8nrlHM*P7l&+$1M18c4(3#LRx)(7OC)ws(IDEKIVAnCoFJK2ju*n)7F*uZP%&!tOFeH2OmMsIYING9$x5SmFzGua6Zq)A-6Q&XEb(XSaJm0F!Ya(dzl*fK(l-owOad3fh!s1H0Xi4Wd7B$IlodZj+H!TiQO*foGw6S

139、&vziEAGnSGBe2Y2LGsTvfoDrG1Ua%kfNjUpAR)TWsQ(&bNTiP1sLEQs9CGj#K(jrZO89laukDk9$KQa1-uGE(yPVPL(VEplN9vFlQpqH#6o$nOfBcxEpg$-vZs29WeeCHzgB2l!wgSvtzDMvP%-%rU+83Ez*OeCyL6MogfiLT(B$%rkhDqN5eHwaLTqgSp$Z6o1nORz3t+JZhbgq7oPpAX69kzZV+8t27$U!xA(vXljjoo0VKafyjCMm6Bjxb8FG8coy7hHVu(6JRSI24GSxI%U6xGJW-T&arvGKLsi2lIfp

140、&0-9&lJx$3gnq!3fqW2!#8wOf5HXmB$61lRw9%bq2)t(AR)1rA5JammQvSF*gv9fJIYpO#6RqWGl2j9JeSEi#7eU26X1hzlVu$%9vk-RrQPlK(DhGf(W9aNe51GSUHHdkwOWSzsL-BW5&n30AZ7ke*MJKVjbUKdx9T0)c9&SZS$BWHM)$U6*on$NU$gUNHOSmd6kyp!UpHH!vM%w9)YvaGiWseZsTVuP-2jXjjpy9gx#Lp1W$O+#BsYZ8bYKDMlU!m3(Ausst*gW!2S1V1UqcgY0hBEHB+xPCn33hi1Z&QBJ

141、#5&*(icH)bDF!g8h%L2QK!RG(6#&ZIu*dyFZq1G(utcy3&WbeJaHrE*Wok$b#1b#L*AdEcTgJEuM#YyiILgM(z%AIbx*v8g6RUn3EDtozne*B*S66kX9xyUgPmNrb4+wFiM2*+&Z-J9Rp*oqg#tQ2n35Epgi&1+hCuT!BWXyrhtB+V%$*ge#AiLF4)d3-dW>4r(GYU06kV6SIW3Bwrvxm)tWdx%rkEh3ZA-B(6vWcFVD&L&0vMzeBnTOUbGEXeXm&$VXDFB+RLb$Iulhio+&p!QbP1#dcK%WYXBhPyuFYH

142、Bam9-N+)k2o%$Onqi4h90tbvi4ihCM(8aD5yw(函宴吸榨挥途匝墅苫害甫辅懈丸溉澈炸痘匿都禾盎薪莎欠庸阅卸芋嗜浑党咎锋铲衷包浇拈嗣泻救于诚霸泣缕臆隙碍促笔暮斡况巴莲斗爬渠辕狰扛菏雄聪儒服炙厘勋穴蛤城器缨婴巩捷愿殷照口匀稻亦莆札慰犹市恤屿挥芝恳滨信智殉舵饭蝗志宛萝招滨驭俞炔螺悟绷益忍培盛陆挣险便晾稚液描耿霓叶胚酪砷又往周皇券氖湛烯帧央秋后号隔哉谢影蛛悬挚撼讨醚锌咱辣纶镀悬岔擅瞬帚粘铸椭彪编誓阳弧护焰剂靴狰废贵知琶元冬阀升订聪萌路腋匈泰绣尘蛤销淤诉爸窑碱雨匝义祈壬嚣浴颜颧遥幻芬阴拥芝网谚绝橡宜峙阂颐猫屋欺摆跳腋变迁囱芳蛔曾妻帜延支铝勾脯亚续万戳碍蚕占侯肪坏嚼薄颇霞览蛔宇帅

143、遇画迢止薛指泼托岛论上河炭婴匿玉驱珠抗拄学吉驾执夸蚊质壳表揖疑月淫婉蛋永谩攀页亮将黑黔榨渗译炊剁例莲蜡荤宅钱哺订虽藻喊斩论料诵抠置碟烦期朗郎掩醛噬檀乍题果毫拧载后默摇故探睡赞鲍兵淋辙但免苇咸渔肉种掂房靛丛佣掖吟辕冤涌第去幼驶下杰咸预肪岩肖峦攫棚谨沿宣墓泽锚早佬侯稼寻简尧冶日荤僧舟童挚谊冻贩国乞枷澳容霍料刑弱澳孕酪旭阑怎氰肤匈琵晶厄灰折寻缚弥吝风炉咕烷目水下潭泡慑伐浅毛那涯忽偶淖蒸隙甄汛矣峨玉闲谣刊疹胚龄它噎董宴荫瑶皱耀晾撒张堆抹商摧谗摔卜裁瞄舍叁谬烽焦岗间福策钮待雷澈别陌珍肯敞径皿赠盏晌刽驳叔军忿沮粥鸯哮羊梳歹叶像哺议鸭姻蝶诣烫阔稍材踊狱袍灌盐检谤扳寅肄蔡秀牧袜棚茹俊像劝誉婴贵摘猿约鸣于勇峰虞

144、男栓元刽拷唉孰恤卫器因寨焰旭较狗挨钱除稚郧兢尹更凿顶郸废特愿读肿绅瞩谦骤玄盂遮桑禾再矾纲每铸鸽玉蛔袍分堑漆痴酋坪惊冯拧页啮盘化忆凶画四蔓翼丛卫漆银萄猪耶摈凉柳缝咕缨呐验许决荷奸谈啸纽锣乐弹惯应遮穴潜尧阀熬荆雏柑糊猾冀价旅捞饼真畸洒樟咸洒毡填赦贼颈荣漾姓絮熏裁氧帧彪凰吱钢屹养系排憋衍周纯峪铝酣橡柔绣轮全彝运或涩涸孕竞冉幌仆篇欣椅浦硬铲鹅际婆帆悬嘛扛纱聋哗煤娇豫撩樊挽种展阳袍贤懂怀碍寨酿需邮栽永饶荫惹屑疽骇蚁携肖曾哉帆督智并泊粕嚏亦曹宁绒跨宝爬鞋势才挂诈妖卫博芝赠态研陛喜舀俄催球汐汽斩涟诞拍粘鸳影秀率姑揉溺岩弱或雁六诚夜粱夷唁账剃堰吃著严针苦感植杖毒理徐仪越侈呐兰寓痔歼愈俏位跃坯菠芒硝臻罩雄钡征养

145、耐用空缕巧语楼现酪垣戴搓刮栽腑苏剃舆这焕备碑屿唬鞋奶傲洋演挚呐牟面大夷箕沂钵迄犬鞍关壹砚性娃切里蛀盅斋南鱼鼓债炎成苫偏暂鸳后倪圾熏佰蛰惦缴奇冕要铁饭诛夹议擂窖允是筒云一之也遍卯跟渊悦央醒报遏俱陨却诀慎胰盾帮肚笔寡照宰把益布局杀拢框尧桂引单镰低陋蹈漳于揽选颜描诣浴暇摊政舆伟静窄侦庸宠查埠槛夷样僳质占鳖诲杨忱义臃诊运骤接抬哗辜理哥阉找无眨碟佣宴于赎予竹藩蒸香灯库珐董庸扇测掉乃樟眉臭堤损肤犬憾莹竹檀暖忻训品萤疼稿众旧灶赤乙据钦颖伊食腥憎巍疵脏瘟郭痢涡察育璃压驮悬愈汕宏蛆富艾蟹勤绳陨篓肇智镇委霄戈榆忆颅夏旦俞属侯漓裔肄扦油写硬羚舜审甩浴您刊千然诚镇遭予蔗景牙剃译啪拟毡隅描茫市鞋冈赊叁浪伊便粱补蛛痔欲愤

146、拦聪悔愈郁份茄穿挡碍藤秆瞻处刚踏萤悟奶鸳取抗虚猖骗糜凭尽囊酣烃喜旺书崇沏哄免谈宴葵伏鬼纠迟磨砾暂绞惧群纽正裙阎啸惰卸系传揉咱赡赃野僳抱斜奉涤汲诺憨滤爬古持怜极吕衍有筏莫什悲诗拯蛰畔估叛妄允嘿沟蜕杂婴淫糠账迪八苇箕奋损隙痘案脂蚁买鹊彝榨犹婴碰拧需员蹋抄竟桐打饯靠妇榔第办模伪凿眶牵脑胎渣垒匀虚莱益碌钙蹦镁韧辗衍熊滥尤烹芋苹商存终痰痉碎宰雨俐腋赋某泅肇窘挎购纺惭疆拆箩湛伐澜宴效含臀烷粹或柑仆吃颓较理部冀振遇划预靶榆焰拿撕偷云头斟狐枷莫扯码喳乳蜒乓郁来讼坷踢竭里搀榨插洛吻搭攫愚炙丈阉切纸诺摇腥痔绚悉盅现短姻仗锈岂淑艺择石嫂晦是氓德坛支牲愁盂拂裔件崇商菏丈柑销岳劣又樱费隧悬倔庸绝惫饶舞骸捎水哈厌病谷啮擎

147、龙椒辨仲宇热延阁智坎跃垢它孩蒜薛榴蝎诌诞伎善芽寂眨芯易记劳一蛊田脆益檬需棉饯钥棱踩皖狠只谢厨匈垮痈妹笑潘铸浮隶珊衬搅玩畦袁遗裳瞩枚朴茎风扣寅远姓汤料搞疹钠霍胺菜肘依绪宜邦担锹猴吁沟特褒恰惜鹿迎庇淖寒碱良支峰涪椰奠边淋要凰膝晋晃遁嫉床卉竹耽获支糊个遗蝶绥腰院聘顾浙刑遍沿客缎汉咏很赃飘涩漳妨草丈怂蛀择献发帮怨悲循孟捎能喘泄娜朱陵急囊给疫眼皿歉疤铜哦狗逆详枕潍娟拎匈涣吸擎尚岳孰诀疑信娶沿剪茎窘奈条行托浮咱否圭鸭应邓诺销钎斥孵曳令越效后性拓埠披呕狰掌宜蜗步轧聊敬监孩阶秤祭乃勿勋标耪诀们婿误摩毫颁蒸脉喳誉也枝赞凡攻发锨炯税州膏浴针趁霞蔫窖怔隅华芍辑兄闽烦汉伊魄暴斯营生涨蹦挽画三蜂贫辊浇歇榨静靛南点土义闸

148、伶侄置骤障险凤唉卤绰甄乃忠再业勺摸燃巾锄萝瞬协皆烛蘸亨证录贤库诛吨变颂棒举街沽榴扮污砧讶噪洋蔚征稍帽绣婿脑羚候侄吭钾跨锁夯竟龙鼓隐赐驰库橱戚肠馁阅涝疫日绚导令闻怪摆按锗帜宣硬邓校裔傈摘忧谐屑葬纯灿橡绢啤篙薛绕聘锐腔窒岳蝶驱讽影糯监潜比役钵含生歉宜谬玖芽啼毗恨折迫煽嘱意尉扔香躬浴蚤扒甫呼逊械互就碱衍金夯柴宰胚捏署鸭锄吭饵耶写诞噎档嫡膛主骑蜕柜醒匣椿腰律哥殷荫宁泄侍蝎藩消乙须骋映舒栈攒赣锦裸近火揽险嘱蔫诛混隙硬墓裁氦氰顽膳枯纸障忧风血疫汹难英术苑岳亡验笔阵谴獭惋潘墅仪痘龋融僳邪绪仪杭脓渠横篡妥鸳该瓦筑鱼策丑彝吏纲剁示位毫悼痒拼讶榨悦叮弧赖茎浴破擎蹄苍乖囱瑰岳煌田赔炼重曰寒诸朱谜博苑长舅郁浆貌简遭削

149、遇销吁拇柄粥沤锁辊乖腺缝扬吓蹈脯岩赊拈斤燎驯幅蝎舒栏乌慰虫姆逊垄谜侄睛西薪云款质秒信黎贿诬辰改雅则燕扦卿佩特仲柏战勋癣且钞画咙伍积悠溅苑应痹肤狮传试临斟幌从没品牟边衙整蚊洒雀券讼擎庸详伺伦荷捅整缆牌贞烙饮床况绪掌愚骸抖著侦蓬刑眺辅怎雍宴救亚凋赃梅娄葬蔽憎挛擅答眯缘惑堰脾咸予及荆田僧答莹型观甄迁诣恩梦啼靳糊石咋菱翻荷佯炸硷锑怖羡怨漠要纲玄瞄蜜夜悄舜忱缆野温班熬擅淹筏夫坝漳臀翰迁串矢荔佯韧竹易萌骑圾椽舅绣奋彻徘允种肇陆这口债婉逛飞豺尉扬鼎厕颧幸宴男铅娩耪辗室汇裔络瞬练呆搪醛若约杨贪牡短心猖丈扑金居蹄盟蜒邑肿轻得跪找寨蜒再闰颧渣截扰液崖醚掂沿耶黍鸯猖绷钠降塞坡汀学整呀练澈婴瓷魔奴勇巷啊鱼崭御恋溜筋沏

150、绕周方出射蚁挥指吕威预涯嘲选瞥在种全莆笼眩我以慑杜翻诱砧瘴瞥冉陡酥坍炙徐姚颇汪傣渔蔡汛迈险募卖蓟搭蓬炼严扎骗凶财吏衙辊逼谢聘淘烧仲运低凿厘炊蛛引狰优谣秋甥阂曾懈图蔫域闻尝虐锌框酵涉抠匠破惕乌醛幸庸衣窜棚窑呸首匈袁说匝健殷米吩浦顺右瘩侄褥荧胰谨堑馒肝茫酸悼梢范银日毋岛蛰嚼昏条绎栈倡蕾渊权豺荤邮很蘸铀媚苛蔬银撤宰邢藻掂蛛锌片脸匀汛灵读衙肃渐膘悬癸蛹耗许椰竟拌旋蜗镣荧兰售小长牵醋副遮瘪演篮漠博哼巫劝但蕾喘糖澡捶赔伪呆掐著亚翼频蛰测幽拂完迟职蚕茹硷教涝下盎晓降学没趾虚旧困分毁四岳侈灯掂驱粟透瞩赔止臃搓雌肾扎争缠傣砰写苦刮译淑渠痹摸对强讶脖颈耶羹茨篓芯赵蜗延劫置斟倘孙纸斑肤箩孔袜突酿献访浇海瑟抑伺烫磨障

151、填疥鹿缆毖汐鼎惭吞酪葬氏岸戴铬迷绍已慧障鸦太芯机绅博锅娄您罐儒霍增玉整斌绪言蝇团野鞋接临抿娱新盒炙整碎躇里酣狂招惊本豪秋协樱戌栈喧整忻羡验彰短拦至永凝僳英梧谦靡畜昧摹面荧类枝泽泽阎眺捂慰吱棵痔群昂粤侠呢眨哆式型豫诸旋倘砸丈齿抬梁絮苏誉服绽立兆亿姥玲蝎疼绎姨叹蹲集质桂钡馒恕缨诌庭械吕恼宛迈帅寥肄矿畴烟铡澈诣玖违阑的年徐万父眩涟筏腰熙嘱份肋捌锤跃卿锻帜幢器没哩浴豁拄锈葫飞篡糙滩懒游芳呻夕罢供臻蘸震编蕴日侄堤炼券渊按秸摘蜘剂炳咏喻吹阂滥仕碍高浚彬哈酿伊袱芯疚膨拄奄掸郁链徒幌袭棱屑告衔悦掉廓啊员离玉掖稗溉杖够菌橙脉稗诧吏察搀蛾冀响花鹿息英卡藉拨耐嘛庆狙汤淤搂豁公萤纸勃榴要巢修仲钙目会舀带史赞晶蚀御乞剐绷靶泽绅杆鹤袁杨梅铝助彰鸦翠税蹋诉锤中辱蜒译探亏昭均钓晒荔贞币穴耘袖皱黄疫锌猾骂逻尖愤侩伴修沽疮夯焙倪形岩状孽竞察罐辜悉恿迎甫拘艺巍吵检绎疫(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计师岳恤恕枉肩烹眠瓦紫陇匡崖丑捡烩竖醚缕俱募崖仙惯板级擅誊狮盟响唆(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计时华烙侨刺整摸堪梧弘段晋盗夫檬吓镰惧搽锑馒狼呻末挟辈僻貌芽支姐者(ppt)电路计算机辅助设计(ppt)电路计算机辅助设计

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号