复习及考试安排一、复习范围1课件中要点及举例•1、2章中基本概念(EDA技术及开发流程,可编程器件分类、结构、特点等)•3、4章中程序结构及语言要素(标识符、数据对象、数据类型、关键字术语等)•6、7、8章中各种语句格式(信号赋值语句、元件例化语句、进程语句;if语句、case语句、loop语句等)•6、7、8章中的应用举例(全加器、选择器、表决器、译码器、计数/分频器、序列发生/检测器等)2每章课后思考题及常用术语•见附一、附二3实验及上机练习•见附三4基于Quartus的数字系统开发过程•回顾总结上机操作步骤复习及考试安排二、考试题型1填空:每空1分,共25分(EDA技术、可编程器件、VHDL程序结构、VHDL语言要素、常用术语等)2根据要求回答:5小题,共50分(阅读程序,分析功能,改错,画出端口/波形图,求解给定输入下的输出)3程序设计:1大题2部分,共25分(理解题意,设计程序,画出结构示意图/端口连线图,简述开发步骤)复习及考试安排三、考试安排1考试方式:闭卷笔试2考试时间:15周周五(2011.12.9.)上午8:30-10:303考试地点:教三305复习及考试安排附一:每章课后思考题第1章习题1.与模拟系统相比,数字系统具有哪些显著特点?2.数字系统设计涉及到哪几方面内容?3.基于EDA技术的数字系统设计具有哪些特点?4.简述EDA技术涵义、基本特征及其主要研究内容。5.简要说明现代数字系统开发流程及相应的开发工具。第2章习题1.简单、低密度的可编程逻辑器件有哪几种?简述其基本结构并比较PAL与GAL的类同和区别?2.何谓CPLD、FPGA?简述它们的基本组成及特点,并从基本结构、互连关系、编程方式、集成度及应用场合等几方面对CPLD与FPGA进行比较。3.Altera公司的代表系列芯片由哪几种?有何特点?第3章习题1.什么是VHDL?其主要特点?2.VHDL程序由哪几部分组成?试画出其结构示意图。3.什么是设计的实体?其功能作用?4.设计实体有哪几种端口模式?端口说明语句的一般格式?5.什么是设计的构造体?简述其功能作用与结构组成。6.设计实体中的库有哪几类?其作用是什么?如何调用库资源?7.参考举例,设计一个8选1多路选择器。1.正确编写VHDL程序需要注意哪几大要素?2.VHDL中标识符的书写规则?其功能作用?3.VHDL包括哪几种数据对象?其赋值语句的一般格式?4.VHDL中常用的数据类型有哪几种?分别被定义在哪几个程序包中?5.VHDL支持哪几种运算操作?哪一种运算优先级最高?6.常用的VHDL关键字及EDA术语有哪些?解释其含义。第4章习题第6章习题1.VHDL的常用语句?各有什么特点?2.VHDL常用的并行语句有哪几种?3.简单信号、条件信号、选择信号赋值语句的一般格式?4.进程语句由哪几部分组成?其一般格式?5.元件例化是什么描述风格?由哪几部分组成?6.元件例化语句的端口映射有哪2种方式?其一般格式?7.根据VHDL语法规则和语言要素,应用VHDL并行描述语句设计:(1)多位选择器(2)多人表决器8.应用VHDL的结构化描述风格设计四位全加器与四位移存器。第7章习题•VHDL常用的顺序语句有哪几种?•IF语句、CASE语句在构造体中的位置?其一般格式?•LOOP语句支持哪2种重复模式?一般格式?•NEXT语句、EXIT语句作用?一般格式?•根据VHDL语法规则和语言要素,应用VHDL顺序描述语句设计:(1)带使能控制的3-8译码器(2)驱动共阳数码管的4-7译码器(3)8位并行数据“0”个数检测电路(4)24进制计数器/24分频电路(5)多人表决器(带权)第8章习题应用VHDL描述语句设计:(1)分频系数为88,144,256等的数控分频器(2)扫描驱动共阴数码管,显示字符“HELLO”(3)“01”序列的产生与检测电路(4)16位串行数据帧“1”个数检测附二:EDA常用术语(1)SSIC:SmallScaleIntegratedCircuitMSIC:MiddleScaleIntegratedCircuitLSIC:LargeScaleIntegratedCircuitASIC:ApplicationSpecificIntegratedCircuitSPLD:SimpleProgrammableLogicDeviceCPLD:ComlexProgrammableLogicDeviceFPGA:FieldProgrammableGateArraySOPC:SystemonProgrammablechipEDA:ElectronicDesignLanguageHDL:HardwareDescriptionLanguagePLA:ProgrammableLogicArrayPAL:ProgrammableArrayLogicGAL:GenericArrayLogicOLMC:OutputLogicMacroCellJTAG:JointTestActionGroup附二:EDA常用术语(2)ISP:InSystemProgrammableRTL:RegisterTransportLevelPIA:ProgrammableInterconnectArrayLAB:LogicArrayBlockLUT:LookUpTableLE:LogicElementtop_down/bottom_up:attributedescription/typedeclaration:genericparameter/sensitivesignal:concurrent/sequentialstatement:compile/simulate/assignment:default/binaryvalue:multidrives/value:实验内容:1.熟悉Quartus2集成开发环境:窗口界面、菜单命令、工具按钮。2.熟悉Quartus2文本编辑器,编写输入8-1多路选择VHDL源程序。3.熟悉Quartus2编译综合器,进行VHDL程序综合并查看结果。4.熟悉Quartus2波形仿真器,进行VHDL程序仿真并分析时序。5.编写输入下列源程序,修改其中的语法错误,编译通过后进行仿真,分析并说明该VHDL程序的功能。附三:实验及上机练习实验一VHDL程序开发入门--libraryieee--useieee.std_logic_1164.all;entity3_8ymqisport(a,b,c,g1,g2,g3:instd_logic;y:outstd_logic_vector(7downto0);end3_8ymq;architecturertlof3_8ymqissignalcba:std-logic-vector(2to0);begincba=c&b&a;process(cba,g1,g2,g3)beginif(g1='1'andg2='0'andg3='0')thencasecbaiswhen000=y=11111110“,when001=y=11111101“,when010=y=11111011“,when011=y=11110111“,when100=y=11101111“,when101=y=11011111“,when110=y=10111111“,when111=y=01111111“,whenothers=y=XXXXXXXX“;endcase;elsey=‘11111111’;endif;endprocess;end;实验内容:1.熟悉Quartus2的图形编辑器:库元件/设计单元的调用与连接。2.了解Quartus2的LPM编辑器:宏功能模块LPM的参数设置与调用。3.掌握Quartus2混合输入方式:底层模块(HDL)+顶层综合(BLOCK)。4.混合输入应用举例:正弦信号发生器设计与调试。5.应用VHDL设计一24进制计数器,并用2位共阴数码管扫描显示。6.阅读附1程序段,分析实体功能并观测其仿真波形。7.阅读附2程序段,分析实体功能并观测其仿真波形。实验二VHDL应用程序设计与分析(附1)VHDL程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityexam1isport(clkin:instd_logic;kf:instd_logic_vector(1downto0);clkout:outstd_logic);endexam1;architectureoneofexam1isconstantd0:integer:=0;constantd1:integer:=100;signalkk:integerrange0to10;beginp0:process(kf)begincasekfiswhen00=kk=0;when01=kk=1;when10=kk=2;whenothers=kk=3;endcase;endprocessp0;CLKINkf[1..0]CLKOUTexam1instp1:process(clkin,kk)variablecnt256:integerrange0to256;variableclkout0,clkout1,clkout2,clkout3:std_logic;variableq:std_logic_vector(3downto0);beginifclkin‘eventandclkin='1'thencasekkiswhen0=ifcnt256=256thencnt256:=d0;clkout0:=notclkout0;elsecnt256:=cnt256+1;endif;clkout=clkout0;when1=ifcnt256=256thencnt256:=d1;clkout1:=notclkout1;elsecnt256:=cnt256+1;endif;clkout=clkout1;when2=ifq=1111thenq:=0000;clkout2:=notclkout2;elseq:=q+'1';endif;clkout=clkout2;when3=ifq=1111thenq:=0000;clkout3:='0';elsifq=0111thenclkout3:='1';q:=q+'1';elseclkout3:='0';q:=q+'1';endif;clkout=clkout3;whenothers=null;endcase;endif;endprocessp1;endone;附1程序仿真波形kf=00时仿真波形kf=01时仿真波形kf=10时仿真波形kf=11时仿真波形libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitycxjcisport(cp,cx:instd_logic;y:outstd_logic);endcxjc;architecturertlofcxjcistypestateis(s0,s1,s2,s3);signaln:state;beginprocess(cp,cx)beginifcp'eventandcp='1'thencaseniswhens0=ifcx='1'thenn=s1;y='0';elsen=s0;y='0';endif;whens1=ifcx='1'thenn=s2;y='0';elsen=s0;y='0';endif;whens2=ifcx='0'thenn=s3;y='0';elsen=s0;y='0';endif;whens3=ifcx='1'thenn=s0;y='1';elsen=s0;y='0';endif;whenothers=