您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 2013数字电路设计试卷答案
北京航空航天大学2012~2013学年第二学期《电子电路设计训练》期末考试试卷(2013年6月22日)班级:__________;学号:______________;姓名:__________________;成绩:___________(宋体五号字)注意事项:1、本试卷为闭卷考试;2、解答问题时,请给出必要的步骤,并注意结构完整;3、请直接在试卷上作答;4、模拟部分和数字部分分别计分。总计分栏:模拟部分(50分)数字部分(50分)合计A.模拟部分(共50分)计分栏1(2分)2(2分)3(3分)4(3分)5(3分)6(2分)7(12分)8(5分)9(18分)合计正题:(宋体五号字)(题单形式)一、(分)二、(分)B.数字部分(共50分)计分栏一(5分)二(5分)三(18分)四(22分)合计一、选择题(共5分,每空1分)1.综合是EDA设计流程的关键步骤,在下面对综合的描述中,____D____是错误的。A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;B.综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件;C.综合就是将行为描述逻辑转换成门级结构表示的一个映射过程;D.综合可理解为,用电路网表文件表示软件描述与给定硬件结构的映射过程,并且这种映射关系是唯一的。2.不完整的IF语句,其综合结果可实现____A____。A.时序逻辑电路B.组合逻辑电路C.双向电路D.三态控制电路3.P、Q、R都是同样大小的存储器类型变量,下面___C____表达式是正确的。A.reg[n-1:0]P[m:1],Q,RB.reg[n-1:0][m:1]P,Q,RC.reg[n-1:0]P[m:1],Q[m:1],R[m:1]D.reg[n-1:0][m:1]P,[m:1]Q,[m:1]R4.下列程序中,always状态将描述一个带异步Nreset和Nset输入端的上升沿触发器,则下面___D____表述是正确的。always@()if(!Nreset)Q=0;elseif(Nset)Q=1;elseQ=D;A.posedgeNresetorposedgeClockornegedgeNsetB.negedgeNresetorposedgeClockornegedgeNsetC.negedgeNresetornegedgeClockorposedgeNsetD.negedgeNresetorposedgeClockorposedgeNset5.下列表达式中正确的是____C____。A.4’b1010&4’b1101=1’b1;B.~4’b1100=1’b1;C.!4’b1011||!4’b0000=1’b1;D.&4’b1101=1’b1;二、填空题(共5分,每空1分)1.相对于VHDL,VerilogHDL在语法结构方面更加灵活,同时对于不同的行为抽象级别(系统级、算法级等),VerilogHDL在__开关电路级__层面比VHDL的描述能力更强。2.状态机按照输出逻辑可以分为两种,一种称为____Mealy_____状态机,其时序逻辑的输出不仅取决于当前状态,还取决于输入;另一种称为___Moore____状态机,其时序逻辑的输出只取决于当前状态。3.下面程序中,语句__4、5、6、11__是并行执行,语句____8、9____是顺序执行。moduleM(……);1input…….;2output……;3rega,b……;4always@(……..)5assignf=c&d;6always@(……..)7begin8a=…….;9b=…….;10end11muxmux1(out,in0,in1);endmodule三、电路及时序分析题(共18分)1.请利用行为描述的方式设计一个1位D触发器,包括一个异步清零端clr,一个时钟接入端clk,一个数据输入端d,一个数据输出端q,一个数据输出反向端qb;基于此,利用模块实例化的方法设计一个4位的移位寄存器,clrb是全局清零信号,clk是全局时钟,IN为串行输入信号,Q为输出信号。(8分)dclkclrqdclkclrqdclkclrqdclkclrqclrbclkQ[3]Q[2]Q[1]Q[0]INmoduleD_FF(d,clr,clk,q,qb);moduleshifter(IN,clrb,clk,Q);inputd,clk,clr;inputIN,clk,clrb;outputq,qb;output[3:0]Q;regq;D_FFD1(IN,clrb,clk,Q[0],),assignqb=~q;D2(Q[0],clrb,clk,Q[1],),always@(posedgeclkornegedgeclr)D3(Q[1],clrb,clk,Q[2],),beginD3(Q[2],clrb,clk,Q[3],);if(!clr)endmoduleQ=0;elseQ=D;endendmodule2.设计如下码型变换器,并将图中输出信号的波形补充完整。输入信号RST(复位信号),CLK(时钟信号,与数据X同步),X(输入待处理信号),Y(输出)。(异或运算:两个输入相同则输出0,不同则输出1,Z-1运算:信号延迟一个时钟输出)。注:复位之前输出信号的状态即波形图中黑色区域为未知状态)。(10分)moduleCodeTrans(RST,CLK,X,Y);inputRST,CLK,X;outputY;regY;always@(posedgeCLK)beginif(RST)Y=0;elseY=Y^X;endendmodule四、电路设计题(共22分)1.设计一个5分频电路(输出信号的频率为输入信号频率的1/5倍),使输出信号相邻的两个时钟周期,占空比分别为3:2和2:3,即如果当前输出信号周期的高电平比低电平长一个时钟周期,则下一个输出信号的周期高电平时间应该比低电平短一个周期。(输入信号为rst(异步重置,低电平有效),clk,输出为out)。(6分)Z-1+x(n)y(n)y(n-1)异或运算CLKRSTXYmoduleFenPin(rst,clk,out);inputrst,clk;outputout;regout;reg[3:0]count;always@(posedgeclkornegedgeclr)beginif(!clr)count=4’d0;elseif(count==4’d9)count=4’d0;elsecount=count+1;if(!clr)out=0;elseif(count==4’d0||count==4’d3||count==4’d5||count==4’d7)out=~out;endendmodule2.设计一个密码锁,密码控制电路由一个密码校验模块和时序控制模块组成。打开密码锁时,需先按“#”号(送往时序控制模块),时序控制模块开始30s计时,如果输入时间超过30s,则自动清零,需重新按“#”号开启下一个开锁过程;如果在30s以内,密码输入完毕,则按“OK”按钮(送往密码校验模块和时序控制模块),当密码校验模块返回密码正确,则密码锁被打开,直到密码箱关闭并送给时序控制模块close信号;如果密码校验错误,则密码清零,需重新输入密码,并且计时初值恢复到30s。(共16分)1)根据题干信息,设计该密码锁时序控制模块的状态转移图。(8分)a)输入端口:clk时钟信号(假设时钟频率100Hz)p1“#”电平(电平信号,高电平有效,手离开按钮信号消失)p2“OK”电平(电平信号,高电平有效,手离开按钮信号消失)CRC交验结果(电平信号,高电平有效,并假定校验稳态输出时间在一个时钟周期以内)close密码锁关闭信号(电平信号,高电平有效)b)输出端口:open开锁信号(电平信号,高电平有效)c)中间变量:count计数器值IdleWaitVeriOpenP1/count-30scount=0count0P2CRC=1/open=1close=1CRC=0/count-30sclose=0P1=02)为了实现密码管理功能增强,约定密码校验时,最多只能连续输入3次错误密码,否则密码锁将被锁定1小时后才能恢复正常,请根据题干信息,对1)问中的状态转移图进行修正,可以增加中间变量flag用于错误密码校验计数。(8分)IdleWaitVeriOpenErrorP1/count-30s/flag-0count=0count0P2CRC=1/open=1close=1CRC=0andflag2/count-30s/flag++close=0CRC=0andflag=3/count-1hcount=0count0P1=0
本文标题:2013数字电路设计试卷答案
链接地址:https://www.777doc.com/doc-2991175 .html