-## 一,简答题

1.1.时序逻辑电路与组合逻辑电路有什么区别?试各举一例说明。可以采用什么方式来描述两类电路的功能? (10 分)

【My answer】

组合逻辑电路和时序逻辑电路的区别

比较项目 组合逻辑电路 时序逻辑电路(状态机)(同步)
输入输出关系 任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关 不仅仅取决于当前的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关
有无存储单元 无(不能包含) 包含
结构特点 只包含门电路 组合逻辑电路+存储电路
输出状态必须反馈到组合电路的输入端,与输入信号共同决定组合逻辑的输出
分析方法 从电路的输入到输出逐级写出逻辑函数式,最后得到表示输出与输入关系的逻辑函数式。
然后用公式化简法或者卡诺图化简法得到函数式的化简或变换,以使逻辑关系简单明了。
有时还可以将逻辑函数式转换为真值表的形式
组合逻辑电路+存储电路,输出状态必须反馈到组合电路的输入端,与输入信号共同决定组合逻辑的输出

1、写出每个触发器的驱动方程
2、将驱动方程带入触发器的特性方程得到状态方程组
3、根据逻辑图写出电路的输出方程状态转换过程描述:状态转换表、状态转换图、状态机流程图、时序图

设计方法 1、逻辑抽象
2、写出逻辑函数式
3、选定器件类型
4、将逻辑函数式化简或者变换成适当的形式
5、画出逻辑电路的连接图
6、工艺设计
1、逻辑抽象得到状态转换图或者状态转换表
2、状态化简
3、状态分配(状态编码)
4、选触发器求出状态方程、驱动方程和输出方程
5、根据方程式画出逻辑图
6、检查设计的电路能否自启动
常用逻辑电路 编码器
译码器
数据选择器
加法器
数值比较器
锁存器
触发器
寄存器
移位寄存器
存储器
verilog描述 逻辑中不牵涉跳变沿信号的处理,组合逻辑的verilog描述方式有两种:

always @(电平敏感信号列表)
(1):always模块的敏感列表为所有判断条件信号和输入信号,但一定要注意敏感列表的完整性。在always 模块中可以使用if、case 和for 等各种RTL 关键字结构。由于赋值语句有阻塞赋值和非阻塞赋值两类,建议读者使用阻塞赋值语句“=”。always 模块中的信号必须定义为reg 型,不过最终的实现结果中并没有寄存器。这是由于在组合逻辑电路描述中,将信号定义为reg型,只是为了满足语法要求。
(2):assign描述的赋值语句。
信号只能被定义为wire型。

电路里面有存储元件(各类触发器,在FPGA 芯片结构中只有D 触发器)用于记忆信息,从电路行为上讲,不管输入如何变化,仅当时钟的沿(上升沿或下降沿)到达时,才有可能使输出发生变化。
与组合逻辑不同的是:

(1)在描述时序电路的always块中的reg型信号都会被综合成寄存器,这是和组合逻辑电路所不同的。
(2)时序逻辑中推荐使用非阻塞赋值“<=”。
(3)时序逻辑的敏感信号列表只需要加入所用的时钟触发沿即可,其余所有的输入和条件判断信号都不用加入,这是因为时序逻辑是通过时钟信号的跳变沿来控制的。

上表整理自博客

组合逻辑电路和时序逻辑电路区别

【考场作答省流版】
区别:
1、组合逻辑电路特点:任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。
2、时序逻辑电路特点:任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。
举例:
组合:数据选择器
时序:存储器,移位寄存器等
描述方法
组合:逻辑表达式,真值表,卡诺图
时序:状态转换表,状态转换图,时序图,状态机流程图

2.2.化简下列逻辑方程。要求画出卡诺图,化简为最简或与式。(10 分)

F ( a , b , c , d ) = ∏ M ( 0 , 2 , 4 , 8 , 10 , 14 ) F(a,b,c,d)= \prod M(0,2,4,8,10,14) F(a,b,c,d)=∏M(0,2,4,8,10,14)

【My answer】

step1 做出卡诺图
可以知道一共有0000,0010,0100,1000,1010,1110为0

step 2 由卡诺图可知,最简或与式共有三项如图,一种化简结果为
F ( a , b , c , d ) = ( b + d ) ( a + c + d ) ( a ˉ + c ˉ + d ) F(a,b,c,d)=(b+d)(a+c+d)(\bar{a}+\bar{c}+d) F(a,b,c,d)=(b+d)(a+c+d)(aˉ+cˉ+d)

