第1章EDA技术综合应用设计基础第1章EDA技术综合应用设计基础1.1EDA技术综合应用的形式1.2EDA技术综合应用的设计方法与建模1.3EDA综合应用设计中典型单元电路的设计1.4EDA技术综合应用设计的主要软件及设备1.5综合应用系统外围电路的PCB设计与制作第1章EDA技术综合应用设计基础1.1EDA技术综合应用的形式随着EDA技术的深入发展和EDA技术软硬件性能价格比的不断提高,EDA技术的应用将向广度和深度两个方面发展。根据利用EDA技术所开发的产品的最终主要硬件构成来分,作者认为,EDA技术的应用发展将表现为如下几种形式:第1章EDA技术综合应用设计基础(1)CPLD/FPGA系统:使用EDA技术开发CPLD/FPGA,使自行开发的CPLD/FPGA作为电子系统、控制系统、信息处理系统的主体。(2)“CPLD/FPGA+MCU”系统:综合应用EDA技术与单片机技术,将自行开发的“CPLD/FPGA+MCU”作为电子系统、控制系统、信息处理系统的主体。(3)“CPLD/FPGA+专用DSP处理器”系统:将EDA技术与DSP专用处理器配合使用,用“CPLD/FPGA+专用DSP处理器”构成一个数字信号处理系统的整体。第1章EDA技术综合应用设计基础(4)基于FPGA实现的现代DSP系统:基于SOPC(aSystemonaProgrammableChip)技术、EDA技术与FPGA技术实现方式的现代DSP系统。(5)基于FPGA实现的SOC片上系统:使用超大规模的FPGA实现的,内含1个或数个嵌入式CPU或DSP,能够实现复杂系统功能的单一芯片系统。(6)基于FPGA实现的嵌入式系统:使用CPLD/FPGA实现的,内含嵌入式处理器,能满足对象系统要求的特定功能的,能够嵌入到宿主系统的专用计算机应用系统。第1章EDA技术综合应用设计基础1.2EDA技术综合应用的设计方法与建模1.2.1分析方法传统的电路设计方法都是自底向上进行设计的,也就是首先确定可用的元器件,然后根据这些器件进行逻辑设计,完成各模块后进行连接,最后形成系统。第1章EDA技术综合应用设计基础在基于EDA技术的系统设计的最重要环节——在系统的基本功能或行为级上对设计的产品进行描述和定义时,我们采用自顶向下分析,自底向上设计的方法。所谓“自顶向下分析”,就是指将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,则还需将子系统进一步分解为更小的子系统和模块,层层分解,直至整个系统中各子系统关系合理,并便于逻辑电路级的设计和实现为止。图1.1是一个自顶向下设计的结构分解图。第1章EDA技术综合应用设计基础图1.1自顶向下设计的结构分解图完整树设计结构分解行为建模部分树设计行为建模第1章EDA技术综合应用设计基础采用自顶向下的设计方法有如下优点:(1)自顶向下设计方法是一种模块化设计方法。(2)由于高层设计同器件无关,可以完全独立于目标器件的结构,因此在设计的最初阶段,设计人员可以不受芯片结构的约束,集中精力对产品进行最适应市场需求的设计,从而避免了传统设计方法中的再设计风险,缩短了产品的上市周期。第1章EDA技术综合应用设计基础(3)由于系统采用硬件描述语言进行设计,可以完全独立于目标器件的结构,因此设计易于在各种集成电路工艺或可编程器件之间移植。(4)适合多个设计者同时进行设计。第1章EDA技术综合应用设计基础1.2.2表示方法1.文本表示方式在EDA的设计中,最一般化、最具普遍性的设计表示方式就是文本表示方式,也就是利用硬件描述语言(HDL)用软件编程的方式来表达自己的设计。根据文本表示方式所使用的抽象层次,我们又可将文本表示方式分为:行为描述、结构描述和数据流(寄存器传输级)描述。文本表示方式的优点:①设计的可读性好;②设计的复用性好;③设计的移植性好;④入档、交流、交付方便。第1章EDA技术综合应用设计基础2.图形表示方式在EDA的设计中,有时也用图形表示方式来表示自己的设计。图形表示方式常用的有原理图、状态图、波形图等。图形表示方式的优点是直观、方便,但是其存在以下缺点:①设计的可读性差;②设计的复用性差;③设计的移植性差;④入档、交流、交付不方便。3.文本、图形混用方式在EDA的设计中,根据自己设计所使用软件的性能及如何使设计简单易行,有时也经常采用文本、图形混用的方式。第1章EDA技术综合应用设计基础1.2.3实现方法1.硬件描述语言编程实现法硬件描述语言编程实现法就是用VHDL等硬件描述语言来表达自己的设计思想,并使用EDA工具提供的文本编辑器以文本的方式进行设计输入的一种实现方法。第1章EDA技术综合应用设计基础2.原理图设计实现法原理图设计实现法就是用原理图表达自己的设计思想,并使用EDA工具提供的图形编辑器以原理图的方式进行设计输入的一种实现方法。3.参数可设置兆功能块实现法参数可设置兆功能块实现法就是设计者可以根据实际电路的设计需要,选择LPM(LibraryofParameterizedModuels,参数可设置模块库,简称LPM)库中的适当模块,并为其设定适当的参数以满足自己设计需要的一种实现方法。第1章EDA技术综合应用设计基础4.软的或硬的IP核实现法软的或硬的IP核实现法就是在大型系统的设计中,对于某些功能模块的设计可通过调用已经购买的有关公司或电子工程技术人员的软的或硬的IP(知识产权)核来实现。第1章EDA技术综合应用设计基础1.2.4组成模型1.模块模型在VHDL的设计中,最常用的方法就是将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,则还需将子系统进一步分解为更小的子系统和模块,层层分解,直至整个系统中各子系统关系合理,并便于逻辑电路级的设计和实现为止。将系统分解后,首先将各个小的模块作为一个单独的设计实体进行设计,再将各个相关的设计实体组成更高层次的设计实体进行设计,如此重复下去,直到最顶层的设计实体设计好为止,这就是模块建模的思想,如图1.2所示。第1章EDA技术综合应用设计基础图1.2模块建模示意图DEVICE4DEVICE3DEVICE2DEVICE1ACBEDIJFGHWIRE第1章EDA技术综合应用设计基础图1.3进程建模示意图PROC1PROC2PROC3PROC4SASCSBSISJSESDSHSFSG第1章EDA技术综合应用设计基础2.进程模型在VHDL的设计中,对于一个系统中的多个模块,我们也可以不采用实体互连的方法进行设计,而是通过进程的互连构成一个整体。所谓进程,就是对数字器件的功能和延时进行建模的设计实体。器件与进程的对应关系有如下几种:①单个的器件映射为单个进程;②单个的器件映射为多个进程;③一系列器件映射为一个进程。数字系统模块模型中模块之间的连线在进程模型网络中用信号进行标记,如图1.3所示。第1章EDA技术综合应用设计基础1.2.5表示模型1.原理框图原理框图就是通过一个设计实体内部各个组成部件的互连来描述系统的内部组成及其相互之间的关系的一种图形表示模型。根据其描述的抽象层次,原理框图有门级、寄存器级、芯片级、系统级原理框图等几种。图1.4是门级、寄存器级、芯片级、系统级原理框图的示例。第1章EDA技术综合应用设计基础图1.4门级、寄存器级、芯片级、系统级原理框图中断控制器USART并口RAM微处理器IMURADARC/DA/B计算机REGINCMUXREGSRQQQQSRCLKASELECTCLKB门级寄存器级888芯片级系统级第1章EDA技术综合应用设计基础2.时序图时序图用图形的方式来表示一个设计实体的输入信号和输出信号之间的时序关系,它应描述各种输入信号可能出现的各种情形以及对应的输出信号所处的状态。从时序图上,我们可以看出各输入信号的种类,作用的先后,上升或下降沿的有效性,以及输出信号的状态。图1.5是一个时序图示例。第1章EDA技术综合应用设计基础图1.5时序图示意图ZXCLK第1章EDA技术综合应用设计基础3.状态机图状态机是一类很重要的时序电路,是许多数字电路的核心部件。状态机图是指用图形的方式来表示一个设计实体的各种工作状态、内部各工作状态转换的条件以及各工作状态对应的输出信号序列。图1.6是一个状态机图的示例。第1章EDA技术综合应用设计基础图1.6状态机图S2S0S1R1/00/01/00/11/10/0第1章EDA技术综合应用设计基础4.状态表、状态赋值表在状态机的设计中,我们也可以用另外一种方式——状态表、状态赋值表来表示一个设计实体的各种工作状态、内部各工作状态转换的条件以及各工作状态对应的输出信号序列。从状态表、状态赋值表上,我们可以清楚地看出一个设计实体的各种工作状态、内部各工作状态转换的条件以及各工作状态对应的输出信号序列。图1.7是一个状态表、状态赋值表的示例。第1章EDA技术综合应用设计基础图1.7状态表(左)、状态赋值表(右)×01S0S1/0S2/0S1S1/1S2/0S2S1/0S2/1CODEY1Y0S000S101S211第1章EDA技术综合应用设计基础5.流程图算法流程图是描述数字系统逻辑功能的最普通、最常用的工具之一。它由工作块、判别块、条件块以及指向线组成,与软件设计中所用的流程图极为相似。工作块的符号是一个矩型块,块内用简要的文字说明应进行的一个或一组操作或/和相应的输出信号。判别块的符号是一个菱形,块内给出了判别变量和判别条件,判别条件满足与否决定系统将进行不同的操作。条件块是一个带横杠的矩形块,条件块总源于判别块的一个分支,并仅当该分支条件满足时,条件块中标明的操作才执行,而且在分支条件满足时立即执行。开始块和结束块是一个四角为圆弧的矩形的变形。图1.8(a)是一个乘法器的框图,图1.8(b)是一个乘法器的算法流程图。第1章EDA技术综合应用设计基础图1.8乘法器的框图及算法流程图右移PI←I+1I←0,P←0输入A,BEND=1开始START=1?I=4?Bi=1?P←P+A乘法电路START4A4B8PEND(a)NYN(b)YNY第1章EDA技术综合应用设计基础6.ASM图用算法流程图描述系统时,并未严格地规定完成各操作所需的时间及操作之间的时间关系,仅规定了操作的顺序。对于采用同步时序结构的控制器,它在时钟脉冲的驱动下将产生一系列的控制信号,使数据处理单元完成各种操作。第1章EDA技术综合应用设计基础指向线(箭头线)用于把状态块、判别块、条件输出块有机地连接起来,构成完整的ASM图。在ASM图的标注中,表示CS是低电平有效,“CP1↑↓”表示CP1输出一个正脉冲。图1.9是一个乘法器控制单元的ASM图。第1章EDA技术综合应用设计基础图1.9乘法器控制单元的ASM图CC=1CR=0,CA=1CB0=CB1=1WAITEND=1START=1?I=4?Bi=1?CM0=1CM1=1NYNS0S2NYYS1S3CMO=1CBO=1第1章EDA技术综合应用设计基础7.MDS图MDS图(MemonicDocumentStateDiagram,可译为助记状态图,或备有记忆文档的状态图)是美国的WilliamFletcher于1980年提出的一种系统设计方法,MDS图可从详细逻辑流程图直接导出,依据它可较直观、方便地进行电路级的设计。第1章EDA技术综合应用设计基础(1)将工作框转换为状态助记符:用圆来表示某一状态,称为状态圆,圆中的字母为状态值的助记符,用来区别不同的状态。(2)判断框转换为分支助记符:当判断框转换为分支符号后,判断条件中的参数要用字母来表示,判断条件用逻辑表达式表示(与或式),逻辑表达式放置在分支旁边,称为分支条件;若流程图两个相邻的工作框之间没有判断框,则对应的分支旁边无分支表达式,这种分支称为无条件分支。不管原流程图中两个工作框之间原有多少个判断框,当转换为MDS图时只允许有一个分支。第1章EDA技术综合应用设计基础(3)多个判断框转换为条件分支助记符:在流程图中,两个工作框之间如果存在前后连续的多个判断框,表示这些判断条件必须同时满足(即在逻辑上相当“与”运算)时