《3 可编程逻辑的设计方法.ppt》由会员分享,可在线阅读,更多相关《3 可编程逻辑的设计方法.ppt(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章第三章可编程逻辑的设计方法可编程逻辑的设计方法 哈尔滨工业大学哈尔滨工业大学(威海威海)信息工程学院电子工程系信息工程学院电子工程系 2009.10.10第三章第三章 可编程逻辑的设计方法可编程逻辑的设计方法 0.0.综述综述1.1.原理图输入原理图输入2.HDL2.HDL语言输入语言输入3.3.状态机输入状态机输入4.4.波形输入波形输入5.5.功能模块输入功能模块输入6.IP6.IP模块输入模块输入7.7.附录附录0.0.综综 述述利用利用EDA工具提供的工具提供的图形编辑器以原理图的方式进行输入图形编辑器以原理图的方式进行输入。原。原理图输入方式比较容易掌握,直观且方便,所画的电路
2、原理图理图输入方式比较容易掌握,直观且方便,所画的电路原理图(请注意,这种原理图与利用(请注意,这种原理图与利用Protel画的原理图有本质的区别)画的原理图有本质的区别)与传统的器件连接方式是完全一样,很容易被人接受。与传统的器件连接方式是完全一样,很容易被人接受。缺点:缺点:随着设计规模的增大,设计的易读性迅速下降,对于图中随着设计规模的增大,设计的易读性迅速下降,对于图中密密麻麻的电路连线,极难搞清楚电路的实际功能;密密麻麻的电路连线,极难搞清楚电路的实际功能;一旦完成,电路结构的改变将十分困难;一旦完成,电路结构的改变将十分困难;移植困难、入档困难,交流困难。移植困难、入档困难,交流困
3、难。1 原理图输入原理图输入利用利用EDA工具提供的工具提供的图形编辑器以原理图的方式进行输入图形编辑器以原理图的方式进行输入。原。原理图输入方式比较容易掌握,直观且方便,所画的电路原理图理图输入方式比较容易掌握,直观且方便,所画的电路原理图(请注意,这种原理图与利用(请注意,这种原理图与利用Protel画的原理图有本质的区别)画的原理图有本质的区别)与传统的器件连接方式是完全一样,很容易被人接受。与传统的器件连接方式是完全一样,很容易被人接受。缺点:缺点:随着设计规模的增大,设计的易读性迅速下降,对于图中随着设计规模的增大,设计的易读性迅速下降,对于图中密密麻麻的电路连线,极难搞清楚电路的实
4、际功能;密密麻麻的电路连线,极难搞清楚电路的实际功能;一旦完成,电路结构的改变将十分困难;一旦完成,电路结构的改变将十分困难;移植困难、入档困难,交流困难。移植困难、入档困难,交流困难。1 原理图输入原理图输入1 原理图输入原理图输入1 其中其中MEGAFUNCTIONS为参数化模块为参数化模块包含包含:a.数学运算库数学运算库ARITHMETIC(乘加等乘加等)b.门库门库(三态门等三态门等)c.io库库(接口转换元件接口转换元件)d.storage库库(存储器存储器)2 Others为以前为以前MAXPLUSII模块模块 主要是主要是74系列的芯片库系列的芯片库(比如比如7404)3 PR
5、IMITIVES 为基本库为基本库(最为基本的元件库最为基本的元件库)a.buffer 为隔离门库为隔离门库(比如比如wire和和soft)b.logic 为基本逻辑为基本逻辑(与或非等与或非等)c.others 为电源为电源,GND等等 d.pin为输入输出管脚为输入输出管脚 e.storage 为基本触发器为基本触发器 LPM(Library Parameterized Modules)模块使用模块使用 参数化的宏功能模块库。1993年4月,LPM作为电子设计交换格式(EDIF)的附属标准,纳入了电子工业协会(EIA)的临时标准。在MAX+PLUS II 和 Quartus II中调用LP
6、M库函数非常方便,用户既可以在图形输入法中直接调用,也可以在HDL源文件中调用。1 原理图输入原理图输入1 原理图输入原理图输入2 2 HDLHDL语言输入语言输入Quartus II输入方式输入方式主要是:VHDLVHDL(V(Very high speed integration circuits ery high speed integration circuits HDL)HDL)Verilog HDL2 2 HDLHDL语言输入语言输入VHDLVHDL语言语言:是是在在AdaAda语语音音基基础础上上发发展展起起来来。由由美美国国国国防防部部发发起起、开开发发并并标标准准化化,198
7、71987年年公公布布为为IEEEIEEE标标准准的的超超高高速速硬硬件件描描述述语语言言.随随后后又又颁颁布布了了ANSI/IEEE ANSI/IEEE STANDARD1076-1993STANDARD1076-1993。由由于于VHDLVHDL语语言言规规范范化化与与标标准准化化,使使得得它它的的系系统统庞庞大大,语语法法规则较为复杂规则较为复杂,但功能都非常强大。,但功能都非常强大。2 2 HDLHDL语言输入语言输入VHDLVHDL硬件描述语言硬件描述语言Very high speed integration circuits HDLVery high speed integrati
8、on circuits HDL起源:起源:19851985年,美国国防部提出计划;年,美国国防部提出计划;19871987年成为年成为IEEE1076IEEE1076标准;标准;19931993年进一步修订完善;年进一步修订完善;是目前标准化程度最高,适应性最广的是目前标准化程度最高,适应性最广的HDLHDL语言;语言;2 2 HDLHDL语言输入语言输入VHDLVHDL硬件描述语言特点:硬件描述语言特点:全方位硬件描述全方位硬件描述从系统到电路从系统到电路多种描述方式多种描述方式适应层次化设计适应层次化设计数据类型丰富,语法严格清晰数据类型丰富,语法严格清晰串行和并行通用,物理过程清楚串行和
9、并行通用,物理过程清楚与工与工艺结艺结构无关,可用于各构无关,可用于各类类EDAEDA工具工具 2 2 HDLHDL语言输入语言输入VHDLVHDL语语言言已已成成为为EDAEDA设设计计中中信信息息交交换换的的重重要要标标准准,它它较较为为注注重重的的规规范范化化与与标标准准化化,使使得得VHDLVHDL语语言言系系统统庞庞大大,语语法法规规则则较较为为复复杂杂,但但功功能能却却非非常常强强大大。它它有有许许多多突突出出的优点的优点;如如语语言言与与工工艺艺的的无无关关性性,可可以以使使设设计计者者在在系系统统设设计计、逻辑验证阶段便确立方案的可行性;逻辑验证阶段便确立方案的可行性;又又如如
10、语语言言的的公公开开可可利利用用性性,使使它它们们便便于于实实现现大大规规模模系系统的设计等;统的设计等;同同时时硬硬件件描描述述语语言言具具有有很很强强的的逻逻辑辑描描述述和和仿仿真真功功能能,而而且且输输入入效效率率高高,在在不不同同的的设设计计输输入入库库之之间间转转换换非非常常方便。方便。因因此此,运运用用VHDLVHDL设设计计已已是是当当前前的的趋趋势势。各各种种EDAEDA工具都集成了工具都集成了VHDLVHDL编译与综合工具编译与综合工具.2 2 HDLHDL语言输入语言输入VHDLVHDL语言语言设计实例设计实例library IEEE;library IEEE;use IE
11、EE.std_logic_1164.all;use IEEE.std_logic_1164.all;use ieee.std_logic_unsigned.alluse ieee.std_logic_unsigned.all entity four is entity four is port(A0:in STD_LOGIC;port(A0:in STD_LOGIC;A1:in STD_LOGIC;A1:in STD_LOGIC;A2:in STD_LOGIC;A2:in STD_LOGIC;A3:in STD_LOGIC;A3:in STD_LOGIC;SEL:IN STD_LOGIC_VE
12、CTOR(1 downto 0);SEL:IN STD_LOGIC_VECTOR(1 downto 0);Y:out STD_LOGIC );Y:out STD_LOGIC );end four;end four;VHDLVHDL语言语言设计实例设计实例architecture four_arch of four isarchitecture four_arch of four isbeginbegin process(SEL,A0,A1,A2,A3)process(SEL,A0,A1,A2,A3)beginbegin case SEL iscase SEL is when 00=Y Y Y
13、Y Y Y Y Y=A3;end case;end case;end process;end process;end four_arch;end four_arch;Verilog HDL设计方法Verilog HDL是源于C语言,高效简洁.Verilog HDL语言是由CADENCE公司修订,经IEEE公布为IEEE STANDAD1364-1995标准的一种硬件描述语言。在美国ASIC设计者使用Verilog HDL语言较为普遍。VHDL语言较强调规范化与标准化,而Verilog HDL较多考虑到设计的有效性和便捷性,两者在结构描述中代码比为3:1。2 2 HDLHDL语言输入语言输入Ve
14、rilog HDLVerilog HDL语言语言设计实例设计实例 module C(A0,A1,A2,A3,SEL,Y);input A0;input A1;input A2;input A3;input 1:0 SEL;output Y;reg Y;四路选择器的Verilog HDL语言源程序清单。2 2 HDLHDL语言输入语言输入Verilog HDL语言设计实例always(SEL or A0 or A1 or A2 or A3)always(SEL or A0 or A1 or A2 or A3)beginbegin case(SEL)case(SEL)2b00:Y=A0;2b00:
15、Y=A0;2b01:Y=A1;2b01:Y=A1;2b10:Y=A2;2b10:Y=A2;2b11:Y=A3;2b11:Y=A3;default:Y=0;default:Y=0;endcaseendcaseendendendmoduleendmodule 四路选择器的VHDL语言源程序清单。2 2 HDLHDL语言输入语言输入2 2 HDLHDL语言输入语言输入3.3.状态机输入状态机输入 这这种种图图形形状状态态机机设设计计方方法法不不必必关关心心PLDPLD内内部部结结构构和和布布尔尔表表达达式式,只只需需考考虑虑状状态态转转移移条条件件及及各各状状态态之之间间关关系系,使使用用作作图图方
16、方法法构构成成状状态态转转移移图图,由由计计算算机机自自动动生生成成VHDLVHDL、VerilogVerilog式式ABELABEL语言描述的功能模块。语言描述的功能模块。状态机设计实例4 4 波形输入法设计方法波形输入法设计方法对对于于那那些些只只关关心心输输入入与与输输出出信信号号之之间间的的关关系系,而而不不需需要要对对中中间间变变量量进进行行干干预预的的系系统统可可使使用用波波形形输输入入法法。该该方方法法只只需需给给出出输输入入信信号号与与输输出出信信号号的的波波形形,EDAEDA软软件件会会自自动动生生成成相相应应功功能能模模块块,其其语语言言可可由由设计者选择。设计者选择。波波
17、形形输输入入法法是是一一种种直直接接明明了了的的设设计计方方法法。该该方方法法的的编编译译软软件件复复杂杂,不不适适合合复复杂杂系系统设计。且只有在少数统设计。且只有在少数EDAEDA软件中有集成。软件中有集成。波形输入法设计实例 5 功能模块输入法 一些EDA软件集成了填表式的功能模块设计方法,软件提供一些基本的功能模块编辑器,如计数器,加法器,比较器,分频器设计,使用者只需填写相应的参数计算机便会自动生成HDL描述的功能模块。基本单元符号输入5 功能模块输入法创建新的宏功能模块变量创建新的宏功能模块变量编辑存在的宏功能模块变量编辑存在的宏功能模块变量拷贝存在的宏功能模块变量拷贝存在的宏功能
18、模块变量使用MegaWizard 进行宏功能模块例化5 功能模块输入法例化双口RAM5 功能模块输入法例化双口RAM5 功能模块输入法例化双口RAM5 功能模块输入法例化双口RAM5 功能模块输入法例化双口RAM5 功能模块输入法例化双口RAM5 功能模块输入法例化双口RAM5 功能模块输入法输入双口RAM5 功能模块输入法Hex格式文件,或Mif格式文件RAM初始化文件输入5 功能模块输入法5 功能模块输入法实例 MAX+plusII提供的MegaWizard窗口6 IP模块输入方法具有知识产权的IPIP模块的使用是现代数字系统设计最有效方法之一。IP模块一般是比较复杂的模块,如数字滤波器、
19、总线接口、DSP、图像处理单元等,由于这类模块设计工作量大,设计者在进行设计、仿真、优化,逻辑综合、测试等方面化费大量劳动。因此各EDA公司均设有IP中心,在网上为设计者服务。网络上已有丰富的各类IP出售,使设计者之间资源共享,加快产品设计,降低产品设计风险。可以预料,在未来的设计中,网上IP资源将会越来越丰富,IP的使用将会更加广泛。返回IP软软IP固固IP硬硬IP完成了综合完成了综合的功能块的功能块 提供设计的提供设计的最终阶段产最终阶段产品:掩膜品:掩膜 用用HDL等硬件描述语言等硬件描述语言描述的功能块,但是并描述的功能块,但是并不涉及用什么具体电路不涉及用什么具体电路元件实现这些功能
20、。元件实现这些功能。6 IP模块输入方法6 IP模块输入方法返回附录附录返回常见的基本概念常见的基本概念逻辑综合和优化逻辑综合和优化逻逻辑辑综综合合,就就是是将将电电路路的的高高级级语语言言描描述述转转换换成成低低级级的的,可可与与FPGA/CPLDFPGA/CPLD或或构构成成ASICASIC的的门门阵阵列列基基本本结结构构相相映射的网表文件映射的网表文件由由于于VHDLVHDL仿仿真真器器的的行行为为仿仿真真功功能能是是面面向向高高层层次次的的系系统统仿仿真真,只只能能对对VHDLVHDL的的系系统统描描述述作作可可行行性性评评估估测测试试,不不针针对对任任何何硬硬件件,因因此此基基于于这
21、这一一仿仿真真层层次次的的许许多多VHDLVHDL语句不能被综合器所接受。语句不能被综合器所接受。返回返回目标器件的布线目标器件的布线/适配适配逻逻辑辑适适配配,就就是是将将由由综综合合器器产产生生的的网网表表文文件件针针对对某某一一具具体体的的目目标标器器进进行行逻逻辑辑映映射射操操作作,其其中中包包括括底底层层器器件件配配置置、逻逻辑辑分分割割、逻逻辑辑优优化化、布布线线等等,配配置置与与指定的目标器件中,产生最终的下载文件。指定的目标器件中,产生最终的下载文件。通通常常,EDAEDA软软件件中中的的综综合合器器可可由由专专业业的的第第三三方方EDAEDA公公司司提提供供,而而适适配配器器
22、则则需需由由FPGA/CPLDFPGA/CPLD供供应应商商自自己己提提供供,因为适配器的适配对象直接与器件结构相对应。因为适配器的适配对象直接与器件结构相对应。返回返回目标器件的编程目标器件的编程/下载下载如如果果编编译译、综综合合、布布线线/适适配配和和行行为为仿仿真真、功功能能仿仿真真、时时序序仿仿真真等等过过程程都都没没有有发发现现问问题题,既既满满足足原原设设计计要要求求,则则可可以以将将由由FPGA/CPLDFPGA/CPLD布布线线/适适配配器器产产生生的的配配置置/下下载载文文件件通通过过编编程程器器或或下下载载电电缆缆载载入入目目标标芯芯片片FPGA/CPLDFPGA/CPL
23、D中。中。返回返回设计过程中的有关仿真设计过程中的有关仿真行为仿真行为仿真功能仿真功能仿真时序仿真时序仿真行为仿真所所谓谓行行为为仿仿真真,就就是是将将VHDL设设计计源源程程序序直直接接送送到到VHDL仿仿真真器器中中所所进进行行的的仿仿真真。该该仿仿真真只只是是根根据据VHDL的语义进行的,与具体电路没有关系。的语义进行的,与具体电路没有关系。功能仿真功能仿真所所谓谓功功能能仿仿真真,就就是是将将综综合合后后的的VHDL网网表表文文件件再再送送到到VHDL仿仿真真器器中中所所进进行行仿仿真真。这这时时的的仿仿真真仅仅对对VHDL描描述述的的逻逻辑辑功功能能进进行行测测试试模模拟拟,以以了了
24、解解其其实实现现的的功功能能是是否否满满足足原原设设计计的的要要求求,仿仿真真过过程不涉及具体器件特性,如延时特性。程不涉及具体器件特性,如延时特性。时序仿真时序仿真所所谓谓时时序序仿仿真真,就就是是将将步步线线器器/适适配配器器所所产产生生的的VHDLVHDL网网表表文文件件送送到到VHDLVHDL仿仿真真器器中中所所进进行行的的仿仿真真。该该仿仿真真已已将将器器件件特特性性考考虑虑进进去去了了,因因此此可可以以得得到到精确的时序仿真结果精确的时序仿真结果返回返回硬件测试硬件测试所所谓谓硬硬件件测测试试,就就是是FPGA/CPLDFPGA/CPLD直直接接应应用用与与系系统统设设计计中中,将
25、将下下载载文文件件下下载载到到芯芯片片后后,对对系系统统的的设设计进行的功能检测的过程。计进行的功能检测的过程。数字系统设计数字系统设计数据处理数据处理子系统子系统控制子系统控制子系统输输入入部部分分输输出出部部分分控制与条件信号控制与条件信号时钟时钟外部控制系统外部控制系统数字系统结构框图数字系统结构框图数字系统的设计流程数字系统的设计流程系统任务分析系统任务分析确定算法确定算法系统模块划分系统模块划分系统逻辑描述系统逻辑描述电路级设计电路级设计验证验证(仿真仿真)物理实现物理实现数字系统设计应考虑因素数字系统设计应考虑因素可行性可行性可测性可测性可靠性可靠性可维护性可维护性数字系统设计一般
26、原则数字系统设计一般原则设设计计工工作作层层次次化化、结结构构化化、便便于于将将复复杂杂系系统统任任务分解。务分解。设设计计工工作作标标准准化化、规规范范化化,便便于于设设计计成成果果的的再再利用与交流。利用与交流。系统设计周期短,利于新产品迅速上市。系统设计周期短,利于新产品迅速上市。系统统计成本低(含设计、仿真、测试)。系统统计成本低(含设计、仿真、测试)。尽尽可可能能利利用用因因特特网网资资源源,获获得得EDAEDA产产商商与与芯芯片片厂商的在线支持。厂商的在线支持。传统设计方法和传统设计方法和EAD设计方法的不同设计方法的不同 传统设计方法传统设计方法 EAD设计方法设计方法 自底向上
27、自底向上 自自顶向下顶向下 手动设计手动设计 自自动设计动设计 硬软件分离硬软件分离 打破硬软打破硬软件屏障件屏障 原理图方式设计原理图方式设计 原理图原理图,VHDL,VHDL语言等多种设计方式语言等多种设计方式 系统功能固定系统功能固定 系统功能易系统功能易变变 不易仿真不易仿真 易仿真易仿真 难测试修改难测试修改 易测试修改易测试修改 模块难移置共享模块难移置共享 设计工作标准化设计工作标准化,模块可移置共享模块可移置共享 设计周期长设计周期长 设计周期短设计周期短自顶向下的设计方法自顶向下的设计方法首首先先对对任任务务进进行行分分析析,进进行行系系统统总总体体设设计。计。将任务进行合理
28、分解成若干个子系统。将任务进行合理分解成若干个子系统。对对各各子子系系统统的的进进行行具具体体设设计计(或或继继续续分分解)、验证(仿真)和修改。解)、验证(仿真)和修改。进行系统级的仿真和修改。进行系统级的仿真和修改。自顶向下的设计方法的优点自顶向下的设计方法的优点对对设设计计的的描描述述从从上上到到下下逐逐步步由由粗粗略略到到详详细细,符符合合常常规规的的逻逻辑辑思思维维习习惯惯。由由于于高高层层次次设设计计同同器器件件无无关关,因因此此设设计计易易于于在在各各种种集集成成电电路路工工艺艺或或可编程器件之间移植可编程器件之间移植 。适适合合多多个个设设计计者者同同时时进进行行设设计计。随随着着技技术术的的不不断断进进步步,许许多多设设计计由由一一个个设设计计者者已已无无法法完完成成,由由多多个个设设计计者者分分工工协协作作完完成成一一项项设设计计的的情情况况越越来越多。来越多。FPGA/CPLD比单片机设计的优势比单片机设计的优势 FPGA/CPLD 单片机单片机速度速度 高高 低低可靠性可靠性 高高 低低(PC易跑易跑“飞飞”)软件通用性软件通用性 强强 差差编程方式编程方式 先进多样先进多样 单一单一开发周期开发周期 短短 长长