《EDA技术》项目答辩—问答题参考答案

  • 格式:pdf
  • 大小:187.62 KB
  • 文档页数:6

《EDA技术》项目答辩—问答题参考答案1、什么是EDA技术?EDA技术主要包含哪三个方面的内容?答:(1)电子设计自动化EDA(Electronic Design Automation)技术是以大规模可编程逻辑器件为设计载体,通过硬件描述语言设计,EDA软件编译、仿真,最终下载到设计载体中,从而完成系统电路设计任务的新一代设计技术。

(2)EDA技术主要包含大规模可编程逻辑器件(PLD)、硬件描述语言和EDA 开发软件三个方面的内容。

2、请简述利用EDA技术设计项目二“多功能电子钟的设计”的开发流程??答:(1)设计准备本次项目设计的是多功能电子钟系统,经过小组讨论,选择的方案为EDA 设计方案,并采用自顶而下的设计方法。

考虑到该系统具备的功能有计时和报时的基本功能,因此该系统电路结构简单,所占资源少,采用了Altera公司推出的CycloneIII FPGA(EP3C10E144)作为项目目标器件。

(2)设计输入本小组采用了硬件描述语言文本输入方式,用V erilogHDL对电路进行逻辑功能描述。

(3)设计处理当系统中的电路用V erilog描述后,写出了源程序代码,采用Altera公司的EDA开发软件——QuartusII9.0 对源程序进行综合、优化、适配、分割等,再经过功能仿真进行功能验证,最后引脚锁定后全程编译生成下载文件(sof文件)。

(4)器件编程与测试将下载文件(sof文件),通过USB-Blater编程器下载到型号为KX-7C5E+的开发板中,在开发板中对设计的电路进行硬件测试。

3、在EDA技术中,顶层电路和底层电路的含义是什么?答:(1)顶层电路:用于描述所设计的整个电路系统功能的电路,既可以用硬件描述语言方式来设计,也可以将所有的底层电路连接在一起,搭建成一个原理图的方式来设计。

(2)底层电路:用于描述整个电路系统中的某个单一功能的电路,一般用硬件描述语言方式来设计,也可以用IP核来描述。

4、低密度可编程逻辑器件(LDPLD)包括哪些?而高密度可编程逻辑器件(HDPLD)又包括哪些?(说出英文缩写和对应的中文含义)答:(1)LDPLD主要是指早期发展起来的PLD,它包括PROM(可编程只读存储器)、PLA(可编程逻辑阵列)、PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)四种。

(2)HDPLD包括CPLD(复杂的可编程逻辑器件)和FPGA(现场可编程逻辑器件)两种。

5、V erilogHDL语言与C语言很相似,请问有哪些相同点?答:主要体现在两个方面,1)运算符完全一样;2)部分关键词一样,比如:if-else 语句,for循环语句,case语句,function定义等等。

6、用V erilog语言编写的程序代码,其基本结构是什么?答:1、端口声明2、端口类型定义3、数据类型定义4、逻辑功能描述7、若利用V erilog语言描述某个时序逻辑电路的逻辑功能,应该采用什么语句?并说明该语句的用法?答:(1)应该采用always语句;(2)always @(<敏感信号表达式>)begin//过程赋值语句;//if-else条件语句,case分支选择语句;//while、repeat、for等循环语句;//task任务,function函数的调用;end8、always赋值语句中有个敏感列表,请问其中的敏感信号表达方式有哪些?其用法是什么?答:(1)敏感信号表达方式有①边沿触发型;②电平敏感型。

(2)边沿触发型:敏感信号表达式中的“posedge clk”表示时钟信号clk的上升沿到来时作为触发条件;“negedge clk”表示时钟信号clk的下降沿到来时作为触发条件。

电平敏感型:当敏感信号表达式中变量的电平值发生变化时,即触发条件满足,立即执行always中的begin-end块内语句。

9、某同学利用V erilog语言描述了一个500分频的电路,其代码如下,在利用QuartusII软件做功能仿真时(操作步骤正确,波形文件赋值正确),发现实现不了500分频的功能,请问代码中哪个地方出现了问题,又该如何修改?module FenPin(clk_1kHz,clk_2Hz);input clk_1kHz;output clk_2Hz;reg [4:0] jsq;reg clk_2Hz;always @(posedge clk_1kHz)beginif(jsq==249) begin jsq<=0;clk_2Hz<= ~clk_2Hz; endelse begin jsq<= jsq+1; endendendmodule答:(1)由于中间计数器jsq变量的计数范围为0~249,而在程序中,jsq变量的位宽为5位宽,计数范围是0~31,因此设置不当;(2)修改时,只需要将中间计数器jsq变量的位宽设置为8位宽,计数范围为0~255即可,若位宽大于8位,会造成资源浪费也不可取。

10、某小组同学在做项目四“简易电子琴电路的设计”中,顶层电路的原理图中添加了一个D触发器,请问为什么要这样做,有什么好处?答:1)可以实现二分之一分频2)好处是均衡占空比,有利于蜂鸣器发声。

11、在项目三中,“乐曲播放电路”的顶层电路一般由6个底层电路组成,请简述各个底层电路的作用。

答:(1)music电路模块该电路的作用是将所选乐曲的所有的音频数据,都以五位二进制码,并按照乐曲播放的顺序存入到ROM中。

(2)音频数据产生电路SPKER模块该电路的作用是将锁相环PLL电路送来的1MHz基准时钟信号,按照不同的分频预置数进行分频,产生乐曲中所需要各种声音的2倍音频信号。

