1、简述电子设计技术的发展电子设计技术的发展:应用SSI数字电路芯片应用MCU微控制器or单片机(电子系统智能化)FPGA/CPLD现场可编程/复杂可编程逻辑器件(EDA基础)2、图示阵列完成的是什么功能?3、简述自顶向下的系统设计方法自顶向下(top-to-down):基于EDA技术顶:?系统功能向下:系统分为若干功能模块步骤:1.采用完全独立于目标芯片物理结构的硬件描述语言HDL(HardwareDescriptionLanguage),对系统的基本功能(行为)进行描述和定义。2.多层次仿真,完成功能确认。3.功能描述——具体目标芯片的网表文件。4.逻辑映射,布局布线。5.利用仿真文件进行功能、时序验证——确保系统性能。4、菊花链下载时,器件位置如何确定?在串行片数不超出接口的驱动能力时,器件位置由器件识别码确定器件前后芯片内存储器短路5、端口模式有几种?INOUTINOUTBUFFER6、简述在系统编程技术的特点特点:不用编程器,直接在用户的目标系统中或线路板上直接对PLD器件编程1、装配后编程下载2、根据需要对系统的硬件功能实时加以修改3、不改变系统硬件结构情况下,重构逻辑4、系统不停止工作时进行远程硬件升级7、简述EDA工具的FPGA/CPLD开发流程8、设计时怎样选择CPLD和FPGA器件I/O口定义:资源是否够用逻辑资源:GLB查阅宏单元库(门、触发器、计数器、MUX等,约200种)方程实现部分的估算资源利用率:(取50%)9、指出时序电路描述定义方式,给出CLK信号上升沿检测语句用不完整条件语句定义时序电路CLK'EVENTANDCLK='1'risen_edge(CLK)10、指出端口模式BUFFER与INOUT的不同之处INOUT:输入输出端口BUFFER:只能将输出的数据反馈输入,不能输入外部数据11、给出PROM、FPLA、PAL、GAL结构异同点与阵列或阵列输出电路PROM固定可编程固定PLA可编程可编程固定PAL可编程固定固定GAL可编程固定可组态12、给出CPLD和FPGA的主要异同CPLD:基于乘积项,编程FPGA:基于查找表,配置13、给出信号、变量的异同点。数据对象基本用法适用范围赋值表示和特性Signal电路中信号连线整个结构体内=进程最后赋值Variable进程中数据存储进程中使用:=立即赋值14、列举5条以上VDHL与计算机语言的主要不同之处VHDL是硬件描述语言,用于硬件器件的设计;实体定义元件的输入输出接口;结构体定义元件的行为逻辑功能;数据对象信号用于描述电路中信号连线;进程必须由敏感信号的变化来启动;信号上升下降沿事件监测;用不完整条件语句定义时序电路;仿真延时δ、固有延时和传输延时赋值。15、给出基于EDA工具的FPGA/CPLD开发的4个关键流程设计输入、综合、适配、编程下载16、简例说明三种延时固有延时:B=A?After20ns;传输延时:B=TRSPORTAfter20ns仿真延时δ17、简述自顶向下的系统建模及层次结构设计方法EDA自顶向下(TOPDOWN)设计方法:顶:系统行为模型――顶层器件;向下:系统逐层分为子系统――元件和子元件。硬件抽象级的模型:◇系统级(system)——描述系统级行为功能和体系结构模型;◇算法级(algorithm)——描述算法结构实现和运行模型;◇RTL级(RegisterTransferLevel)——描述数据数动模型;◇门级(gate-level)——描述逻辑门以其之间的连接模型;◇开关级(switch-level)——描述器件和存储节点以其之间连接模型。层次结构设计:顶层系统(器件)设计,将系统向下分解为子系统(元件);对系统进行功能(行为和算法)描述、定义和仿真,顶层逻辑电路及其HDL编程;子系统(元件)设计,如果需要,可将子系统逐层向下分解;为子系统(元件);进行逻辑功能描述、定义和仿真,下层逻辑电路及其HDL编程;对器件和元件HDL程序进行综合,生成RTL逻辑电路,进行逻辑功能和时序仿真和验证;目标器件适配,引脚锁定,时序仿真验证,生成目标芯片网表文件;编程下载或配置,硬件调试和验证。18、简述CPLD编程和FPGA配置的主要异同CPLD编程:基于非挥发存储技术编程,利用ISP或JTAG接口下载设计文件。FPGA配置:基于SRAM查找表的编程单元,利用FPGA的在线可重配置(ICR)特性,下载设计文件,每次上电,需重新配置。19、给出“自顶向下”设计流程的优点(不少于4个)设计人员不受芯片结构的约束,进行最适应市场需求的设计,避免再设计风险,缩短产品的上市周期。设计成果的再利用得以保证。(IP)采用结构化开发手段,一旦系统基本功能结构确定,可以实行多人、多任务并行工作方式。选择实现系统的目标器件的类型、规模,硬件结构的自由度更大。20、在进程中,是否允许同一信号有多个驱动源(赋值源)?例如:SINGALA,B,C,Y,Z:INTEGER;……PROCESS(A,B,C)BEGINY=A+B;Z=C–X;Y=B;ENDPROCESS;其中Y多次赋值,Y有结果吗?简述理由。在进程中,可以允许同一信号有多个赋值源,即Y允许多次赋值,Y的最终结果为B。当进程被启动后,信号赋值将自上而下顺序执行,但第一项赋值不会发生,因为Y的最后一项驱动源是B,因此Y被赋值B。21、用MAX+PLUSⅡ仿真时,如何将仿真结果从默认的二进制改为十进制显示?在Value一栏双击,就会出现EnterGroup对话框,其中BIN为二进制;DEC为十进制;OCT为八进制;HEX为十六进制。选中DEC,并确认即可。22、VHDL中有哪几种主要的并行语句?①进程语句;②块语句;③并行信号赋值语句;④元件例化语句;⑤生成语句;⑥并行过程调用语句23、VHDL中基本的顺序语句有哪些?①(变量)赋值语句;②流程控制语句;③等待语句;④子程序调用语句;⑤返回语句;⑥空操作语句。24、在MAX+PLUSⅡ中,如何查找低速的目标芯片?在选择芯片时,将ShowOnlyFastestSpeedGrades复选框中的勾号去掉。25、在MAX+PLUSⅡ中,保存文本文件时,对文件名及存储路径有何要求?文件名必须与实体名一致,且文件名中不可出现空格和中文字符;文件的存储路径中不得出现中文字符,且不得将文件存于根目录下。26、Max+PlusⅡ的编译窗口包含几个功能模块?编译器网表文件提取器(CompilerNetlistExtractor);基本编译文件建立器(DatabaseBuilder);逻辑综合器(LogicSynthesizer);逻辑分割器(Partitioner);适配器(结构综合器或布局布线器)Fitter时序仿真网表文件提取器(TimingSNFExtractor);装配器(Assembler)27、图示LUT完成的是什么功能?28、用EAB构成不同结构的RAM和ROM对应的数据宽度和地址宽度分别可以是多少?数据宽度:8421地址宽度:89101129、Max+PlusⅡ支持几种不同的编辑方式?图形、文本、符号、波形指出下列程序设计元件的中文名,指出语法错误并改正,给出改正后的时序图:1、LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT4BISPORT(CLK,RST,ENA:INSTD_LOGIC;OUTY:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT4B;ARCHITECTUREbehavOFCNT4BISSIGNALCQI:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK,RST,ENA)BEGINIFRST='1'THENCQI='0000';0000ELSIFCLK'EVENTANDCLK='1'THENIFENA=1THENCQI=CQI+1;'1'ELSECQI=0000;ENDIF;ENDIF;OUTY=CQI;ENDPROCESS;COUT=CQI(0)ANDCQI(1)ANDCQI(2)ANDCQI(3);ENDbehav;含异步清0和同步时钟使能的4位加法计数器2、LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYADDER8ISPORT(CIN:INSTD_LOGIC;A,B:INSTD_LOGIC_VECTOR(7DOWNTO0);S:OUTSTD_LOGIC_VECTOR(7DOWNTO0);COUT:OUTSTD_LOGIC_VECTOR);ENDADDER8;ARCHITECTUREbehavOFADDER8ISSIGNALSINT:OUTSTD_LOGIC_VECTOR(8DOWNTO0);BEGINSINT:=('0'&A)+B+CIN;=S=SINT(7DOWNTO0);COUT=SINT(8);ENDbehav;8位硬件加法器3、LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCLK_6DISPORT(CLK,RST:INSTD_LOGIC;CLK_OUT:OUTSTD_LOGIC);ENDCLK_6D;ARCHITECTUREONEOFCLK_6DISVARIABLETEMP:STD_LOGIC;SIGNALBEGINPROCESS(CLK)VARIABLECNT6D:INTEGERRANGE0TO3;CONSTANTSIGN:INTEGER:=2;BEGINIF(RST=“1”)THENTEMP=“0”;'1','0'ELSIFCLK'EVENTANDCLK='1'THEN(CLK'EVENTANDCLK='1')IF(CNT6D=SIGN)THENCNT6D:=0;TEMP=NOTTEMP;ELSECNT6D:=CNT6D+1;ENDIF;ENDIF;ENDPROCESS;CLK_OUT=TEMP;ENDONE;六分频电路电路时序图:4、libraryieee;useieee.std_logic_1164.all;entityencoderisport(b:instd_logic(7downto0);b:instd_logic_vector(7downto0)y:outstd_logic(2downto0));y:outstd_logic_vector(2downto0)endencoder;architectureoneofencoderisbeginprocess(b)begincasebiswhen01111111=y=111;when10111111=y=110;when11011111=y=101;when11101111=y=100;when11110111=y=011;when11111011=y=010;when11111101=y=001;when11111110=y=000;whenothers=null;endcase;endprocess;endone;8-3线译码器5、libraryieee;useieee.std_logic_1164;少.all;entitypisoisport(reset,clock:instd_logic;parallelnum:instd_logic_vector(3downto0);serialout:outstd_logic);end;architectureconvertofpisoisbeginprocess(clock)variablei:integerrange0to3;beginifreset='1'th