一,简答题

1.数字电路与模拟电路有什么区别?数字电路有哪些优点,试举例说明。(10分)

My answer:

模拟电路与数字电路的区别
    (1)处理的信号不同,模拟电路处理的是时间和幅度连续变化的模拟信号,而数字电路处理的是用“0”和“1”两个基本数字符号表示的离散信号。
    (2)研究的着重点不同 研究模拟电路时关心的是电路输入与输出之间的大小、相位、效率、保真等问题,要计算出信号的实际数值;而研究数字电路时关心的是输入与输出之间的逻辑关系。数字电路只需判别数字信号的有无,不必反映数字信号本身的实际数值。
    (3)研究的方法不同 模拟电路主要分析方法有解析法、微变等效电路法、图解法等,而数字电路的主要分析方法有真值表、逻辑代数、卡诺图、波形图等。
数字电路的优点
    (1)稳定性好:数字电路不像模拟电路那样易受噪声的干扰。
    (2)可靠性高:数字电路中只需分辨出信号的有与无,故电路的组件参数,可以允许有较大的变化(漂移)范围。
    (3)可长期存储:数字信息可以利用某种媒介,如磁带、磁盘、光盘等进行长时期的存储。
    (4)便于计算机处理:数字信号的输出除了具有直观、准确的优点外,最主要的还是便于利用电子计算机来进行信息的处理。
    (5)便于高度集成化:由于数字电路中基本单元电路的结构比较简单,而且又允许组件有较大的分散性,这就使我们不仅可把众多的基本单元做在同一块硅片上,同时又能达到大批量生产所需要的良率。
My Question:
数字电路的优点的例子? \color{red}数字电路的优点的例子? 数字电路的优点的例子?

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

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

My answer:

 关于逻辑方程化简,该帖讲解详细
 https://blog.csdn.net/weixin_66578482/article/details/125931372

step1 由于是要求解最简与或式而非最简或与式,先将上式化简为最小项形式
F ( a , b , c , d ) = ∑ m ( 1 , 3 , 6 , 7 , 9 , 11 , 13 , 15 ) F(a,b,c,d)=\sum m(1,3,6,7,9,11,13,15) F(a,b,c,d)=∑m(1,3,6,7,9,11,13,15)
检查最大项和最小项之和为 2 4 = 16 2^4=16 24=16,说明化简无遗缺

step2 做出卡诺图

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

3.假设有两个8位2的补码数,a[7:0]和b[7:0]。这些数字相加以产生s[7:0]。还要计算是否发生了(有符号)溢出。试写出Verilog语言(10分)

module top_module (
input [7:0] a,
input [7:0] b,
output [7:0] s,
output overflow
); //// assign s = ...// assign overflow = ...endmodule

【问题分析】

  1. 什么是“2的补码数”,理解为二进制补码数可能有助于问题的分析
  2. 补码的加减法运算, a [ 补码 ] + b [ 补码 ] = ( a + b ) [ 补码 ] a_{[补码]}+b_{[补码]}={(a+b)}_{[补码]} a[补码]​+b[补码]​=(a+b)[补码]​
  3. 有符号溢出

【逻辑算式】

  1. s最终的结果也是补码形式
  2. 需要设计全加器组成带进位的八位全加器, p l u s plus plus表示全加
    { o v e r f l o w , s u m [ 7 : 0 ] } = a p l u s b \{overflow,sum[7:0]\}=a\quad plus\quad b {overflow,sum[7:0]}=aplusb

【模块实现】

  1. 全加器
module fulladder(s, cout, a, b, cin);//输入输出端口定义output s, cout;input a, b, cin;//采用行为描述的方式实现1位全加器assign s = a ^ b ^ cin;assign cout = a & b | a & cin | b & cin;
endmodule

另一种全加器的描述方法

module fulladder(A,B,CI,S,CO)input A,B,CI;output S,CO;assign {CO,S}=A+B+CI;
endmodule
  1. 带进位的8位加法器
