数字电路EDA设计习题集Word格式.docx
《数字电路EDA设计习题集Word格式.docx》由会员分享,可在线阅读,更多相关《数字电路EDA设计习题集Word格式.docx(28页珍藏版)》请在冰豆网上搜索。
D.下载器
第2章、大规模可编程逻辑器件
一、填空题
1、集成度是集成电路一项重要的指标,可编程逻辑器件按集成密度可分为
两类。
2、可编程逻辑器件的编程方式可分为
两类。
3、基于EPROM、E2PROM和快闪存储器件的可编程器件,在系统断电后编程信息
4、基于SRAM结构的可编程器件,在系统断电后编程信息
5、CPLD器件中至少包括
三种结构。
6、FPGA的三种可编程电路分别是
7、根据逻辑功能块的大小不同,可将FPGA分为
两类;
据FPGA内部连线结构的不同,可将FPGA分为
据FPGA采用的开关元件不同,可将FPGA分为
两类.
8、目前常见的可编程逻辑器件的编程和配置工艺包括基于
、基于
和基于
三种编程工艺。
二、
单项选择题
1、在下列可编程逻辑器件中,不属于高密度可编程逻辑器件的是
A.EPLD
B.CPLD
FPGA
PAL
2、在下列可编程逻辑器件中,属于易失性器件的是
3、在自顶向下的设计过程中,描述器件总功能的模块一般称为
A.底层设计
B.顶层设计
完整设计
全面设计
4、边界扫描测试技术主要解决
的测试问题
A.印制电路板
数字系统
C.芯片
微处理器
三、
简答题
1、CPLD和FPGA有什么差异?
在实际应用中各有什么特点?
第3章、VHDL编程基础
1、VHDL设计实体的基本结构由
、
和
等部分组成。
2、
是设计实体的基本组成部分,他们可以构成最基本的VHDL程序。
3、在VHDL的端口声明语句中,端口方向包括
4、VHDL的数据对象包括
,它们是用来存放各种类型数据的容器。
5、VHDL的操作符包括
6、VHDL的顺序语句只能出现在
中,是按照书写顺序自上而下,一条一条执行。
7、VHDL的进程(process)语句是由
组成的,但其本身却是
。
1、一个实体可以拥有一个或多个
A.
设计实体
B.结构体
输入
D.输出
2、在VHDL中用
来把特定的结构体关联到一个确定的实体。
B.输出
综合
D.配置
3、在下列标识符中,
是VHDL合法的标识符
4h_add
B.h_adde_
h_adder
D._h_adde
4、在下列标识符中,
是VHDL错误的标识符
B.h_adde4
h_adder_4
D.h_adde
5、在VHDL中为目标变量赋值符号为
=
B.<
=
:
=
=:
6、在VHDL语言中,用语句
表示检测到时钟clk的上升沿
clk’event
B.clk’eventandclk=‘1’
clk=‘0’
clk’eventandclk=‘0’
7、在VHDL的并行语句之间中,只能用
来传送信息
A.变量
变量和信号
C.信号
常量
8、VHDL块语句是并行语句结构,它的内部是由
语句构成的
A.并行和顺序
顺序
C.并行
任何
9、若S1为”1010”,S2为”0101”,下面程序执行后,outValue输出结果为:
libraryieee;
useieee.std_logic_1164.all;
entityexis
port(S1:
instd_logic_vector(3downto0);
S2:
instd_logic_vector(0to3);
outValue:
outstd_logic_vector(3downto0));
Endex;
architecturertlofexis
begin
outValue(3downto0)<
=(S1(2downto0)andnotS2(1to3))&
(S1(3)xorS2(0));
endrtl;
A、“0101”
B、“0100”
C、“0001”
D、“0000”
10、假设输入信号a=“6”,b=“E”,则以下程序执行后,c的值为
entitylogicis
port(
a,b:
in
std_logic_vector(3downto0);
c:
out
std_logic_vector(7downto0));
endlogic;
architectureaoflogicis
begin
c(0)<
=nota(0);
c(2downto1)<
=a(2downto1)
and
b(2downto1);
c(3)<
='
1'
xor
b(3);
c(7downto4)<
="
1111"
when(a
(2)=b
(2))
else
"
0000"
;
enda;
A
“F8”
B“FF”
C“F7”
D“0F”
三、判别下列程序的对错,并改正有错的程序
1、library
ieee;
use
ieee.std_logic_1164.all;
entitytestis
port(d,clk:
instd_logic;
q:
outstd_logic);
endtest;
architectureoneoftestis
process(clk)
waituntilclk’eventandclk=‘1’
q<
=d;
endprocess;
endone;
2、library
port(clk:
count:
architecturetwooftestis
process(clk)
ifclk’eventandclk=’1’then
count<
=count+1;
end
if;
endprocess;
endtwo;
3、
LIBRARYieee;
USEieee.std_logic_1164.all;
USEieee.std_logic_arith.all;
ENTITYforloopIS
port(a:
instd_logic_vector(7downto0);
y:
outstd_logic);
ENDENTITYforloop;
ARCHITECTURErtl_loopOFforloopIS
BEGIN
process(a)
variabletemp:
std_logic;
temp<
=1;
foriin0to7loop
=tempxora(i);
endloop;
y<
=temp;
ENDARCHITECTURErtl;
4、LIBRARYieee;
ENTITYmux4IS
port(s1,s2:
instd_logic;
a,b,c,d:
muxout:
ENDENTITYmux4;
ARCHITECTURErtlOFmux4IS
BEGIN
cases1&
s2is
when"
00"
=>
muxout<
=a;
01"
=b;
10"
=c;
when“11”=>
=d;
case;
四、编程题
1、编写8选1数据选择器的VHDL源程序。
设电路的16位数据输入位A[7:
0],选择信号为sel[2:
0],使能控制端位ena,高电平有效,数据选择输出为Y。
2、编写带异步复位和同步置位的D型触发器的VHDL源程序。
设电路的复位端为clr,置位端为prd,均为低电平有效。
互补输出为Q和QN。
3、试用VHDL设计一个24进制的计数器,输入输出信号如下图所示。
其中信号clk5是clk五分频的输出;
high信号是2bit,是计数器的十位输出;
low信号是4bit,是计数器的个位输出;
rst高有效。
4、8位二进制数据收发器的VHDL源程序。
设电路的输入/输出(双向)为A[7:
0]和B[7:
0],OEN是使能控制端,且为0时工作,为1时被静止工作,此时A[7:
0]为高阻态。
DTR为收发控制端,为1时数据由A[7:
0]发送到B[7:
0],为0则相反。
第四章、EDA开发软件及EDA实验开发平台
1、MaxplusⅡ支持
等不同编辑方式。
2、指定设计电路的输入/输出端口与目标芯片引脚的连接关系的过程称为
3、在完成设计电路的输入/输出端口与目标芯片引脚的锁定后,再次对设计电路的仿真称
1、MaxplusⅡ是
A.高级语言
B.硬件描述语言
C.EDA工具软件
综合软件
2、在使用MaxplusⅡ工具软件实现文本输入时应采用
方式。
A.图形编辑
B.文本编辑
符号编辑
D.
波形编辑
3、执行MaxplusⅡ的
命令,可以对设计电路进行功能仿真或时序仿真
A.CreateDefaultSymbol
B.Simulator
C.Compiler
D.TimingAnalyzer
4.MaxplusⅡ的图形设计文件类型是
A..scf
B..gdf
.vhd
.v
第5章、电子系统EDA设计的应用实例
线性分组码编译码器
I2C串行总线接口模块电路
一、设计题
1、设计线性分组码编译码器
在通信系统中,由于信道存在大量噪声和干扰,使得经信道传输后的接收码与发送码之间存在差异即出现误码。
在数字通信系统中常采用差错控制信道编码技术,减少传输过程的误码,提高数字通信系统的传输质量。
差错控制技术的基本思想是通过对信息序列做某种变换,如增加校验码元等,使得原来相关性很小的信息码元产生某种相关性,从而在接收端利用这种相关性来检查并纠正信息码元在传输中引起的差错。
线性分组编码是采用增加校验码的差错控制的信道编码方式,在这种方式中,每个码组(字)只与该码字的信息码元相关,称为分组码,而且分组码内的规律是线性的,因此称为线性分组码。
设计实现(7,4)线性分组码的编译码电路,其生成矩阵G为
监督矩阵H为
提示:
线性分组编码时,将每K个信息位分为一组进行独立处理,按一定规律给每个信息组增加n-k个校验码元,组成长度为n的二进制码字,这种编码方式记为(n,k)分组码。
信息位和校验位存在着线性关系。
若线性分组码的输入信息位为
编码输出为
,则有如下关系:
式中G为线性分组码的生成矩阵,H为监督矩阵。
当G确定后,编码方式就完全确定了;
当H给定后,编码时校验位和信息位的关系就确定了。
因此在设计编码器时,需要确定生成矩阵G,设计译码器时,需要确定监督矩阵H。
设发送码字为
,e表示传输中的差错,y表示接收码字。
如果码字在传输过程中没有出现差错,则有
出差错时,
其中,s称为伴随子,又称为校正子。
由于s只与序列传输中的差错e有关,因此在错码的纠错能力之内,一定的e序列组合必然对应一定的s组合,因此可以预先在接收机中做好对应表,然后根据序列s准确地判断差错位置,再根据出错位置进行纠正,可得到正确的译码输出。
线性分组编码器设计时,根据生成矩阵G可得到相应的编码。
即由
可得到C的编码输出。
其中,前三个分量为增加的校验码元,后4个分量为原输入信息位。
线性分组译码是编码的反过程,但较编码要复杂一些。
根据在二进制对称条件下,采用译码平均错误概率最小的原则。
此时,对于的最可能错误图样是译码汉明距离最小的接收码组,即非零个数最小的码组。
根据监督矩阵H可以按以下步骤求解。
1、计算接收矢量y的伴随子
可得:
s0=y0+y3+y5+y6;
s1=y1+y3+y4+y5;
s2=y2+y4+y5+y6
2、由伴随子s决定对应的错误图样集e
3、将y译成c=y-e。
由H监督矩阵可推出校正子s0,s1,s2和错误码码组e向量的对应关系。
s0,s1,s2
错误位置(e码)
100
Y0(0000001)
011
Y4(00100000)
010
Y1(0000010)
111
Y5(01000000)
001
Y2(0000100)
101
Y6(10000000)
110
Y3(0001000)
000
无错(00000000)
2、设计
串行总线接口模块电路
I²
C(InterICBUS)总线是由Philips公司推出的芯片间串行总线,它以两根连线实现了完善的全双工同步的数据传送,可以极方便的构成多机系统和外围器件扩展系统。
它解决了由于使用并行总线扩展时连线过多,外围器件工作方式各异,外围器件与数据存储器混和编址而给单片机应用系统带来的困难。
C总线在标准模式下,数据传送速率可达100kbit/s,高速模式下可达400kbit/s,总线的驱动能力受总线电容限制,不加驱动扩展时驱动能力为400pF。
为了能使总线实现线与功能,各个I²
C总线的接口电路的输出端必须是漏极开路或集电极开路结构,因此输出端必须加上拉电阻。
其总线如下图所示。
主控器件与从控器件是可以相互转换的,这要看在某一个数据传送周期内,是谁在对时钟线起主控作用。
同时,如果总线上有多个主控器件,则它们可能形成多主竞争状态,这时需要加入总线仲裁机制。
C总线有两种时序状态,一种是起始状态,另一种是终止状态。
即当SCL时钟信号为高电平时,SDA数据线有一个由高到低电平的跳变,表明总线上数据传输开始。
当SCL时钟信号为高电平时,SDA数据线有一个由低到高电平的跳变,表明总线上数据传输结束。
没有数据传输时,SDA和SCL都保持高电平的状态。
C进行总线数据的传输时,在时钟线SCL为高电平期间,数据线SDA必须为稳定状态。
只有在SCL为低电平时,SDA上的电平才允许变化。
C总线上是按字节来传送的,每传送一个字节都必须跟一位应答位。
首先发送的数据位都必须是最高位。
应答信号是在第9个时钟位出现的。
发送器释放数据总线,接收器发送一个低电平就为应答信号,高电平就为非应答信号。
一次完整的数据传输见下图所示。
更详细的I²
C总线可参见相应标准。
实现I²
C总线可分两个模块,发送模块和接收模块。
在发送模块中,输入信号由reset(复位输入端)、en(使能控制输入端)、clk(时钟输入端)、data[7:
0](8位数据输入信号)。
输出信号为scl和sda。
其中,scl信号由clk二分频产生,每次在clk信号的上升沿到来时进行电平跳变。
Sda信号通过一个状态机实现,每次clk信号下降沿,针对此时的scl信号电平和当前状态机的状态产生sda信号。
接收模块输入为scl和sda信号,输出为data[7:
0]8位并行数据。
参考答案
第一章答案:
填空题:
1、CAD、CAE、EDA
2、设计准备、设计输入、设计处理、器件编程
3、功能仿真、时序仿真、器件测试
4、