(2.2)--第2章 EDA技术及应用基础总结复习.ppt
第2章 EDA技术及应用基础总结复习1 利用EDA技术进行电子系统的设计与应用,首先应该熟悉EDA软件开发工具和EDA实验开发系统的使用,而利用典型实例进行学习则是一种非常有效的方法。本章首先概括地学习VHDL程序基本结构,其次学习常用EDA工具软件安装指南,接着学习常用EDA工具软件操作的用例VHDL源程序和VHDL仿真测试程序,再接着以实例的形式重点学习Altera Quartus 等常用EDA工具软件的使用,包括源程序的输入、有关仿真、管脚的锁定、逻辑综合与适配、编程下载等操作步骤与方法。最后学习EDA实验开发系统的工作原理和具体使用,包括:(1)通用EDA实验开发系统的基本组成、性能指标、工作原理以及其一般使用方法(2)GW48系列EDA实验开发系统的工作原理及其使用方法;(3)EDA实验开发系统的具体使用实例。内容提要答案:答案:ABCEABCE。答案:答案:ABCABC。答案:答案:ABCEABCE。答案:答案:B B。课前测试题答案:答案:A A。第2章 EDA技术及应用基础2.1.1 VHDL程序基本结构(1)主讲人:谭会生 教授内容提要内容提要VHDL程序应描述的内容;VHDL程序设计举例;VHDL程序的基本结构。2.1.1 VHDL程序基本结构(1)一、VHDL程序应描述的内容1在数字电子技术实验中,假设要使用一个集成电路芯片,事先需要了解的信息:该芯片符合什么规范,是谁生产的,用户是否认可;该芯片有多少管脚,每个管脚是输入还是输出,每个管脚对输入/输出有什么要求;该芯片各管脚之间的关系,以及能完成什么逻辑功能。图1 集成电路芯片2使用VHDL语言设计一个硬件电路需要描述的信息:设计是在什么规范范围内进行,即此设计符合哪个设计规范才能得到用户的认可,这就是库、程序包使用说明;所设计的硬件电路与外界的接口信号,这就是设计实体的描述;所设计的硬件电路的内部组成以及内部工作的逻辑功能,这就是该设计实体对应的结构体描述。二、VHDL程序设计举例【例题】74LS00的VHDL设计过程。1设计思路74LS00是一个四2输入与非门,先设计一个2输入与非门MYNAND2,再由四个2输入与非门构成一个整体MY74LS00。图2 MY74LS00的设计过程示意图2VHDL源程序1)2输入与非门MYNAND2的逻辑描述-库和程序包的使用说明LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;-打开IEEE库-打开IEEE库中的STD_LOGIC_1164程序包中的所有项目库的关键词使用的库名系统规定的关键词表示打开所使用的程序包的名字程序包中的所有项目-实体MYNAND2的说明ENTITY MYNAND2 IS PORT(A,B:IN STD_LOGIC;Y:OUT STD_LOGIC);END ENTITY MYNAND2;数据流向为输入两个数据端口的数据类型是标准逻辑位STD_LOGIC表示实体系统规定的实体说明的关键词实体名表示端口输出端口名输入端口名数据流向为输出图3 2输入与非门MYNAND2的逻辑功能图和端口图-实体MYNAND2的结构体说明ARCHITECTURE ART1 OF MYNAND2 IS BEGIN Y A1,B=B1,Y=Y1);U2:MYNAND2 PORT MAP(A=A2,B=B2,Y=Y2);U3:MYNAND2 PORT MAP(A3,B3,Y3);U4:MYNAND2 PORT MAP(A4,B4,Y4);END ARCHITECTURE ART2;图5 四二输入与非门MY74LS00逻辑功能组成图模块的标号整个系统MY74LS00的小的模块的名字端口映射本模块的端口与系统其他电路模块或系统输入和输出端口的关系端口的连接符号-用于描述该设计实体与外界的接口信号说明三、VHDL程序的基本结构设计实体库、程序包使用说明实体描述结构体描述结构体配置类属说明端口说明块语句进程语句信号赋值语句子程序调用语句元件例化语句结构体元素说明结构体功能描述常数说明数据类型说明信号说明例化元件说明子程序说明图6 VHDL程序设计基本结构-用于打开(调用)本设计实体将要用到的库、程序包-用于描述该设计实体内部的组成及内部工作的逻辑关系-主要用于以层次化的方式对特定的设计实体进行元件例化,或是为实体选定某个特定的结构体内容总结VHDL程序(或称为设计实体)包括三个基本组成部分:库、程序包使用说明,实体描述和实体对应的结构体描述。根据需要,实体还可以有配置说明语句。其中:(1)库、程序包使用说明:用于打开本设计实体将要用到的库、程序包;(2)实体描述:用于描述该设计实体与外界的接口信号说明;(3)结构体描述:用于描述该设计实体内部的组成及内部工作的逻辑关系。第2章 EDA技术设计与应用基础2.2.1 常用的EDA工具软件的操作用例主讲人:谭会生 教授内容提要内容提要 4位十进制计数器电路的设计:系统设计要求;系统设计思路;主要VHDL源程序设计与分析;学习扩展练习。2.2.1 常用的EDA工具软件的操作用例(1)一、系统设计要求用VHDL设计一个计数范围为09999的4位十进制计数器电路CNT9999。图1 CNT9999电路原理图底层和顶层电路均采用VHDL文本输入二、系统设计思路CNT9999图2CNT9999电路原理图三、主要VHDL源程序设计与分析1CNT10的VHDL源程序-CNT10.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT(CLK:IN STD_LOGIC;CLR:IN STD_LOGIC;ENA:IN STD_LOGIC;CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO:OUT STD_LOGIC);END ENTITY CNT10;BEGIN PROCESS(CLK,CLR,ENA)IS BEGIN IF CLR=1 THEN CQI=0000;ELSIF CLKEVENT AND CLK=1 THEN IF ENA=1 THEN IF CQI=1001 THEN CQI=0000;ELSE CQI=CQI+1;END IF;END IF;END IF;END PROCESS;计数控制进程ARCHITECTURE ART OF CNT10 IS SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);-定义保存计数值的信号CQI PROCESS(CLK,CQI)IS BEGIN IF CLKEVENT AND CLK=1THEN IF CQI1001 THEN CO=0;ELSE CO=1;END IF;END IF;END PROCESS;CQ=CQI;进位控制进程-表示将计数的中间结果CQI,传送到计数器CNT10的输出端口CQEND ARCHITECTURE ART;CNT10程序的设计要点:(1)计数器的设计,首先包括计数控制和进位控制两种功能;(2)计数的控制在VHDL中可用一个进程表示,而计数的控制又包含正常计数(加1操作)和边界处理(等于边界则清零)两种情况,而什么情况下进行计数或边界处理,可使用IF条件语句进行判断控制;(3)进位控制,则是根据计数的结果控制是否进位,也就是根据计数的中间结果,控制进位信号CO是输出1还是0。2CNT9999的VHDL源程序。-CNT9999.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CNT9999 IS PORT(CLR:IN STD_LOGIC;CLK:IN STD_LOGIC;ENA:IN STD_LOGIC;DOUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END ENTITY CNT9999;库、程序包的使用说明实体说明ARCHITECTURE ART OF CNT9999 IS COMPONENT CNT10 IS PORT(CLK,CLR,ENA:IN STD_LOGIC;CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO:OUT STD_LOGIC);END COMPONENT CNT10;SIGNAL S0,S1,S2,S3:STD_LOGIC;-定义模块间连接信号CNT10的元件例化声明 BEGIN U0:CNT10 PORT MAP(CLK,CLR,ENA,DOUT(3 DOWNTO 0),S0);U1:CNT10 PORT MAP(S0,CLR,ENA,DOUT(7 DOWNTO 4),S1);U2:CNT10 PORT MAP(S1,CLR,ENA,DOUT(11 DOWNTO 8),S2);U3:CNT10 PORT MAP(S2,CLR,ENA,DOUT(15 DOWNTO 12),S3);END ARCHITECTURE ART;图1 CNT9999电路原理图本设计所用的端口映射方式:位置关联方式CNT9999的设计要点:(1)该程序主要是将4个设计好的10进制计数器CNT10,通过元件例化语句组合成一个新的设计实体CNT9999;(2)其中元件例化语句包括两个组成部分,一个是元件调用声明,一个是元件的端口映射;(3)同时不同模块端口之间的连线需要定义一些信号。四、学习拓展练习:本设计是用4个CNT10组成CNT9999的设计,如果要将12个CNT10组成CNT999999999999的设计,又该如何进行CNT999999999999VHDL程序设计呢?对于程序设计,不但要看懂程序中各个语句的含义,更要分析与理清程序的设计思想,同时还要能够举一反三,也就是通过一个程序的设计与分析,能够修改有关参数和有关语句,掌握这一类程序的设计。第2章 EDA技术设计与应用基础2.2.2 常用的EDA工具软件的操作用例(2)主讲人:谭会生 教授内容提要内容提要 计数动态扫描显示电路的设计:系统设计要求;系统设计思路;主要VHDL源程序设计与分析;学习扩展练习。2.2.2 常用的EDA工具软件的操作用例(2)一、系统设计要求用VHDL设计一个计数范围为09999的计数器,并将计数结果使用动态扫描的方式进行显示。二、系统设计思路本系统的设计思路,先讲解动态扫描显示电路的设计原理,再讲解整个系统的结构设计。00101111图1 共阴极型七段显示器的LED位置定义和等效电路1动态扫描电路设计原理数码管的动态扫描显示:通过一个扫描控制电路,对需要显示的结果进行逐个扫描,使七段数码管逐个进行显示。只要每个扫描频率超过人的眼睛视觉暂留频率24Hz,就可以达到点亮1个七段数码管,却能享有所有七段数码管同时显示的视觉效果,而且显示也没有闪烁抖动,从而间接实现显示结果的同时显示。数码管7数码管1数码管0计数器CNT控制译码器数据选择器显示译码器CLKSEL2:0COM7:0COM7COM1COM0SEL2:0DATAIN15:0DATA3:0SEG7:0图2 8个共阴极型数码管动态扫描显示电路控制及驱动电路接线图SEL2:0=“001”COM7:0=“1111 1101”COM1=0图3 09999计数动态显示电路原理图底层的六个模块用VHDL文本输入,顶层的电路系统则采用原理图输入。DTCNT99992系统总体结构设计三、主要VHDL源程序设计与分析1CTRLS的VHDL源程序。-CTRLS.VHD LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CTRLS IS PORT(CLK:IN STD_LOGIC;SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END ENTITY CTRLS;CTRLS的实体说明 BEGIN PROCESS(CLK)IS BEGIN IF CLKEVENT AND CLK=1 THEN IF CNT=111 THEN CNT=000;ELSE CNT=CNT+1;END IF;END IF;END PROCESS;SEL COM COM COM COM=11111111;END CASE;END PROCESS P1;-LEDW DATA DATA DATA DATA DATA SEG SEG SEG SEG SEG SEG SEG SEG SEG SEG SEGCLK,CLR=CLR,ENA=ENA,CQ=CQ,CO=CO);PROCESS(CLK)BEGIN CLK=0;LOOP CLK=1,0 AFTER 5 NS;WAIT FOR 10NS;END LOOP;END PROCESS;CLR=1,0 AFTER 20 NS,1 AFTER 1000 NS;ENA CLK,CLR=CLR,ENA=ENA,DOUT=DOUT);PROCESS(CLK)BEGIN CLK=0;LOOP CLK=1,0 AFTER 5 NS;WAIT FOR 10NS;END LOOP;END PROCESS;CLR=1,0 AFTER 20 NS,1 AFTER 1600 NS;ENA=0,1 AFTER 40 NS,0 AFTER 1600 NS;END ARCHITECTURE ART;-表示被测试设计系统与系统中的端口映射产生时钟信号CLK进程-表示CLK的开始为高电平,经过5NS后CLK变为低电平,高低电平经过10NS后则重复出现-设置清零信号CLR-设置使能信号 ENA第2章 EDA技术设计与应用基础2.5.1 EDA的实验开发系统的使用(1)主讲人:谭会生 教授内容提要内容提要 EDA实验开发系统的基本组成;EDA实验开发系统的性能指标;通用EDA实验开发系统的工作原理;通用EDA实验开发系统的使用方法。2.5.1 EDA的实验开发系统的使用(1)一、EDA实验开发系统的基本组成1实验开发所需的各类基本信号发生模块,如多组时钟信号、脉冲信号、高低电平信号等;2CPLD/FPGA输出信号驱动显示模块,包括数码管或液晶显示、发光管显示、声响显示等;3监控程序模块,如提供“电路重构软配置”的单片机系统等;4目标芯片适配座以及CPLD/FPGA目标芯片和编程下载电路;5其他转换电路系统及各种扩展接口。二、EDA实验开发系统的性能指标1能提供足够的实验开发所需的各类基本信号发生模块,具有多组正、负脉冲信号,具有10个以上的高、低电平开关,具有多组BCD编码开关等。-如高频、中频、低频等各个频段的多组时钟信号,并且系统的最高工作频率应在50MHz以上-其中BCD编码开关,就是通过一个具有记忆功能的按键,输入4位BCD编码,因此1个BCD编码开关,相当于4个单独的1位按键。2能提供足够的CPLD/FPGA输出信号驱动显示模块,包括数码管或液晶显示、发光管显示、声响显示等,对于数码管的显示应具有7段/8段直显、外部译码后显示以及数据动态扫描显示。3主系统应用了“多任务重配置Reconfiguration”技术,可通过控制按键随意改变系统的硬件连接结构,以满足不同实验和开发设计的应用需要。4系统具有通用编程能力,可通过单一编程线而不需作任何切换就可对35家主流公司的FPGA/CPLD进行识别和编程下载。5系统除具有丰富的实验资源外,还应有扩展的A/D、D/A、VGA视频、PS/2接口、RS232通信、单片机独立用户编程下载接口、100MHz高频时钟源等EDA实验接口。6具有焊接技术规范性、主板用料高速高密性、系统承受的上限频率高、电路抗干扰性强、电磁兼容性良好等。三、通用EDA实验开发系统的工作原理通用EDA实验开发系统:指能够满足各种EDA实验或设计开发的需要的EDA实验开发系统,可看做是多种固定连接的EDA实验开发板,经过优化组合后叠加形成的复合EDA实验开发板。通用EDA实验开发系统基本条件:能够使用多个世界主流厂家的CPLD/FPGA的芯片;具有“电路重构软配置”,可以以各种不同方式连接来构造形式各异的实验电路的目的;具有万能通用插座;具有通用编程能力。其中“电路重构软配置”和万能通用插座是关键。通用EDA实验开发系统能满足使用不同厂家芯片进行各种EDA实验和开发的需要,其实现原理为:运用“电路重构软配置”的设计思想,实现CPLD/FPGA目标芯片I/O口与实验输入/输出资源可以各种不同方式连接来构造形式各异的实验电路的目的,变化的I/O资源电路结构图插座号管脚对照表特定的芯片管脚号而在不同的运行模式下,目标芯片I/O口与实验输入/输出资源对应的连接关系则通过实验电路结构图来表示。通过使用万能通用插座而建立不同厂家不同芯片管脚号与通用万能插座的插座号的对照表,建立变化的I/O资源与特定的芯片管脚编号的联系。其中万能插座的插座号是二者联系的桥梁。四、通用EDA实验开发系统的使用方法1根据所设计的实体的输入和输出要求,从实验电路结构图中选择合适的实验电路结构图,并记下对应的实验模式。2根据所选的实验电路结构图、拟采用的实验或开发芯片的型号以及系统结构图信号名与芯片引脚对照表,确定各个输入和输出所对应的芯片引脚号,并将有关信息填入芯片引脚的锁定过程表格中,以供设计中的有关步骤使用。3进入EDA设计中的编程下载步骤时,首先在EDA实验开发系统断电的情况下,将EDA实验开发系统的编程下载接口,通过实验开发系统提供的编程下载线与计算机的有关接口连接好,并将有关选择开关置于所要求的位置,然后接通EDA实验开发系统的输入电源,打开EDA实验开发系统上的电源开关,这时即可进行编程下载的有关操作。4编程下载成功后,首先通过模式选择键将实验模式转换到前面选定的实验模式。若输入和输出涉及时钟、声音、视频等信号,还应将相应部分的短路帽或接口部分连接好。之后输入设计实体所规定的各种输入信号,即可进行相应的实验。内容提要内容提要 GW48系列EDA实验开发系统介绍;GW48实验电路结构图;GW48系统结构图信号名与芯片引脚对照表;GW48系列EDA实验开发系统使用步骤。2.5.2 EDA的实验开发系统的使用(2)一、GW48系列EDA实验开发系统简介1.系统主要性能及特点:(1)GW48系统设有通用的在系统编程下载电路;可对Lattice、Xilinx、Altera、Vantis、Atmel和Cypress等世界六大PLD公司的各种ISP编程下载方式或现场配置的CPLD/FPGA系列器件进行实验或开发。图1 GW48系列EDA实验开发系统的板面结构图目标芯片板主系统板采用接插式结构动态电路结构自动切换工作方式,含可自动切换的12种实验电路结构模式。(2)GW48系统基于“电路重构软配置”的设计思想,采用了I/O口可任意定向目标板的智能化电路结构设计方案,利用在系统微控制器对I/O口进行任意定向设置和控制,从而实现了CPLD/FPGA目标芯片I/O口与实验输入/输出资源以各种不同方式连接来构造形式各异的实验电路的目的。图2 GW48实验开发系统目标板插座引脚信号图(3)GW48系统除丰富的实验资源外,还扩展了A/D、D/A、VGA视频、PS/2接口、RS232通信、单片机独立用户系统编程下载接口、48 MHz高频时钟源及在板数字频率计,图1 GW48系列EDA实验开发系统的板面结构图在其上可完成200多种基于FPGA和CPLD的各类电子设计和数字系统设计实验与开发项目。2.系统工作原理GW48系列EDA实验开发系统,是一种非常典型的通用EDA实验开发系统。实现步骤:变化的I/O资源电路结构图插座号管脚对照表特定的芯片管脚号万能插座的插座号是二者联系的桥梁运用“电路重构软配置”的设计思想,实现CPLD/FPGA目标芯片I/O口与实验输入/输出资源可以各种不同方式连接来构造形式各异的实验电路的目的,而在不同的运行模式下,目标芯片I/O口与实验输入/输出资源对应的连接关系则通过实验电路结构图来表示。通过使用万能通用插座而建立不同厂家不同芯片管脚号与通用万能插座的插座号的对照表,建立变化的I/O资源与特定的芯片管脚编号的联系。二、GW48实验电路结构图GW48系统,其主系统板与目标芯片板采用接插式结构,动态电路结构自动切换工作方式,含可自动切换的12种实验电路结构模式。图3 实验电路结构图NO.0两个4位二进制编码6个高低电平开关八组4位二进制编码图4 实验电路结构图NO.1四个4位二进制编码2个高低电平开关四组4位二进制编码图4 实验电路结构图NO.1该种结构图,适用于作加法器、减法器、比较器或乘法器。如欲设计加法器8位被加数8位加数最低位进位三、GW48系统结构图信号名与芯片引脚对照表结构图上的信号名ispLSI1032E-PC84XC95108-PLCC84FLEXEPF10K10-PLCC84XCS05/XCS10-PLCC84EPM7128S-PL84引脚号引脚名称引脚号引脚名称引脚号引脚名称引脚号引脚名称引脚号引脚名称PIO026I/O01I/O05I/O03I/O04I/O0PIO127I/O12I/O16I/O14I/O15I/O1PIO834I/O810I/O817I/O813I/O815I/O8PIO935I/O911I/O918I/O914I/O916I/O9PIO1036I/O1012I/O1019I/O1015I/O1017I/O10表1 GW48系统结构图信号名与芯片引脚对照表1结构图上的信号名GW48-CCP,GWAK100AEP1K100QC208GW48-SOC+/GW48-DSPEP20K200/300EQC240GWAK30/50EP1K30/20/50TQC144GWAC3EP1C3TC144GW48-SOPC/DSPEP1C6/1C12 Q240引脚号引脚名称引脚号引脚名称引脚号引脚名称引脚号引脚名称引脚号引脚名称PIO07I/O224I/O08I/O01I/O0233I/O0PIO18I/O225I/O19I/O12I/O1234I/O1PIO715I/O234I/O719I/O710I/O7240I/O7PIO817I/O235I/O820I/O811DPCLK11I/O8PIO918I/O236I/O921I/O932VREF2B12I/O9PIO1024I/O237I/O1022I/O1033I/O103I/O10表2 GW48系统结构图信号名与芯片引脚对照表2实验开发系统板上插座的序号芯片的管脚序号芯片的可用资源序号四、GW48系列EDA实验开发系统使用步骤(1)根据所设计的实体的输入和输出的要求以及GW48型EDA实验开发系统的各种实验电路结构图,选择合适的实验电路结构图,并记下对应的实验模式。(2)根据所选的实验电路结构图、拟采用的实验芯片的型号以及GW48系统结构图信号名与芯片引脚对照表,确定各个输入和输出所对应的芯片引脚号,并根据所采用的开发软件工具,编写符合要求的管脚锁定文件,以供设计中的有关步骤使用。(4)编程下载成功后,首先通过模式选择键(SW9)将实验模式转换到前面选定的实验模式,若输入和输出涉及时钟、声音、视频等信号,还应将相应部分的短路帽或接口部分连接好,之后输入设计实体所规定的各种输入信号即可进行相应的实验。(3)进入VHDL的EDA设计中的编程下载步骤时,首先将实验开发系统的下载接口通过实验开发系统提供的并行下载接口扁平电缆线与计算机的并行接口连接好,将实验开发系统提供的实验电源输入端接上220 V的交流电,输出端与实验开发系统的+5 V电源输入端相接,这时即可进行编程下载的有关操作。答案:答案:D D。答案:答案:A A。答案:答案:B B。答案:答案:B B。课后测试题答案:答案:ABCDEFABCDEF。答案:答案:A A。答案:答案:ABCDEFABCDEF。答案:答案:A A。答案:答案:A A。