module 8_fulladder(a,b,sum,overflow);output [7:0] sum;output overflow;input [7:0] a , [7:0] b;wire [6:0] carry;fulladder m0(sum[0],carry[0],a[0],b[0],0);fulladder m1(sum[1],carry[1],a[1],b[1],carry[0]);fulladder m2(sum[2],carry[2],a[2],b[2],carry[1]);fulladder m3(sum[3],carry[3],a[3],b[3],carry[2]);fulladder m4(sum[4],carry[4],a[4],b[4],carry[3]);fulladder m5(sum[5],carry[5],a[5],b[5],carry[4]);fulladder m6(sum[6],carry[6],a[6],b[6],carry[5]);fulladder m7(sum[7],overflow,a[7],b[7],carry[6]);endmodule

【顶层代码(My answer)】

module top_module (
input [7:0] a,
input [7:0] b,
output [7:0] s,
output overflow;
); //
wire c0,c1,c2;assign {c0,s}=a+b;
assign c1=a[6]+b[6];
assign c2=a[7]+b[7];
assign overflow=c1^c2; endmodule

二,分析设计题

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

① 试给出2位4x1多路复用器模块框图,标注输入输出信号

MUX多路复用器(数据选择器)
2-1MUX

② 试给出2位4x1多路复用器模块框图,标注输入输出信号

③ 使用2位4x1多路复用器实现下列函数(仅使用一个,说明设计思路,用框图实现)

F 1 ( a , b , c ) = a c ˉ + b ˉ c F_1(a,b,c)=a\bar{c}+\bar{b}c F1​(a,b,c)=acˉ+bˉc F 2 ( a , b ) = ∑ m ( 1 , 3 ) F_2(a,b)=\sum m(1,3) F2​(a,b)=∑m(1,3)

两函数必须仅用一个2位4x1同时实现

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

试设计控制电路,每当输入X从0变为1时,Y在两个时钟周期内应保持为1,然后返回到0–即使X仍为1。

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

②试给出状态转移图。

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

