西安电子科技大学
研究生课程考试试题
考试科目: 数字系统设计与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