3.3.构建一个从 0 到 9(含)计数的十进制计数器,周期为 10。复位输入是同步复位,将计数器复位至 0。参考波形如下图,试补充 Verilog 语言(10 分)

module top_module ( input clk,
input reset,    // 高电平同步复位output [3:0] q);
//代码补充在这里endmodule

【思路分析】
复位输入是同步复位

【My Answer】

module top_module ( input clk,
input reset,    // 高电平同步复位output [3:0] q);//代码补充在这里
always@(posedge clk) beginif(rst) q<=0;else beginif(q==9) q<=0;else q<=q+1;end
end
endmodule

二,分析设计题

1.组合电路设计(20分)

网络路由器将多台计算机连接在一起,并允许它们相互发送消息。如果两台或多台计算机同时发送消息,则消息"冲突",并且必须重新发送消息。使用组合设计过程,为连接 4 台计算机的路由器创建冲突检测电路。该电路有 4 个标记为 M0 至 M3 的输入,当相应的计算机发送消息时为 1,否则为 0。该电路有一个标记为 C 的输出,当检测到碰撞时为 1,否则为 0。

①写出真值表及逻辑方程


C = M 0 M 1 + M 0 M 1 + M 0 M 2 + M 0 M 3 + M 1 M 2 + M 1 M 3 + M 2 M 3 C=M_0M_1+M_0M_1+M_0M_2+M_0M_3+\\M_1M_2+M_1M_3+M_2M_3 C=M0​M1​+M0​M1​+M0​M2​+M0​M3​+M1​M2​+M1​M3​+M2​M3​ (凭逻辑直观写出来有点冗杂,画卡诺图化简可能效果稍好)

②仅使用门电路实现该系统,请标明输入输出信号。

③使用 1 位 8x1 多路选择器实现该函数(仅使用一个,说明设计思路,用框图实现)

【思路分析】1位8x1多路选择器,有一个三线选择信号sel,和8条输入信号,对第一问的真值表进行改写,可以得到选通信号与输入信号的关系,进而得到实现方法

2.时序电路设计(20分)

某时序电路有两个输入 w1 和 w2,一个输出 z,功能是比较输入两个序列。如果在连续 4 个周期内,w1 和 w2 的输入都相同,则 z 输出 1,否则 z 输出 0。

例如:

①试画出模块图,并标注输入输出信号。

②试给出完整状态转移图,该电路是 Mealy 型电路还是 Moore 型电路。

【思路分析】由给出的表格知道输出z与输入w1w2之间并无延后一拍,可以知道应该用Mealy型电路实现,下面画出Mealy型的状态转移图
修正:

③实现该时序电路(电路图与 Verilog HDL 描述都可以)

module comp();
input clk,w1,w2;
output z;
reg [2:0]state,[2:0]nstate;
parameter idle=0,s0=1,s1=2,s2=3,s3=4;
always@(posedge clk) state<=nstate;always@(*) begin
if(w1==w2)
case(state)
idle:begin nstate<=s0;z<=0 end
s0:begin nstate<=s1;z<=0 end
s1:begin nstate<=s2;z<=0 end
s2:begin nstate<=s3;z<=0 end
s3:begin nstate<=s3;z<=1 end
endcase
else
begin nstate<=idle;z<=0; end
end
endmodule

三,应用设计题

1.键盘控制单元设计

键盘需要与计算机连接。键盘具有一个 4 位输出 K 表示发送按下的键的编码,以及一个一位输出 E,当按下某个键时,该输出 E 从 0 变为 1。计算机具有相应的4 位输入 CK 和一位输入 CE。但是,有时计算机忙于其他任务,并且需要一些时间来接收密钥,因此它具有一个输出 Crec,当收到按键值时,它将该 Crec 设置为 1 一个时钟周期。在键盘和计算机之间设计一个系统,可以在计算机繁忙时缓冲多个键值。

①下图显示本系统构成模块,由两个处理器和一个队列组成的系统框图,以及键盘和计算机的接口。试根据上文描述确定括号中的连接信号,标明信号名和位宽。(5 分)


【My Answer】

②试给出按键处理模块的设计思路及 SDL 图。(5 分)

【思路分析】

1.SDL图的考察,和设计思路的考察

SDL图简介
SDL图绘制方法示例
2.审清题意,是按键处理模块这一模块的设计而非整个按键控制单元
【My Answer】
设计思路:按键处理模块在使能信号E为高电平时存入键值K,并立即将键值传出data_in,并设置写信号wr为高电平

【疑惑 :没读懂题意】

实际上按上述思路设计的按键处理模块与队列的配合并不能保证不因为信息丢失而漏掉按键值

  1. 需要队列回传确received信号,
  2. 写信号的使能不能过长或者过短,可能需要边沿触发而不是电平触发

而这两点都没有在题目中的框图中体现?

2、CPU相关

假定 ALU 只支持 8 位二进制数的加、减、与、或、非、左移 1 位、右移 1 位、赋值等操作,如图所示。两个 8 位输入 S1 和 S2,一个 8 位输出 DT,另一个输出为进位标志位 FLG。

① 根据题意,补充功能表:

My answer

修正:

② 试用Verilog实现该电路

【思路分析】

  1. 与模拟卷一题目一样,答案做一些修正
  2. 考虑到8位数运算结果的复杂程度和应用,与或非采用按位与或非而不采用逻辑与或非,二者区别可参见下面博客总结【HDLbits刷题笔记 】01-verilog语法-基础部分
  3. 对于进位标志位,其只在加法和减法运算中表示进位或者借位,其他运算中置为0(修正:移位运算中,通常置为移出的最高位)

【My Answer】

module ALU(opr,s1,s2,dst,flg);
input [7:0]s1,[7:0]s2;
input[2:0]opr;
output [7:0]dst;
output flg;always@(*)begin
case(opr)
3'b001:{flg,dst}<=s1+s2;
3'b010:{flg,dst}<=s1-s2;
3'b011:{flg,dst}<={1'b0,s1&s2};
3'b100:{flg,dst}<={1'b0,s1|s2};
3'b101:{flg,dst}<={1'b0,~s1};
3'b110:{flg,dst}<={2'b0,s1[6:0]};
3'b111:{flg,dst}<={s1[7],s1[6:0],1'b0};
3'b000:{flg,dst}<={1'b0,s1};
default:{flg,dst}<=0;
endcase
endendmodule