module design(X,clk,rst,Y);
input X,clk;
output reg Y;
reg [1:0] count;//计数标志位
reg flag;//触发标志位//计数器
always@(posegde clk or negedge rst) beginif(!rst)count<=2'b00;else if (flag==1'b1 ) beginif(count==2'b10)count<=2'b00;else count<=count+1;end
end//上升沿触发
always@(posedge X or  negedge rst ) begin
flag<=1'b1;if(!rst) beginY<=1'b0;flag<=1'b0;endelse if(count==2'b10 && Y==1'b1) beginY<=1'b0;flag<=1'b0;endelse beginY<=1'b1;flag<=1'b1;end
end

三,应用设计题

1.舵机控制单元设计

某舵机的控制需要一个20ms的时基脉冲,该脉冲的高电平部分为0.5ms-2.5ms范围,脉冲的宽度将决定转动的角度。例如:1.5毫秒的脉冲,电机将转向 90 度的位置。如果脉冲宽度小于 1.5 毫秒,那么电机轴向朝向0度方向。如果脉冲宽度大于 1.5 毫秒,轴向就朝向180度方向

① 通过两个按键 key1, key2 来控制 PWM 信号调节舵机转动的角度,key1 每按下一次,角度减少 5°,key2 每按下一次,角度增加 5°。试确定两个按键按下后的调节的脉宽,给出必要计算过程。(5 分)

  设两个按键按下后调节的脉宽为 x x x,key1按下一次增加 x x x,key2按下一次减小 x x x,设档位有 y y y个
y = 18 0 ∘ 5 ∘ = 36 y=\frac{180^{\circ}}{5^{\circ}}=36 y=5∘180∘​=36
  那么在2ms的时钟周期内需要有36个不同的档位,解得
x ≤ 2 36 m s = 0.05 5 … m s x \leq \frac{2}{36}ms=0.055^…ms x≤362​ms=0.055…ms
  取 x = 0.05 m s x =0.05ms x=0.05ms,当脉冲宽度为0.5ms时,舵机方向为 0 ∘ 0^{\circ} 0∘,脉冲宽度为1.4ms时,舵机方向为 9 0 ∘ 90^{\circ} 90∘,脉冲宽度为2.3ms时,舵机方向为 18 0 ∘ 180^{\circ} 180∘

② 假设输入时钟的频率可以自行设定,给出舵机控制单元的 Verilog HDL 描述,并进行必要的注释。(5 分)

【思路分析】

  1. 按键最小调节脉宽为0.05ms,以此为时钟周期可以分频产生其他脉冲宽度
  2. 设计脉冲宽度可调的脉冲发生模块,可以采用计数器实现

【顶层代码(My Answer)】

module pps(clk,rst,q,key1,key2);
input clk,rst;//时钟和复位,时钟为20KHz
input key1,key2;//按键
output reg q;//脉冲信号reg[10:0]m;//时间计数
reg[10:0]N;//占空比控制//计数器
always@(posedge clk or negedge rst) beginif(!rst) m<=0;else if(m==399)m<=0;elsem<=m+1;
end//脉冲生成
always@(posedge clk or negedge rst)beginif(!rst) q<=0;else if(m==N)q<=0;else if(m==0)q<=1;
end//占空比调节
always@(*)beginif(!rst) N<=10;else begincase({key1,key2}):2'b10:N<=N+1;2'b01:N<=N-1;2'b00:N<=N;2'b11:N<=N;default:N<=N;endcaseend
endendmodule

2、CPU相关

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

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


My answer

修正

ARM中进位标志位C的四种置位情况

C 可以有4种方法设置C的值:

  1. 加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
  2. 减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。
  3. 对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
  4. 对于其它的非加/减运算指令,C的值通常不会改变。

② 试用Verilog实现该电路

【思路分析】

  1. 规范写法应该构建全加器全减器模块,考试时间原因,采用快速的方法
  2. 考虑到8位数运算结果的复杂程度和应用,与或非采用按位与或非而不采用逻辑与或非,二者区别可参见下面博客总结【HDLbits刷题笔记 】01-verilog语法-基础部分

【顶层代码(M与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};
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

小结

  • 考虑卷面代码均为手书,无调试机会,上文所有代码均未经过调试验证。
  • 数电模拟题中,考虑到时长为2小时,分析时尽可能不要将问题复杂化
  • verilog实现是多种实现方式中较快捷的方式。

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

  1. 【数电试题】西电通卓模拟卷三

    -## 一,简答题 1.1.时序逻辑电路与组合逻辑电路有什么区别?试各举一例说明.可以采用什么方式来描述两类电路的功能? (10 分) [My answer]   组合逻辑电路和时序逻辑电路的区别 比 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 一款腾讯UED设计的提示插件(使用教程)
  2. myeclipse中git的使用
  3. Oracle数据库的显示提交与隐式提交,针对oracle工具的自动提交机制
  4. 从《兄弟连》到团队管理
  5. 客服会话 小程序 如何发起_小程序、公众号、App三者如何融合布局?这里有一份避坑指南...
  6. 用面包分析数学定律,数学老师成网红
  7. python随机抽签列表中的同学值日_神奇的大抽签--Python中的列表_章节测验,期末考试,慕课答案查询公众号...
  8. Stateflow_duration计时
  9. bzoj1113[Poi2008]海报PLA
  10. 2022 电工杯 B 物资配送 全部图解
  11. 你问我DataX是谁?对不起,我活在Apache SeaTunnel的时代!
  12. JAVA长连接与短连接
  13. CC2430 CC2530 AD转换分辨率之“争”
  14. 计算机视觉(二)图像分类
  15. 滴滴DSRC抢楼大赛,十一快车券飞起来
  16. html锚点定位向下偏移,html锚点定位不准确问题
  17. oracle sql查数据是否有重复
  18. 蓝牙核心技术了解(蓝牙协议、架构、硬件和软件笔记)
  19. 手把手教你设计一个通用BootLoader
  20. 皇家恩菲尔德子弹500经典

热门文章

  1. 梦想——要勇于追求,安逸——只能让你迷失
  2. Java面试题库,java表情包图片
  3. ★转载(职业规划演讲)
  4. cmd中如何切换到别的盘符
  5. linux 磁盘配额工具,磁盘配额管理 quotatool
  6. 猜一个1~100的数字
  7. 超详细!操作系统实验三 系统调用(哈工大李治军)
  8. 用java实现简易记事本功能
  9. 2021-10-21 Laplace分布和指数分布,相同参数的两个指数分布之差是Laplace分布
  10. 汇川PLC AM600、AC800系统变量内存及变量寄存器地址分配