下载word有问题请添加微信号:xuecool-com或QQ:370150219处理(尽可能给您提供完整文档),感谢您的支持与谅解。
第1章习题 1.1 名词解释
PROM CPLD FPGA ASIC
JTAG边界扫描 FPGA/CPLD编程与配置 逻辑综合
PAL EDA GAL IP-CORE ISP ASIC RTL FPGA SOPC CPLD IP-CORE SOC和SOPC EDA/CAD 1.2 现代EDA技术的特点有哪些?
采用HDL描述、自顶向下、开放标准、具有完备设计库 1.3 什么是Top-down设计方式?(P4)
1.4 数字系统的实现方式有哪些?各有什么优缺点?
74LS系列/4000系列常规逻辑门设计:设计难度大、调试复杂
采用CPLD/FPGA等可编程器件来设计:用HDL描述、设计难度小、
调试仿真方便,开发费用低, 但单位成本较高,适合小批量应用
专用集成电路设计:设计掩模成本高,适合大批量应用
1.5 什么是IP复用技术?IP核对EDA技术的应用和发展有什么意义? (P5)
IP可重复使用的一种功能设计,可节省设计时间、缩短开发周期, 避免重复劳动为大规模SOC设计提供开发基础、和开发平台。
1.6 用硬件描述语言设计数字电路有什么优势?
优势:可进行行为级、RTL级、门级多层面对电路进行描述、 可功能仿真时序分析,与工艺无关。
1.8 基于FPGA/CPLD的数字系统设计流程包括哪些步骤? (P8 图1.7)
1.9 什么是综合?常用的综合工具有哪些?
HDL?RTL?门级?网表的描述转换过程
ALTERA:MAX-PLUSII,Quartus, Xilinx:ISE , Lattice: ispLERVER
1.10 功能仿真与时序仿真有什么区别?
功能仿真不考虑器件延时,而时序分析必须考虑在不同器件中的物理信号的延时
1.11 数字逻辑设计描述分哪几个层级,各有什么特点。
1.12、为何任意组合逻辑电路可用通用的与阵列、或阵列组合来实现。
可表示为布尔代数方程,由乘积项的和表示 1.13 FPGA与CPLD在实现方式或内部结构上的主要区别
查表、与或阵列
1.14 VerilogHDL与计算机程序设计语言主要区别
(描述并行电路行为或结构、描述的串行指令流)
1.15 简述“逻辑综合”功能作用。
1.16 数字系统描述有哪些层级,各有什么特点,用硬件描述语言设计数字电路有什么优势?
第2章习题
2.1 从器件的或阵列编程结构角度看,PROM、PLA、PAL、GAL在结构上有什么区别?
2.2 说明PAL、GAL的输出单元有何特点,它怎样实现可编程组合电路和时序电路?
PAL、GAL输出单元都有一个触发器, 实现组合逻辑时触发器被旁路掉,
实现时序单路是则从触发器输出信号。
2.3 简述基于乘积项的可编程逻辑器件的结构特点?
PAL、GAL是乘积项可编程,或阵列固定的PLD器件,
送到或门的乘积项是固定的,大大简化了器件设计算法 2.4 基于查找表的可编程逻辑结构的原理是什么?
P31
文字解释
2.5 基于乘积项和基于查找表的结构各有什么优缺点?
基于乘积项的适合用于设计一些逻辑型电路、电路规模较小 而基于查找表结构适合设计数据型电路,电路规模较大, 用于逻辑型电路设计会有延时不确定等问题。
2.6 CPLD和FPGA在结构上有什么明显的区别,各有什么特点?
CPLD是基于乘积项可编程的,适合用于设计一些逻辑型电路、电路规模较小 FPGA是基于查表的,适合设计数据型大规模系统
2.7 FPGA器件中的存储器块有何作用?
FPGA存储器用于存储每种逻辑输入对应的需要输出逻辑真值表。 2.8简要说明JTAG边界扫描概念及作用。
2.9 简述FPGA配置、CPLD编程概念及其异同点。
第3章习题
3-1 基于Quartus II软件,用D触发器设计一个2分频电路,并做波形仿真,在此基础上,设计一个4分频和8分频电路,做波形仿真。
3-2 基于Quartus II软件,用7490设计一个能计时(12小时)、计分(60分)和计秒(60秒)的简单数字钟电路。设计过程如下:
(1)先用Quartus II的原理图输入方式,用7490连接成包含进位输出的模60的计数器,并进行仿真,如果功能正确,则将其生成一个部件;
(2)将7490连接成模12的计数器,进行仿真,如果功能正确,也将其生成一个部件; (3)将以上两个部件连接成为简单的数字钟电路,能计时、计分和计秒,计满12小时后系统清0重新开始计时。
(4)在实现上述功能的基础上可以进一步增加其它功能,比如校时功能,能随意调整小时、分钟信号,增加整点报时功能等。
3-3 基于Quartus II软件,用74161设计一个模99的计数器,个位和十位都采用8421BCD码的编码方式设计,分别用置0和置1两种方法实现,完成原理图设计输入、编译、仿真和下载整个过程。
3-4 基于Quartus II软件,用7490设计一个模71计数器,个位和十位都采用8421BCD码的编码方式设计,完成原理图设计输入、编译、仿真和下载整个过程。
3-5 基于Quartus II,用74283(4位二进制全加器)设计实现一个8位全加器,并进行综合和仿真,查看综合结果和仿真结果 3-6 基于Quartus II,用74194(4位双向移位寄存器)设计一个“00011101”序列产生器电路,进行编译和仿真,查看仿真结果。 3-7 基于Quartus II软件,用D触发器和适当的门电路实现一个输出长度为15的m序列产生器,进行编译和仿真,查看仿真结果。
第4章习题
4.1 用Verilog设计一个8位加法器,并进行综合和仿真,查看综合结果和仿真结果。 4.2 用Verilog设计一个8位计数器,并进行综合和仿真,查看综合结果和仿真结果。
第5章习题
5.1 下列标识符哪些是合法的,哪些是错误的?
Cout, 8sum, \\a*b, _data, \\wait, initial, $latch 5.2 下列数字的表示是否正确?
6'd18, 'Bx0, 5'b0x110, 'da30, 10'd2, 'hzF 5.3 reg型与wire型变量有什么本质区别
5.4 wire型变量没有驱动其值为多少 5.5 reg型初始值一般为多少 5.6 定义如下的变量和常量:
(1)定义一个名为count的整数; integer count; (2)定义一个名为ABUS的8位wire总线; wire[7:0] ABUS;
(3)定义一个名为address的16位reg型变量,并将该变量的值赋为十进制数128; reg[15:0] address; address<=16’d128; (4)定义参数Delay_time, 参数值为8;
parameter Delay_time =8;
(5)定义一个名为DELAY的时间变量; integer DELAY;
(6)定义一个32位的寄存器MYREG; reg[31:0] MYREG;
(7)定义一个容量为128,字长为32位的存储器MYMEM; reg[32-1:0] MYREG[128];
5.8 .举例列出Verilog整数(Integer)2进制、8进制、16进制常量。 P123
5.9 net型数据类型有哪些? wire tri
5.10 给出reg型、和integer型变量Variable定义示例程序
(p126)
5.11 Verilog向量与标量的定义 wire a; wire[3:0] b;
第6章习题
6.1 试编写求补码的Verilog程序,输入是带符号的8位二进制数。 module negCode(out,in); output reg[7:0] out; reg[7:0] a;
input wire[7:0] in; integer i;
always @(in[0]or in[1] or in[2]or in[3] or in[4]or in[5] or in[6]or in[7]) begin
if(in[7]) begin
for(i=0;i<7;i++) a[i]=~in[i]; a[7]=in[7]; out=a+1; end
else out=in; end endmodule
6.2 试编写两个四位二进制数相减的Verilog程序。(参考P175,例7.18)
6.3 有一个比较电路,当输入的一位8421BCD码大于4时,输出为1,否则为0。试编写
出Verilog程序。(参考P147,例6.13)
6.4 用CASE语句试编写一个表决电路,同意为输入1,不同意输入0,同意过半数(>=5)表决通过亮绿灯,不通过亮红灯。(P149,例6.16) 6.5简述wire变量基本语法定义及用途(第6章)
6.6 简述阻塞性赋值与非阻塞型赋值的区别(P163、6.8节)
6.7 解释说明下列代码中的always、case语句的语法及所描述行为(P138例6.1) module mux4_1(out,in0,in1,in2,in3,sel); output out;
input in0,in1,in2,in3; input[1:0] sel; reg out;
always @(in0 or in1 or in2 or in3 or sel) //敏感信号列表 case(sel) 2'b00: out=in0; 2'b01: out=in1; 2'b10: out=in2; 2'b11: out=in3; default: out=2'bx; endcase endmodule
6.8 解释说明下列代码中的posedge和negedge关键字的作用和基本功能。 module count(out,data,load,reset,clk); //8位同步置数、同步清零的计数器模块 output[7:0] out; input[7:0] data; input load,clk,reset; reg[7:0] out;
always @(posedge clk) //clk上升沿触发 begin
if(!reset) out=8'h00; //同步清0,低电平有效 else if(load) out=data; //同步预置 else out=out+1; //计数 end endmodule
6.9用波形图和文字解释说明下列两段代码中的赋值语句行为的细微差别 (参考P163,例6.33、6.34) 非阻塞赋值
module non_block(c,b,a,clk); output c,b; input clk,a; reg c,b;
always @(posedge clk) begin b<=a;
c<=b; end endmodule 阻塞赋值
module block(c,b,a,clk); output c,b; input clk,a; reg c,b;
always @(posedge clk) begin b=a; c=b; end endmodule
6.10 解释说明下列代码所描述的7人表决器详细功能及实现方法(参考P153循环语句) module voter7(pass,vote); output pass; input[6:0] vote;
reg[2:0] sum;integer i;reg pass; always @(vote) begin sum=0;
for(i=0;i<=6;i=i+1) //for语句 if(vote[i]) sum=sum+1; if(sum[2]) pass=1; else pass=0; end endmodule 6.11 名词解释
敏感信号 VerilogDHL语言中的标量与向量 数字电路状态机 并发块 串行块
第六章补充
6.12 注解下列每行代码,并给出其逻辑功能描述
module AAA ( a ,b ); output a ; input [6:0] b ; reg[2:0] sum; integer i; reg a ; always @ (b) begin sum = 0; for(i = 0;i<=6;i = i+1)
if(b[i])
sum = sum+1;
if(sum[2]) a = 1;
else a = 0;
end
endmodule
6.13简要说明仿真时阻塞赋值与非阻塞赋值的区别。
6.14 举例说明VerilogDHL语言中的标量与向量定义及作用。
6.15 数字系统描述有哪些层级,各有什么特点,用硬件描述语言设计数字电路有什么优势?
6.16 在VerilogHDL中哪些类型语句是并发执行的? 6.17 VerilogHDL与计算机程序设计语言主要区别。 6.18 在VerilogHDL中的哪些类型语句是顺序执行的?
6.19注解说明下列每行代码的功能作用,并分析整个模块基本功能
module count(out,data,load,reset,clk); output[7:0] out; input[7:0] data; input load,clk,reset; reg[7:0] out; always @(posedge clk) begin if(!reset) out=8'h00; else if(load) out=data; else out=out+1; end endmodule
第7章习题
7.1 Verilog支持哪几种描述方式,各有什么特点?(结构、数据流、行为) 7.2 分别用结构描述和行为描述方式设计一个基本的D触发器,并进行综合。 7.3 分别用结构描述和行为描述方式设计一个JK触发器,并进行综合。 7.4 试编写同步模5计数器程序,有进位输出和异步复位端。(参考最后一次实验四) 7.5 编写4位串/并转换程序。(参考P183页) 7.6 编写4位并/串转换程序。(参考P183页) 7.7 编写4位除法电路程序。
7.8 举例说明门级描述代码设计方法(参考第7章例子) 7.9 举例说明行为描述代码设计方法(参考第7章例子) 7.10 举例说明数据流描述代码设计方法(参考第7章例子) 7.11 用VerilogHDL描述下图所示的组合逻辑电路
7.12 给出描述D触发器代码和逻辑图描述
7.13给出2输入多路选择器的码描述逻辑符号。
module MUX2(outf, ina, inb, sel); output outf;
input ina, inb, sel;
assign outf = sel ? inb : ina; endmodule
7.14 给出出下列代码所描述的电路功能,并画出其逻辑框。
module voter7(pass,vote); output pass; input[6:0] vote; reg[2:0] sum;
integer i;reg pass; always @(vote) begin
sum=0;
for(i=0;i<=6;i=i+1) /
if(vote[i]) sum=sum+1; if(sum[2]) pass=1; else pass=0;
end endmodule endmodule
第8章习题
8.1 用状态机设计一个带同步复位的十进制计数器,并写出测试程序。(参考最后一次实验四)
8.2 设计实现一个功能类似74LS160的电路。 8.3 设计一个可预置的16进制计数器,并仿真。 8.4 设计一个“1101”序列检测器。
8.5 用Verilog编写一个用7段数码管交替显示26个英文字母的程序,自己定义字符的形状。 8.6 设计一个乐曲演奏电路,实现乐曲“铃儿响叮当”的循环演奏,可将音符数据存于ROM模块中。
8.7 在实现第6题的基础上增加曲目,在同一个ROM模块中装上多首歌曲,可手动或自动选择歌曲。
8.8 设计实现一个简易电子琴,敲击不同的按键可发出相应的音调,同时将音符显示在数码管上。
8.8 画出下列代码所描述的电路图(参考P135图5.2) module MUX3(out, a, b, sel); output out; input a, b, sel;
assign out = sel ? b : a; endmodule
8.9 用VerilogHDL描述下图所示的全加器电路功能(P173例7.12)
8.10 写出用全加器模块级联实现多位加法器功能的代码。(P175例7.17) 8.11 用VerilogHDL描述下图所示的组合逻辑电路(参考P171例7.6)
8.12 用Verilog描述D触发器代码
module block(d,q,clk); output q; input clk,a; reg q;
always @(posedge clk) begin q=>d; end endmodule
8.13 用always行为语句和if-else语句描述下图所示数据选择器(参考P146条件语句)
8.14 用CASE语句试编写一个表决电路,同意为输入1,不同意输入0,同意过半数(>=5)表决通过亮绿灯,不通过亮红灯。(参考P148,CASE语句) 8.15 设计实现一个8位串行移位寄存器的电路,含并行输出端。(参考D触发器代码,多触发器级联)
8.16 设计下图所示多位加法器的功能代码。(参考习题8.22、8.23)
a[0]b[0]a[1]b[1]a[2]b[2]a[3]b[3]cin1位全加器cin11位全加器cin21位全加器cin31位全加器coutsum[0]sum[1]sum[2]sum[3]
8.17 设计一个8位带同步置位和清0的同步计数器。(参考P148例6.15) 8.18 always、case语句设计一个4选1多路选择器(参考实验) 8.19 设计一个3-8译码器(参考7段码) 8.20 设计一个4-16译码器(参考7段码)
8.22 设计一个4位BCD码输入的7段数码管显示的译码电路(参考实验) 8.23 设计一个带同步清0的8位同步计数器。
8.24 .用CASE语句试编写3-8译码器,即3位地址输入,8条地址译码选通线输出。 8.25 用VerlogHDL设计一个带同步清0输入控制端的8位同步计数器,并画出仿真波形图。 8.26 .用HDL语言设计一个8比特寄存器,含8位数据输入、8位锁存输出、一个输出允许端,一个数据写入锁存端。
8.27 用CASE语句设计一个4位BCD码输入的7段数码管显示的译码电路,真值表所描述BCD码转换为七段数码的电路。
Y0
序号 (数码) 0 1 … 输入 输出 (A3~A1) (Y6~Y0) 0000 0001 … 011 1111 000 0110 … 111 1111 110 0111 Y5
Y6
Y1
8 1000 9 1001
Y4
Y3
Y2
其他补充练习题 填空
1.写出数值为11011011b的二进制Verilog整数常量表达式: 。 2.用Verilog定义一标量a: 。
3.定义一个容量为128,字长为32位的存储器MYMEM: 。 4.写出数值为110011b的二进制Verilog整数常量表达式: 。 5.可编程器件分为 和 。 6.可编程器件分为 和 。
7.把变量a值菲阻塞性赋值给变量b语句为: 。 8.把变量a值阻塞性赋值给变量b语句为: 。 9.若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @( )。
10.可编程器件分为 和 。 11.定义参数Delay_time, 参数值为8: 。 12.定义一个32位的寄存器MYREG: 。
13.定义一个容量为128,字长为32位的存储器MYMEM: 。
14.用EDA技术进行电子系统设计的目标是最终完成 的设计与实现。 15.早期电子系统设计多基于通用的中小规模集成电路元件库,设计方法多采用自底向上的设计方法,而随着EDA技术的不断完善与成熟,
的设计方法更多的被应用。
16.若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @( )。
17.定义一个名为address的16位reg型变量,并将该变量的值赋为十进制数128: 。
18.定义一个名为DELAY的时间变量: 。 19.用Verilog定义一位宽为4的向量b: 。
20.早期电子系统设计多基于通用的中小规模集成电路元件库,设计方法多采用自底向上的设计方法,而随着EDA技术的不断完善与成熟,
的设计方法更多的被应用。 选择
1.下列标识符中,___ ____是合法,____ ___是错误的? A Cout B 8sum C \\a*b D _data E \\wait, F initial G $latch
2.下列数字的表达式中,______ _是正确的,___ ____是错误的? A 6'd18 B 'Bx0 C 5'b0x110, D 'da30, E 10'd2, F 'hzF 3.下列标识符中,__________是不合法的标识符。 A.9moon B.State0 C. Not_Ack_0 D. signall 4. reg[7:0] mema[255:0]正确的赋值是(A )
A、mema[5]=3’ d0, B、8’ d0; C、1’ b1; D、mema[5][3:0]=4’ d1 5. “a=4’ b11001,b=4’ bx110”选出正确的运算结果(B ) A、a&b=0 B、a&&b=1 C、b&a=x D、b&&a=x
6. aways begin #5 clk=0;#10 clk=~clk;end产生的波形( A ) A、占空比1/3 B、clk=1 C、clk=0 D、周期为10
7. 下列标示符哪些是合法的(B )
A、$time B、_date C、8sum D、mux#
8. 现网中的值被解释为无符号数。在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是( A )
A、4’b1101 B、4’b0011 C、4’bxx11 D、4’bzz11
9. 若a=9,执行$display(“current value=,a=”,a,a)正确显示为(B ) A、current value=1001,a=09 B、current vale=1001,a=9
C、1001,9 D、current vale=00…001001,a=9 10. reg[7:0] mema[255:0]正确的赋值是(A )
A、mema[5]=3’ d0, B、8’ d0; C、1’ b1; D、mema[5][3:0]=4’ d1
11.基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→ 综合→(___ __)→( )→适配→编程下载→硬件测试。 A功能仿真 B 时序仿真 C逻辑综合 D配置 E分配管脚 12.下列语句中,不属于并行语句的是:_______
A.过程语句 B.assign语句 C.元件例化语句 D.case语句 13. 在Verilog中定义了宏名 `define sum a+b+c 下面宏名引用正确的是(C) A、out=’sum+d; B、out=sum+d; C、out=`sum+d; D、都正确 14. 如果线网类型变量说明后未赋值,起缺省值是(D ) A、x B、1 C、0 D、z
15. 如果线网类型变量说明后未赋值,起缺省值是(D ) A、x B、1 C、0 D、z
16.大规模可编程器件主要有 FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是( )。
A.FPGA全称为复杂可编程逻辑器件
B.FPGA是基于乘积项结构的可编程逻辑器件
C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置 D.在Altera公司生产的器件中,MAX7000系列属FPGA结构 17.下列语句中,不属于并行语句的是:_______
A.过程语句 B.assign语句 C.元件例化语句 D.case语句 18.下列标识符中,__________是不合法的标识符。 A.9moon B.State0 C. Not_Ack_0 D. signall 19.下列标识符中,___ ____是合法,____ ___是错误的? A Cout B 8sum C \\a*b D _data E \\wait, F initial G $latch
20.下列数字的表达式中,______ _是正确的,___ ____是错误的? A 6'd18 B 'Bx0 C 5'b0x110, D 'da30, E 10'd2, F 'hzF
以上是由77cn范文大全为大家整理的2014年PLD习题集(含参考答案)数字系统设计的相关范文,本文关键词为2014年,PLD,习题集,参考,答案,数字,系统,设计,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。
2014年PLD习题集(含参考答案)数字系统设计.doc
免费范文网为全国范文类知名网站,下载全文稍作修改便可使用,即刻完成写稿任务。
已有11人下载
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2014年PLD习题集(含参考答案)数字系统设计在线全文阅读。
本文来自:免费范文网(www.77cn.com.cn) 转载请注明出处!