3、片上系统

PWM设备接口电路有8位地址输入端A0-A7,8位数据输入输出端D0-D7,写控制线 nWR,设备端口PWM 。

①该接口有三个寄存器,CR、ARR和CCR的片内地址分别为0、1和2,采用两个地址线进行译码。假定接口基地址为0xF4,则CR、ARR和CCR地址分别为0xF4、0xF5和0xF6。填写功能表:
②试用Verilog语言实现该接口。

My answer
①填写功能表:

②Verilog实现
【问题分析】对一个接口的verilog实现,第一步是确定顶层模块的接口输入输出,整个大的模块是阴影部分,仅有一个输出是PWM,其他信号均为这个模块的输入。第二步是分析其中各个模块的输入输出以及模块的逻辑(组合or时序)
【My answer】

module port();
input CLK,nWR;
input [7:0] A,[7 :0]D;
output PWM;reg [7:0]CR,ARR,CCR;//地址读取,片选
always@(*)begin
if(!nWR)
case(A)
0xF4:CR<=D;
0xF5:ARR<=D;
0xF6:CCR<=D;
endcase
end//减法计数器
always@(posedge CLK)begin
if(CR) beginif(Q>0)Q<=Q-1;else if(Q==0)Q<=ARR;
end
end//PWM生成
always@(*)begin
if(Q>CCR)
PWM<=1'b1;
else
PWM<=1'b0;
endendmodule

小结

  • 考虑卷面代码均为手书,无调试机会,上文所有代码均未经过调试验证。
  • 时间比较充裕,尽可能在代码或者主观回答的部分留出可以完善和修改的地方
  • 对于简单的手写代码注意书写整洁,而对于较多的考察框图设计的绘图用铅笔

