1。从学习和使用的角度,你认为EDA技术主要包括哪几方面的内容这几个方面在整个电子系统的设计中分别起什么作用(10分)
A.大规模可编程逻辑器件。它是由用户编程以实现某种逻辑功能的新型逻辑器件。优势是开发周期短,投资风险小,产品上市速度快,市场适应能力强,硬件升级回旋余地大。
B.硬件描述语言。包括VHDL,ABEL,Verilog.其中VHDL和Verilog将承担几乎全部的数字系统设计任务。
C.软件开发工具。主要有quartus2,FoundationSeries.
D.实验开发系统。提供芯片电路及EDA实验开发的外围资料,以供硬件验证用。
2.阐述EDA实验开发系统的主要作用及基本组成。(10分)
答:EDA实验开发系统的主要用于提供可编程逻辑器件的电路及EDA实验开发的外围资料,以供硬件验证用。一般包括:
A.实验或开发所需的各类基本信号发生模块,包括时钟,脉冲,高低电平等;
B.FPGA/CPLD输出信号显示模块,包括数码显示,发光器显示,声响指示等;C.监控程序模块,提供“电路重构软配置”
D.目标芯片配座以及上面的FPGA/CPLD目标芯片和编程电路。
1.什么叫EDA技术使用EDA技术进行电子系统设计有什么优点(10分)
答:EDA技术有狭义的EDA技术和广义的EDA技术之分。狭义的EDA技术,就是指以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成将用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。广义的EDA技术,除了狭义的EDA技术外,还包括计算机辅助分析CAA技术(如PSPICE,EWB,MATLAB等),印刷电路板计算机辅助设计PCB-CAD技术(如PROTEL,ORCAD等)。(5分)
使用EDA技术进行电子系统设计的优点:(1)用软件的方式设计硬件;(2)用软件方式设计的系统到硬件系统的转换,由有关的开发软件自动完成;(3)设计过程中可用有关软件进行各种仿真;(4)系统可现场编程,在线升级;(5)整个系统可集成在一个芯片上,体积小、功耗低,可靠性高。(5分)
2.对于目标器件为FPGA/CPLD的VHDL工程设计,其工作步骤如何并简要介绍各步的作用。(10分)
答:(1)源程序的编辑和编译:利用EDA工具的文本编辑器或图形编辑器将设计用文本或图形方式表达出来,进行排错编译,变成VHDL文件格式;(1.5分)
(2)逻辑综合和优化:将电路的高级语言描述转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件,以便将VHDL的软件设计与硬件的可实现性挂钩;(2.0分)
(3)目标器件的布线/适配:将由综合器产生的网表文件针对某一具体的目标器进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布线与操作等,配置于指定的目标器件中,产生最终的文件,如JEDEC格式的文件;(2.0分)
(4)目标器件的编程/:将由FPGA/CPLD布线/适配器产生的配置/文件通过编程器或电缆载入目标芯片FPGA或CPLD中;(1.5分)
(5)设计过程中的有关仿真:设计过程中为了了解设计的结果,可通过仿真器进行有关仿真,包括行为仿真,功能仿真和时序仿真;(1.5分)
(6)硬件仿真/硬件测试:在ASIC设计中,常利用FPGA对系统的设计进行功能检测,通过后再将其VHDL设计以ASIC形式实现,这个过程称之为硬件仿真;针对FPGA或CPLD直接用于应用系统的设计中,将文件到FPGA后,对系统的设计进行的功能检测,这个过程称之为硬件测试。
1.FPGA的英文全称是FieldProgrammableGateArray,CPLD的英文全称是Comple_ProgrammableLogicDevices,二者在保存逻辑信息方面的区别是FPGA掉电后将丢失原有的逻辑信息而CPLD却能保持原有的逻辑信息。
2.一个相对完整的VHDL程序的三个基本组成部分别是库、程序包使用说明、
实体说明和实体对应的结构体说明。
3.IEEE_1076标准程序包中定义的四种常用端口模式分别是IN模式、OUT模式、BUFFER模式和INOUT模式。
4.VHDL的数据对象有常量、变量和信号三种。VHDL程序设计中常用的库有IEEE库、STD库、WORK库和VITAL库。
XXX是一种强数据类型语言,强数据类型的具体含义是:(1)各数据对象必须具有确定的数据类型
(2)具有相同数据类型的数据对象才能进行相互操作。
XXX的描述风格有三种,分别是行为描述、数据流描述和结构描述。
1.FPGA的中文含义是现场可编程门阵列,CPLD的中文含义是复杂可编程逻辑器
件,二者在保存逻辑信息方面的区别是FPGA掉电后将丢失原有的逻辑信息而
CPLD却能保持原有的逻辑信息
XXX是一种强类型语言,强类型的具体含义是:(1)要求设计实体中的每一个常数、信号、变量、函数以及设定各种参量都必须有明确的数据类型;
(2)只有数据类型相同的量才能互相传递和作用。其设计成强数据类型语言的目的是使VHDL编译或综合工具很容易找出设计中的各种错误。
3.VHDL程序的三个基本组成部分是库、程序包使用说明,实体说明和实体对应的结构体说明。
4.VHDL的基本标识符就是以英文字母开头,不连续使用下划线,不以下划线“_”结尾的,由字母、数字以及下划线“_”组成的字符串。
7.VHDL的元件例化语句用于建立端口之间映射关系的两种常用方式是名字关联方式
和位置关联方式。
8.状态机的两种基本操作分别是状态机内部状态转换和产生输出信号序列。
四、阅读本题程序,回答如下问题;(1)语句/语句组①~④的作用;(2)本程序将实现什么功能
①LIBRARYIEEE;
XXX.ALL;
ENTITYDETECTIS
PORT(DATAIN,CLK:INSTD_LOGIC;
Q:OUTSTD_LOGIC);
ENDDETECT;
ARCHITECTUREARTOFDETECTIS
②TYPESTATETYPEIS(S0,S1,S3,S4,S5,S6,S7,S8);
BEGIN
PROCESS(CLK)
③VARIABLEPRESENT_STATE:STATETYPE;
BEGIN
Q<=‘0’;
④CASEPRESENT_STATEIS
WHENS0=>IFDATAIN=‘0’THENPRESENT_STATE:=S1;
ELSEPRESENT_STATE:=S0:ENDIF;
WHENS1=>IFDATAIN=‘1’THENPRESENT_STATE:=S2;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS2=>IFDATAIN=‘1’THENPRESENT_STATE:=S3;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS3=>IFDATAIN=‘1’THENPRESENT_STATE:=S4;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS4=>IFDATAIN=‘1’THENPRESENT_STATE:=S5;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS5=>IFDATAIN=‘1’THENPRESENT_STATE:=S6;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS6=>IFDATAIN=‘1’THENPRESENT_STATE:=S7;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS7=>IFDATAIN=‘0’THENPRESENT_STATE:=S8;
Q<=‘1’;ELSEPRESENT_STATE:=S0;ENDIF;
WHENS8=>IFDATAIN=‘0’THENPRESENT_STATE:=S1;
ELSEPRESENT_STATE:=S2;ENDIF;
ENDCASE;
WAITUNTILCLK=‘1’;
ENDPROCESS;
ENDART;
答:语句组①的作用:先打开IEEE库,再打开IEEE库中的STD_LOGIC_11程序包中的所有项目。语句组②的作用:定义一个枚举型的自定义数据类型STATETYPE,它有S0~S8共9个值;(2分)语句组③的作用:定义一个变量PRESENT_STATE,其数据类型是自定义数据类型STATETYPE;(2分)语句组④的作用:这是一个多选一的选择语句,当变量PRESENT_STATE为S0时,若这时输入端口DATAIN为0,则PRESENT_STATE变为S1,否则保持为S0;(3分)
本程序实现的功能:实现一个“0”序列信号的检测功能。(6分
四、阅读本题程序,回答如下问题;(1)语句组①~④的作用;(2)本程序将实现什么功能(15分)①LIBRARYIEEE;XXX.ALL;XXX.ALL;XXX.ALL;ENTITYDPRAMIS②GENERIC(WIDTH:INTEGER:=8;DEPTH:INTEGER:=1024;ADDER:INTEGER:10);PORT(DATAIN:INSTD_LOGIC_VECTOR(WIDTH–1DOWNTO0);DATAOUT:XXX(WIDTH–1DOWNTO0);CLOCK,WE,RE:INSTD_LOGIC;WADD,RADD:INSTD_LOGIC_VECTOR(ADDER–1DOWNTO0));ENDENTITYDPRAM;ARCHITECTUREARTOFDPRAMISTYPEMEMISARRAY(0TODEPTH–1)OFSTD_LOGIC_VECTOR(WIDTH–1DOWNTO0);SIGNALRAMTMP:MEM;BEGIN③PROCESS(CLOCK)BEGINIF(CLOCK’EVENTANDCLOCK=‘1’)THENIF(WE=‘1’)THENRAMTMP(CONV_INTEGER(WADD))<=DATAIN;ENDIF;ENDIF;ENDPROCESS;④PROCESS(CLOCK)BEGINIF(CLOCK’EVENTANDCLOCK=‘1’)THENIF(RE=‘1’)THENDATAOUT<=RAMTMP(CONV_INTEGER(RADD));ENDIF;ENDIF;ENDPROCESS;ENDARCHITECTUREART;答:(1)①先打开IEEE库,再打开IEEE库中的STD_LOGIC_11,STD_LOGIC_ARITH,STD_LOGIC_UNSIGNED程序包中的所有项目。②对实体的WIDTH,DEPTH和ADDER的数据类型和宽度作了定义。③完成向地址‘写‘数据功能的进程。④完成从地址中‘读‘数据功能的进程。(2)这是一个8_1024的双口SRAM。
1。从学习和使用的角度,你认为EDA技术主要包括哪几方面的内容这几个方面在整个电子系统的设计中分别起什么作用(10分)
A.大规模可编程逻辑器件。它是由用户编程以实现某种逻辑功能的新型逻辑器件。优势是开发周期短,投资风险小,产品上市速度快,市场适应能力强,硬件升级回旋余地大。
B.硬件描述语言。包括VHDL,ABEL,Verilog.其中VHDL和Verilog将承担几乎全部的数字系统设计任务。
C.软件开发工具。主要有quartus2,FoundationSeries.
D.实验开发系统。提供芯片电路及EDA实验开发的外围资料,以供硬件验证用。
2.阐述EDA实验开发系统的主要作用及基本组成。(10分)
答:EDA实验开发系统的主要用于提供可编程逻辑器件的电路及EDA实验开发的外围资料,以供硬件验证用。一般包括:
A.实验或开发所需的各类基本信号发生模块,包括时钟,脉冲,高低电平等;
B.FPGA/CPLD输出信号显示模块,包括数码显示,发光器显示,声响指示等;C.监控程序模块,提供“电路重构软配置”
D.目标芯片配座以及上面的FPGA/CPLD目标芯片和编程电路。
2.什么叫EDA技术使用EDA技术进行电子系统设计有什么优点(10分)
答:EDA技术有狭义的EDA技术和广义的EDA技术之分。狭义的EDA技术,就是指以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成将用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。广义的EDA技术,除了狭义的EDA技术外,还包括计算机辅助分析CAA技术(如PSPICE,EWB,MATLAB等),印刷电路板计算机辅助设计PCB-CAD技术(如PROTEL,ORCAD等)。(5分)
使用EDA技术进行电子系统设计的优点:(1)用软件的方式设计硬件;(2)用软件方式设计的系统到硬件系统的转换,由有关的开发软件自动完成;(3)设计过程中可用有关软件进行各种仿真;(4)系统可现场编程,在线升级;(5)整个系统可集成在一个芯片上,体积小、功耗低,可靠性高。(5分)
2.对于目标器件为FPGA/CPLD的VHDL工程设计,其工作步骤如何并简要介绍各步的作用。(10分)
答:(1)源程序的编辑和编译:利用EDA工具的文本编辑器或图形编辑器将设计用文本或图形方式表达出来,进行排错编译,变成VHDL文件格式;(1.5分)
(2)逻辑综合和优化:将电路的高级语言描述转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件,以便将VHDL的软件设计与硬件的可实现性挂钩;(2.0分)
(3)目标器件的布线/适配:将由综合器产生的网表文件针对某一具体的目标器进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布线与操作等,配置于指定的目标器件中,产生最终的文件,如JEDEC格式的文件;(2.0分)
(4)目标器件的编程/:将由FPGA/CPLD布线/适配器产生的配置/文件通过编程器或电缆载入目标芯片FPGA或CPLD中;(1.5分)
(5)设计过程中的有关仿真:设计过程中为了了解设计的结果,可通过仿真器进行有关仿真,
包括行为仿真,功能仿真和时序仿真;(1.5分)
(6)硬件仿真/硬件测试:在ASIC设计中,常利用FPGA对系统的设计进行功能检测,通过后再将其VHDL设计以ASIC形式实现,这个过程称之为硬件仿真;针对FPGA或CPLD直接用于应用系统的设计中,将文件到FPGA后,对系统的设计进行的功能检测,这个过程称之为硬件测试。
1.FPGA的英文全称是FieldProgrammableGateArray,CPLD的英文全称是Comple_ProgrammableLogicDevices,二者在保存逻辑信息方面的区别是FPGA掉电后将丢失原有的逻辑信息而CPLD却能保持原有的逻辑信息。
2.一个相对完整的VHDL程序的三个基本组成部分别是库、程序包使用说明、
实体说明和实体对应的结构体说明。
3.IEEE_1076标准程序包中定义的四种常用端口模式分别是IN模式、OUT模式、BUFFER模式和INOUT模式。
4.VHDL的数据对象有常量、变量和信号三种。VHDL程序设计中常用的库有IEEE库、STD库、WORK库和VITAL库。
XXX是一种强数据类型语言,强数据类型的具体含义是:(1)各数据对象必须具有确定的数据类型
(2)具有相同数据类型的数据对象才能进行相互操作。
XXX的描述风格有三种,分别是行为描述、数据流描述和结构描述。
1.FPGA的中文含义是现场可编程门阵列,CPLD的中文含义是复杂可编程逻辑器
件,二者在保存逻辑信息方面的区别是FPGA掉电后将丢失原有的逻辑信息而
CPLD却能保持原有的逻辑信息
XXX是一种强类型语言,强类型的具体含义是:(1)要求设计实体中的每一个常数、信号、变量、函数以及设定各种参量都必须有明确的数据类型;
(2)只有数据类型相同的量才能互相传递和作用。其设计成强数据类型语言的目的是使VHDL编译或综合工具很容易找出设计中的各种错误。
3.VHDL程序的三个基本组成部分是库、程序包使用说明,实体说明和实体对应的结构体说明。
4.VHDL的基本标识符就是以英文字母开头,不连续使用下划线,不以下划线“_”结尾的,由字母、数字以及下划线“_”组成的字符串。
7.VHDL的元件例化语句用于建立端口之间映射关系的两种常用方式是名字关联方式
和位置关联方式。
8.状态机的两种基本操作分别是状态机内部状态转换和产生输出信号序列。
四、阅读本题程序,回答如下问题;(1)语句/语句组①~④的作用;(2)本程序将实现什么功能
①LIBRARYIEEE;
XXX.ALL;
ENTITYDETECTIS
PORT(DATAIN,CLK:INSTD_LOGIC;
Q:OUTSTD_LOGIC);
ENDDETECT;
ARCHITECTUREARTOFDETECTIS
③TYPESTATETYPEIS(S0,S1,S3,S4,S5,S6,S7,S8);
BEGIN
PROCESS(CLK)
③VARIABLEPRESENT_STATE:STATETYPE;
BEGIN
Q<=‘0’;
④CASEPRESENT_STATEIS
WHENS0=>IFDATAIN=‘0’THENPRESENT_STATE:=S1;
ELSEPRESENT_STATE:=S0:ENDIF;
WHENS1=>IFDATAIN=‘1’THENPRESENT_STATE:=S2;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS2=>IFDATAIN=‘1’THENPRESENT_STATE:=S3;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS3=>IFDATAIN=‘1’THENPRESENT_STATE:=S4;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS4=>IFDATAIN=‘1’THENPRESENT_STATE:=S5;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS5=>IFDATAIN=‘1’THENPRESENT_STATE:=S6;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS6=>IFDATAIN=‘1’THENPRESENT_STATE:=S7;
ELSEPRESENT_STATE:=S1:ENDIF;
WHENS7=>IFDATAIN=‘0’THENPRESENT_STATE:=S8;
Q<=‘1’;ELSEPRESENT_STATE:=S0;ENDIF;
WHENS8=>IFDATAIN=‘0’THENPRESENT_STATE:=S1;
ELSEPRESENT_STATE:=S2;ENDIF;
ENDCASE;
WAITUNTILCLK=‘1’;
ENDPROCESS;
ENDART;
答:语句组①的作用:先打开IEEE库,再打开IEEE库中的STD_LOGIC_11程序包中的所有项目。语句组②的作用:定义一个枚举型的自定义数据类型STATETYPE,它有S0~S8共9个值;(2分)语句组③的作用:定义一个变量PRESENT_STATE,其数据类型是自定义数据类型STATETYPE;(2分)语句组④的作用:这是一个多选一的选择语句,当变量PRESENT_STATE为S0时,若这时输入端口DATAIN为0,则PRESENT_STATE变为S1,否则保持为S0;(3分)
本程序实现的功能:实现一个“0”序列信号的检测功能。(6分)
四、阅读本题程序,回答如下问题;(1)语句组①~④的作用;(2)本程序将实现什么功能(15分)①LIBRARYIEEE;XXX.ALL;XXX.ALL;XXX.ALL;ENTITYDPRAMIS②GENERIC(WIDTH:INTEGER:=8;DEPTH:INTEGER:=1024;
ADDER:INTEGER:10);PORT(DATAIN:INSTD_LOGIC_VECTOR(WIDTH–1DOWNTO0);DATAOUT:XXX(WIDTH–1DOWNTO0);CLOCK,WE,RE:INSTD_LOGIC;WADD,RADD:INSTD_LOGIC_VECTOR(ADDER–1DOWNTO0));ENDENTITYDPRAM;ARCHITECTUREARTOFDPRAMISTYPEMEMISARRAY(0TODEPTH–1)OFSTD_LOGIC_VECTOR(WIDTH–1DOWNTO0);SIGNALRAMTMP:MEM;BEGIN③PROCESS(CLOCK)BEGINIF(CLOCK’EVENTANDCLOCK=‘1’)THENIF(WE=‘1’)THENRAMTMP(CONV_INTEGER(WADD))<=DATAIN;ENDIF;ENDIF;ENDPROCESS;④PROCESS(CLOCK)BEGINIF(CLOCK’EVENTANDCLOCK=‘1’)THENIF(RE=‘1’)THENDATAOUT<=RAMTMP(CONV_INTEGER(RADD));ENDIF;ENDIF;ENDPROCESS;ENDARCHITECTUREART;答:(1)①先打开IEEE库,再打开IEEE库中的STD_LOGIC_11,STD_LOGIC_ARITH,STD_LOGIC_UNSIGNED程序包中的所有项目。②对实体的WIDTH,DEPTH和ADDER的数据类型和宽度作了定义。③完成向地址‘写‘数据功能的进程。④完成从地址中‘读‘数据功能的进程。(2)这是一个8_1024的双口SRAM。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- abww.cn 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务