2009年数字系统设计设计与Verilog HDL 考试题 下载本文

西安电子科技大学

研究生课程考试试题

考试科目: 数字系统设计与Verilog HDL 考试日期: 09 年 12 月 日 考试时间: 90 分钟 考试方式:(闭卷) 任课教师: 班号 学生姓名: 学 号:

一. 问答题:(30分)

1. 什么是硬件描述语言?它的主要作用是什么? 2. 模块由几个部分组成?

3. 举例说明缩减运算符与位运算符的不同。

4. 什么是阻塞型过程赋值?什么是非阻塞型过程赋值?

5. 什么是综合?是否任何符合语法的Verilog HDL程序都可以综合? 6. 请简述利用EDA工具并采用硬件描述语言的设计方法和流程。 7. 模块的端口是如何描述的?

8. 在always模块中被赋值的变量能否是wire类型的?如果不能是wire类型,那么必

须是什么类型的?它们表示的一定是实际的寄存器吗? 9. 什么是同步状态机和异步状态机,哪种状态机是可以综合的? 10. 为什么不能在多个always块中为同一变量赋值?

二. 选择题:(10分)

1.在下列程序中,always状态将描述一个带异步Nreset和Nset输入端的上升沿触发器,从选项中找出空括号内应填入的正确答案。 always @ ( ) if (!Nreset) Q<=0; else if (!Nset) Q<=1;

1

else Q<=D;

1)negedge Nset or posedge Clock; 2)negedge Nreset or posedge Clock;

3)negedge Nreset or negedge Nset or posedge Clock; 4)negedge Nreset or negedge Nset。

2.在下列程序中,给出了几种硬件实现,以下的模块被综合后可能是哪种? always @ (posedge Clock) if (A) C=B; 1)不能综合。

2)一个上升沿触发器和一个多路器。 3)一个输入是A,B,Clock的三输入与门。 4)一个透明锁存器。

5)一个带clock有使能引脚的上升沿触发器。

三. 填空:(20分)

下列程序中的语句是不完整的,请根据下图所示的电路图将其填充完整。 reg FF1,FF2,FF3; always @ (posedge Clock) begin

end

input FF1 FF2 FF3 output Clock

2

四. 编程:(20)

用四种方法实现四选一多路选择器。

五. 设计一个如图所示的模16(四位二进制)计数器程序,其中D0~D3为输入数据,Q0~Q3为输出数据,EN为使能端,CLK为时钟端,Clr、Load分别为同步清零、同步预置端,Oc为进位输出端。(20分)

LoadD0 Q0 D1 D3ENCLK Clr3

D2 Q1 Q2 Q3 Oc