【数电试题】西电通卓模拟卷三相关推荐

  1. 2023计算机四非保研(复试:东北大学,成电,西电,浙软,中海洋,天大)

    文章目录 个人情况 夏令营情况 预推免情况 进入复试 中国海洋大学(学硕) 浙大软院(专硕) 天津大学智算(专硕) 中科院网络中心(专硕) 西电网安院(学硕) 东北大学计算机(学硕) 成电计算机(专硕 ...

  2. 【数电试题】西电通卓模拟卷一

    一,简答题 1.数字电路与模拟电路有什么区别?数字电路有哪些优点,试举例说明.(10分) My answer:   模拟电路与数字电路的区别     (1)处理的信号不同,模拟电路处理的是时间和幅度连 ...

  3. 西电计算机考研833试题,西电考研辅导班:西安电子科技大学833“计算机学科专业基础综合”复习参考提纲...

    一.考察目标 计算机学科专业基础综合考试涵盖数据结构和计算机组织与体系结构等学科专业基础课程.要求考生比较系统地掌握上述专业基础课程的基本概念.基本原理和基本方法,能够综合运用所学的基本原理和基本方法 ...

  4. 天津科技大学计算机西电,学通信工程专业,大学四年该如何规划?谢谢

    学通信工程专业,大学四年该如何规划?谢谢,一.学通信工程专业,大学四年该如何规划?谢谢学好英语计算机等硬本领,其他的自然不在话下.通信工程偏硬件,但是如果有好的编程基础,会对你将来有很大的帮助,也是非 ...

  5. 西电大四毕业生的一些胡言乱语

    这本是专业教育课程报告,但我偷偷加了一些私货,随便说说自己四年下来的感受.--2020.12.03.22.04 一.我眼中的西电及西电计科院 1.1 西安电子科技大学简称"西电"或 ...

  6. 西电焦李成教授解读《高等学校人工智能创新行动计划》

    来源:砍柴网 不久之前,教育部公布了<高等学校人工智能创新行动计划>(以下简称计划),计划在人工智能人才培养.产学研等方面有哪些亮点?人工智能领域学科建设前景如何?针对公众关注的问题,中国 ...

  7. 西电中兴模拟招聘面试

    我是西电学生,参加了中兴通讯的校园模拟招聘,这个校园模拟招聘大赛就相当于一个针对西电学生的提前批,下面就来说一说模拟招聘这个过程. 由于相当于正式,里边的流程都是大致一样的,首先是综合测试,综合测试时 ...

  8. 我看西电通院月考——学生应该做点什么?

    如果你没有耐心看完整篇文章,你可以直接跳到最后一点,看看对于类似通院月考这样让你很郁闷的抓学风政策,我所认为的学生应该怎么做,也是我主要想传达的想法. 1.大学月考政策介绍 前段时间听说西电通院一些年 ...

  9. 常用电商系统优劣势对比—管易云、远丰电商、电商宝、海商、旺店通ERP、百数

    如今,各大电商行业已经风生水起,京东.天猫.淘宝各大电商商城已经无人不知无人不晓,那么面对每天滔滔不绝不绝的订单,你需要如果去处理呢?毋庸置疑,面对大批量的订单和各渠道的店铺,你肯定需要一个成熟实际而 ...

最新文章

  1. 谷歌大脑新研究:强化学习如何学会用声音来观察?
  2. SQLyog普通版与SQLyog企业版对比分析
  3. notepad++ vim插件_是时候摒弃掉Notepad++ ,因为你还有更多的选择...
  4. hdu 4279 Number
  5. 简单实现分行输出的javascript代码
  6. 每隔10秒执行一次_(立下flag)每日10道前端面试题12 关于BOM十问
  7. 机器学习第二回——多变量线性回归
  8. 沙利文:2019Q4中国公有云市场份额:阿里云、腾讯云、华为云位列前三
  9. 时序分析:ARMA方法(平稳序列)
  10. 字幕的嵌入AVI转RMVB
  11. 【线性代数】P7 方阵的行列式伴随矩阵
  12. altium designer 网络标签作用范围(Duplicate Net Names Wire解决办法)
  13. element-ui中el-upload在ie10中无法上传相同图片的问题:XMLHttpRequest: 网络错误 0x2efd, 由于出现错误 00002efd 而导致此项操作无法完成。
  14. Cutter - Cut Crop Video for Mac(视频剪辑格式转换工具)
  15. 微信分享功能不可用+不能产生回调
  16. 计算机技术应用社会实践课题,PLC自动化专业社会实践报告.docx
  17. flutter 自定义圆形进度条
  18. 如何成为优秀的数据人经验分享
  19. easy-captcha实现验证码功能
  20. leetcode hot100 之 子集

热门文章

  1. OSG 基于场景图添加模型
  2. 计算机网络 数据链路层(一)点对点协议与广播信道
  3. 听哥一句劝,按这套嵌入式的课程内容和课程体系去学习
  4. 【Algorithm】藏在Ranking中的ELo
  5. 案例:2018年北京积分落户分析
  6. 判断密码是数字、小写字母、大写字母、特殊字符任意三个的正则表达式
  7. MySQL的响应时间变慢
  8. PDF格式分析(十二)Cross-Reference Table 交叉引用表
  9. 字符串笔记(C Primer Plus)
  10. c学习-- memcpy 越界56