电路计算机辅助设计-资料

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

电路计算机辅助设计吉林大学通信工程学院高燕梅教学内容与要求第1章EDA技术简介第2章VerilogHDL语言编程(10学时)第3章VHDL语言编程(4学时)第4章MATLAB程序入门(12学时)第5章MATLAB在电路中的应用(4学时)每章有实验室上机实验dce.jlu.edu/eeec实验教学成绩评定标准五级分制作业加上机考核:1、作业必做,上机交作业时随机考两个问题。2、点名没有缺勤,加分。3、每次课最后有互动抢答,3次答对,只需交作业,可免试。第1章EDA技术简介1.1EDA技术的主要内容1.2EDA软件系统的构成1.3EDA的工程设计流程1.4数字系统的设计方法第2章VerilogHDL语言编程2.1VerilogHDL设计模块的基本结构2.2VerilogHDL词法构成2.3VerilogHDL的语句2.4VerilogHDL模型2.5VerilogHDL设计电路流程2.6用VerilogHDL描述逻辑电路的实例第3章VHDL语言编程基础3.1概述3.2VHDL程序基本结构3.3VHDL语言要素3.4VHDL顺序语句3.5VHDL并行语句3.6子程序(SUBPROGRAM)3.7库、程序包及其他3.8VHDL描述风格3.9基本逻辑电路设计3.10状态机的VHDL设计第4章MATLAB程序入门4.1基本语法4.1.1变量及其赋值4.4.2矩阵的初等运算4.1.3元素群运算4.1.4逻辑判断及流程控制4.2基本绘图方法4.2.1M文件及程序调试4.2.2MATLAB的开发环境和工具第5章MATLAB在电路中的应用5.1电阻电路和动态电路5.2正弦稳态电路和频率响应5.3二端口电路5.4滤波器第1章EDA技术简介1.1EDA技术的主要内容EDA是电子设计自动化(ElectronicDesignAutomation)的缩写。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。CPLD、FPGA器件可以通过软件编程而对硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。促进了EDA技术的迅速发展。EDA技术涉及面广,内容丰富,主要应掌握如下四个方面的内容:①大规模可编程逻辑器件,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体。FPGA和CPLD②硬件描述语言,硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段。VHDL、Verilog、ABEL③软件开发工具,软件开发工具是利用EDA技术进行电子系统设计的智能化的自动化设计工具。Altera的MAX+plusII、Lattice的ispEXPERT、Xilinx的FoundationSeries。④实验开发系统,实验开发系统则是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。1大规模可编程逻辑器件可编程逻辑器件(简称PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。FPGA是现场可编程门阵列的简称,CPLD是复杂可编程逻辑器件的简称。高集成度、高速度和高可靠性是FPGA/CPLD最明显的特点,其时钟延时可小至ns级,结合其并行工作方式,在超高速应用领域和实时测控方面有着非常广阔的应用前景。FPGA/CPLD的高可靠性还表现在几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。2硬件描述语言(HDL)常用的硬件描述语言有VHDL、Verilog、ABEL。VHDL:作为IEEE的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言。Verilog:支持的EDA工具较多,适用于RTL级(寄存器转换级)和门电路级的描述,其综合过程较VHDL稍简单,但其在高级描述方面不如VHDL。有专家认为,在新世纪中,VHDL与Verilog语言将承担几乎全部的数字系统设计任务。3软件开发工具目前比较流行的、主流厂家的EDA的软件工具有:Altera的MAX+plusII、升级版QuartusII;Lattice的ispEXPERT;Xilinx的FoundationSeries。MAX+plusII是Altera公司开发的EDA工具软件。Altera公司是世界上最大的可编程逻辑器件供应商之一。MAX+plusII软件是一个集成化的可编程逻辑器件开发环境,设计者能在这个环境下进行逻辑设计,完成设计文件的输入编辑、编译、仿真、综合、布局布线和编程下载等设计工作。软件界面友好、方便易学、功能全面,是非常流行的大众化EDA平台。MAX+plusII:支持原理图、VHDL和Verilog语言文本文件,以及以波形与EDIF等格式的文件作为设计输入,并支持这些文件的任意混合设计。它具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。在适配之后,MAX+plusII生成供时序仿真用的EDIF、VHDL和Verilog这三种不同格式的网表文件。它界面友好,使用便捷,被誉为业界最易学易用的EDA的软件,并支持主流的第三方EDA工具,支持所有Altera公司的FPGA/CPLD大规模逻辑器件。4实验开发系统提供芯片下载电路及EDA实验/开发的外围资源(类似于用于单片机开发的仿真器),供硬件验证用。一般包括:①实验或开发所需的各类基本信号发生模块,包括时钟、脉冲、高低电平等;②FPGA/CPLD输出信息显示模块,包括数码显示、发光管显示、声响指示等;③监控程序模块,提供“电路重构软配置”;④目标芯片适配座以及上面的FPGA/CPLD目标芯片和编程下载电路。自己阅读1.2EDA软件系统的构成EDA技术研究的对象是电子设计的全过程,有系统级、电路级和物理级3个层次的设计。涉及的电子系统从低频、高频到微波,从线性到非线性,从模拟到数字,从通用集成电路到专用集成电路构造的电子系统,因此EDA技术研究的范畴相当广泛。EDA软件系统应当包含以下子模块:设计输入子模块、设计数据库子模块、分析验证子模块、综合仿真子模块、布局布线子模块等。自己阅读(1)设计输入子模块;用户编辑输入模块的设计描述,并进行语义正确性、语法规则的检查,检查通过后,将用户的设计描述数据转换为EDA软件系统的内部数据格式,存入设计数据库被其他子模块调用。设计输入子模块不仅能接受图形描述输入、硬件描述语言(HDL)描述输入,还能接受图文混合描述输入。该子模块一般包含针对不同描述方式的编辑器,如图形编辑器、文本编辑器等,同时包含对应的分析器。自己阅读(2)设计数据库子模块:该模块存放系统提供的库单元以及用户的设计描述和中间设计结果。(3)分析验证子模块:该模块包括各个层次的模拟验证、设计规则的检查、故障诊断等。(4)综合仿真子模块:该模块包括各个层次的综合工具,理想的情况是:从高层次到低层次的综合仿真全部由EDA工具自动实现。(5)布局布线子模块:该模块实现由逻辑设计到物理实现的映射,因此与物理实现的方式密切相关。例如,最终的物理实现可以是门阵列、可编程逻辑器件等,由于对应的器件不同,因此各自的布局布线工具会有很大的差异。自己阅读1.3EDA的工程设计流程1源程序的编辑和编译利用EDA技术进行一项工程设计,首先需利用EDA工具的文本编辑器或图形编辑器将它用文本方式或图形方式表达出来,进行排错编译,变成Verilog、VHDL文件格式,为进一步的逻辑综合作准备。常用的源程序输入方式有三种。(1)原理图输入方式:利用EDA工具提供的图形编辑器以原理图的方式进行输入。原理图输入方式比较容易掌握,直观且方便,所画的电路原理图与传统的器件连接方式完全一样,很容易被人接受,而且编辑器中有许多现成的单元器件可以利用,自己也可以根据需要设计元件。(2)状态图输入方式:以图形的方式表示状态图进行输入。当填好时钟信号名、状态转换条件、状态机类型等要素后,就可以自动生成VHDL程序。这种设计方式简化了状态机的设计,比较流行。(3)Verilog、VHDL软件程序的文本方式:最一般化、最具普遍性的输入方法,任何支持VHDL的EDA工具都支持文本方式的编辑和编译。2逻辑综合和优化将VHDL的软件设计与硬件的可实现性挂钩,需要利用EDA软件系统的综合器进行逻辑综合。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形的描述,针对给定硬件结构组件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述文件。综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定硬件结构用某种网表文件的方式联系起来。综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件。自己阅读1.4数字系统的设计方法数字系统设计有多种方法,如模块设计法、自顶向下设计法和自底向上设计法等。数字系统的设计一般采用自顶向下、由粗到细、逐步求精的方法。自顶向下是指将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,则还需将子系统进一步分解为更小的子系统和模块,层层分解,直至整个系统中各子系统关系合理,并便于逻辑电路级的设计和实现为止。采用该方法设计时,高层设计进行功能和接口描述,说明模块的功能和接口,模块功能的更详细的描述在下一设计层次说明,最底层的设计才涉及具体的寄存器和逻辑门电路等实现方式的描述。采用自顶向下的设计方法有如下优点:(1)自顶向下设计方法是一种模块化设计方法。对设计的描述从上到下逐步由粗略到详细,符合常规的逻辑思维习惯。由于高层设计同器件无关,设计易于在各种集成电路工艺或可编程器件之间移植。(2)适合多个设计者同时进行设计。随着技术的不断进步,许多设计由一个设计者已无法完成,必须经过多个设计者分工协作完成一项设计的情况越来越多。在这种情况下,应用自顶向下的设计方法便于由多个设计者同时进行设计,对设计任务进行合理分配,用系统工程的方法对设计进行管理。针对具体的设计,实施自顶向下的设计方法的形式会有所不同,但均需遵循以下两条原则:逐层分解功能,分层次进行设计。同时,应在各个设计层次上,考虑相应的仿真验证问题。自己阅读第2章VerilogHDL语言2.1VerilogHDL设计模块的基本结构VerilogHDL程序设计由模块(module)构成的,设计模块的基本结构如图,一个完整的VerilogHDL设计模块包括端口定义、I/O声明、信号类型声明和功能描述4个部分。一、模块端口的定义模块端口定义用来声明电路设计模块的输入/输出端口,端口定义格式如下:module模块名(端口1,端口2,端口3,…);在端口定义的括号中,是设计电路模块与外界联系的全部输入/输出端口信号或引脚,是设计实体对外的一个通信界面,是外界可以看到的部分(不包含电源和接地端),多个端口之间用“,”分隔。例如1位全加器adder模块的端口定义为moduleadder(sum,cout,ina,inb,cin);模块名adder二、模块内容模块内容包括I/O声明、信号类型声明和功能描述。(1)模块的I/O声明模块的I/O声明用来声明模块端口定义中各端口数据流动方向,包括输入(input)、输出(output)和双向(inout)。I/O声明格式如下:input端口1,端口2,端口3,…;//声明输入端口output端口1,端口2,端口3,…;//声明输出端口例如,1位全加器的I/O声明为inputina,inb,cin;outputsum,cout;(2)信号类型声明信号类型声明是声明设计

1 / 105
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功