北京航空航天大学
2012 ~2013 学年第 二 学期 《电子电路设计训练》期末考试试卷
( 2013 年 6 月 22 日)
班级:__________;学号:______________;姓名:__________________;成绩:___________
(宋体五号字)
注意事项:1、本试卷为闭卷考试;
2、解答问题时,请给出必要的步骤,并注意结构完整; 3、请直接在试卷上作答;
4、模拟部分和数字部分分别计分。
总计分栏: 模拟部分(50分) 数字部分(50分) 合计
A. 模拟部分 (共50分)
计分栏 1 2 3 4 5 6 7 8 9 合计 (2分) (2分) (3分) (3分) (3分) (2分) (12分) (5分) (18分)
正题:(宋体五号字)(题单形式)
一、 ( 分) 二、 ( 分)
B. 数字部分 (共50分)
计分栏 一 (5分) 二 (5分) 三 (18分) 四 (22分) 合计
一、选择题(共5分,每空1分)
1. 综合是EDA设计流程的关键步骤,在下面对综合的描述中,____D____是错误的。
A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;
B.综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件;
C.综合就是将行为描述逻辑转换成门级结构表示的一个映射过程;
D.综合可理解为,用电路网表文件表示软件描述与给定硬件结构的映射过程,并且这种映射关系是唯一的。
2. 不完整的IF语句,其综合结果可实现____A____。
A.时序逻辑电路 C.双向电路
B.组合逻辑电路 D.三态控制电路
3. P、Q、R都是同样大小的存储器类型变量,下面___C____表达式是正确的。
A.reg[n-1:0] P[m:1], Q, R
B.reg [m:1] P, Q, R
D.reg[n-1:0] [m:1]P, [m:1]Q, [m:1]R
C.reg[n-1:0] P[m:1], Q[m:1], R[m:1]
4. 下列程序中,always状态将描述一个带异步Nreset和Nset输入端的上升沿触发器,则
下面___D____表述是正确的。 always@( ) if(!Nreset) Q<=0; else if(Nset) Q<=1; else
Q<=D;
A.posedge Nreset or posedge Clock or negedge Nset B.negedge Nreset or posedge Clock or negedge Nset C.negedge Nreset or negedge Clock or posedge Nset D.negedge Nreset or posedge Clock or posedge Nset 5. 下列表达式中正确的是____C____。
A.4’b1010 & 4’b1101 = 1’b1; C.!4’b1011 || !4’b0000 = 1’b1;
B.~4’b1100 = 1’b1; D.&4’b1101 = 1’b1;
二、填空题(共5分,每空1分)
1. 相对于VHDL,Verilog HDL在语法结构方面更加灵活,同时对于不同的行为抽象级别
(系统级、算法级等),Verilog HDL在__开关电路级__层面比VHDL的描述能力更强。 2. 状态机按照输出逻辑可以分为两种,一种称为____Mealy_____状态机,其时序逻辑的输
出不仅取决于当前状态,还取决于输入;另一种称为___Moore____状态机,其时序逻辑的输出只取决于当前状态。
3. 下面程序中,语句__4、5、6、11__是并行执行,语句____8、9____是顺序执行。 module M(……); 1 input ……. ; 2 output ……;
3 reg a,b……; 4 always@(……..) 5 assign f=c&d; 6 always@(……..) 7 begin 8 a=…….; 9 b=…….; 10 end
11 mux mux1(out,in0,in1);
endmodule
三、电路及时序分析题(共18分)
1. 请利用行为描述的方式设计一个1位D触发器,包括一个异步清零端clr,一个时钟接
入端clk,一个数据输入端d,一个数据输出端q,一个数据输出反向端qb;基于此,利用模块实例化的方法设计一个4位的移位寄存器,clrb是全局清零信号,clk是全局时钟,IN为串行输入信号,Q为输出信号。(8分)
Q[0]INdqclkclrQ[1]dqclkclrQ[2]dqclkclrQ[3]dqclkclrclrbclkmodule D_FF (d, clr, clk, q, qb );
input d, clk, clr; output q, qb; reg q; assign qb = ~q; always @( posedge clk or negedge clr)
module shifter(IN, clrb, clk, Q); input IN, clk, clrb; output [3:0] Q; D_FF D1(IN, clrb, clk, Q[0],), D2(Q[0], clrb, clk, Q[1],), D3(Q[1], clrb, clk, Q[2],),