(3)分频预置数产生电路F_CODE模块该模块的作用是将music模块送来的5位二进制数据译码成对应的分频预置数、音符数据和音调数据,共能产生21种分频预置数,用于控制SPKER模块按照不同的分频系数进行分频。

(4)ROM地址产生电路ROMaddress该电路模块作用是为music模块(ROM)提供地址,music模块中储存多少个数据,该模块就产生多少个地址,该模块中计数器的计数范围由music模块存储数据的个数决定;每当输入端来一个4Hz的计数脉冲,计数器就计数一次,送出一个地址,ROM就输出一个数据。

(5)最小节拍产生分频电路FDIV模块该模块的作用是将锁相环PLL电路送来的10kHz基准时钟信号进行2500分频,得到4Hz的频率输出。

(6)锁相环PLL20模块该模块的作用是将开发板上的20MHz基准时钟频率进行分频,得到10kHz 和1MHz两种频率和相位稳定的标准时钟信号,为FDIV模块和SPKER模块服务。

12、请简述电脑键盘PS2接口传输数据工作原理。

答:(1)当键盘工作时且没有按键按下时,ps2接口的第1引脚kb_data一直为高电平,第5引脚kb_clk也一直为高电平(第1个高电平);表明键盘处于发送状态且kb_data引脚上的数据为“1”,由于接收设备只会在kb_clk为下降沿才接收数据,故kb_data的数据“1”不会被接收;(2)当键盘工作时,且字母Q被按下时,kb_clk会跳变为低电平,即产生一个下降沿(第1个下降沿),接收设备可以接收数据,但此刻kb_data的数据没有改变,仍然为“1”,该数据不应该被接收;(3)只有等到kb_clk跳变回高电平时(称为第2个高电平),kb_data引脚上数据被改变为“0”,(字母Q对应的一帧11位数据起始位为数据“0”),当kb_clk 又跳变为低电平时,产生了第2个下降沿,此时kb_data引脚上的数据的“0”才会被接收设备接收;(4)当kb_clk跳变回高电平时(称为第3个高电平),kb_data引脚上数据被改变为“1”,(字母Q对应的一帧11位数据第2位数据“1”),当kb_clk又跳变为低电平时,产生了第3个下降沿,此时kb_data引脚上的数据的“1”又会被接收设备接收;依次类推,接收设备接收字母Q产生的11位的串行数据。

13、请简述项目四“简易电子琴电路的设计”中,PS2通信协议模块的作用及设计思路。

答:(1)当电脑键盘中按下不同的按键时,键盘的PS2接口第1引脚输出11位的键盘串行数据,该模块接收11位键盘串行数据,进行11位数据的串并转换,识别键盘按键,最终转化为8位ASCII码并行数据输出;(2)设计思路:由于该模块能够将电脑键盘PS2接口输出的数据转换为ASCII 码,因此用V erilogHDL语言描述时,应该描述出以下三种逻辑功能:①实现“判断电脑键盘的kb_clk引脚为下降沿”的逻辑功能,因为通过对电脑键盘ps2接口传输数据工作原理的学习可知,只有当kb_clk为下降沿时,接收设备才可以接收数据,因此需要实现“判断电脑键盘的kb_clk引脚为下降沿”的逻辑功能。

②实现“11位串行数据变为11位并行数据”的逻辑功能;A.首先解决接收设备什么时候开始接收一帧数据中的第一位数据;B. 解决把接收到的11位串行数据转变为11位并行数据;③实现“8位DA TA数据变为8位ASICII码数据”的逻辑功能;14、如果设计的简易电子琴只具备弹奏功能,则需要哪些底层电路模块?答:共需要5个底层电路模块,包括PLL20锁相环模块,PS2通信协议模块,kbcode键盘数据译码电路模块,F_CODE分频预置数产生电路模块、SPKER音频数据产生电路模块。

15、对于小时计时模块,某小组同学编写了下面的代码,该代码实现的是哪种计时方式?若要使得小时为24进制,代码应如何改动?module HOUR(min_out,reset,HOURL,HOURH);input min_out,reset;output[3:0] HOURL,HOURH;reg[3:0] HOURL,HOURH;always@(posedge min_out or negedge reset)beginif(!reset) begin HOURL<=0;HOURH<=0;endelse beginif (HOURH==1 && HOURL==2)begin HOURL<=1;HOURH<=0; endelse beginif ( HOURL==9)begin HOURL<=0; HOURH<=HOURH+1;endelse HOURL<=HOURL+1;endendendendmodule答:(1)该程序描述的是12翻1计时方式的小时模块;(2)将程序中的改为:if (HOURH==1 && HOURL==2) if (HOURH==2 && HOURL==3) begin HOURL<=1;HOURH<=0; end begin HOURL<=0;HOURH<=0; end 16、在项目四的顶层电路中,最小节拍产生电路FDIV给四个底层电路提供4Hz 的频率信号,请问:(1)是哪四个底层电路?(2)4Hz的频率信号在每个底层电路中各起什么作用?答:(1)ROM地址产生电路,music音频数据存储电路,RAM地址产生电路,RAM存储电路;(2)ROM地址产生电路:计数脉冲作用;music音频数据存储电路:控制ROM输出数据速率;RAM地址产生电路:计数脉冲作用;RAM存储电路:①一方面控制RAM存储数据的速率;②另一方面控制RAM输出数据的速率;。