电子设计自动化期中练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西南交通大学2016-2017学年第(1)学期期中考试试卷
课程代码 0371043 课程名称 电子设计自动化(含实验)考试时间120分钟
题号 一 二 三 四 五 六 七 八 九 十 总成绩
得分
阅卷教师签字:
一、填空题(每空2分,共6分)
1.对模块中用到的所有信号(包括每个端口)都必须声明其数据类型,若未声明,则综合器
将其默认为 型数据。
2. 设计输入是设计者将所要设计的电路以开发软件要求的某种形式表达出来,并输入到相
应软件中的过程。可移植性最好的输入方式是 。 3. 运算符相当于实现了一个if-else 语句的功能。
二、选择题(每空2分,共6分)
1. 数据流描述通常指通过 语句对设计进行的描述。
A. 元件例化语句
B. 持续赋值语句
C. 行为语句
2. 基于一定的设计工艺,以版图形式描述的、而且用户不能改动的设计模块,称 。
A. 软核
B. 固核
C. 硬核 3.下面的说法正确的是 。
A.一个模块中的多个always 过程块是依次按顺序执行的。
B. 不可以在同一模块中的不同always 语句中对同一个变量赋值。
C. 电平敏感型信号常用在时序逻辑电路的设计中,边沿敏感型信号常用在组合逻辑电路的设计中。
D. 进程的并发执行与各进程在程序中的位置有关。
三、分析及简答题(共33分)
1. 下面的程序有错吗?若有,请指明所有错误所在之处,并说明理由。(8分)
1 module 2010(CLK,A,B,C,D);
2 input CLK,A,B; 班 级 学 号 姓 名
密封装订线 密封装订线 密封装订线
4 always @(posedge CLK)
5 begin if(A=1) C=1;
else C=0;
D=0; end
6 always @(negedge CLK)
7 D=1;
8 endmodule
2.在下面的波形图中画出各变量的输出信号波形。(25分)
程序段:
module M(clk,enable,A,B)
input clk,enable; output[3:0] A,B; reg[1:0] currentstate; reg[3:0] A,B;
parameter ared=4'h5, ayellow=4'h4, agreen=4'h3, aleft=4'h2;
always @ (posedge clk)
begin
if (!enable) begin A<=4'h5; B<=8; currentstate<=0; C<=0; end
else
begin if (!C)
begin case(currentstate)
0 : begin A<=4'h3; currentstate<=1; B<=2; end
1 : begin A<=4'h4; currentstate<=2; B<=4; end
2 : begin A<=4'h2; currentstate<=3; B<=1; end
3 : begin A<=4'h4; currentstate<=4; B<=4; end
4 : begin A<=4'h5; currentstate<=0; B<=8; end
default: begin A<=4'h5; currentstate<=0; B<=8; end
endcase
C<=1; end
else if (C) begin if(A>1) A<=A-1;
if(A==2) C<=0; end
end
end
波形图:
四、编程题(共55分)
1. 试用Verilog HDL设计一个具有异步清零端(CLEAR,高电平有效)、模为678的BCD码十进制加法计数器(时钟信号CLK下降沿计数器加1),计数输出端为COUNT[11:0]。(15分)
2.有8 个红色LED灯排成一行,设8个灯的控制信号从左到右依次为LED[7]~LED[0],控
制信号高电平时灯被点亮,时钟信号为CLK,1MHz,复位信号为REST,低电平有效,复位时灯全亮。用状态机及VerilogHDL设计一个彩灯控制器,实现灯闪烁的方式和顺序如下:全亮→全灭→从右到左每盏灯依次被点亮(每次只有一盏灯亮,其余灯全灭)→全亮→从两头开始依次灭,每次两头同时各灭一盏→直至全灭,循环上述过程,每次转换的时间间隔为1秒。请给出源程序,并对设计进行仿真,将仿真结果截图并打印。(20分)
3.用状态机及VerilogHDL设计一个序列信号检测器,检测一串串行输入的数据中是否含有
1011这个序列。请画出状态转换图,给出源程序,并对设计进行仿真,将仿真结果截图并打印。(20分)