PLD习题集含参考答案数字系统设计.docx

上传人:b****0 文档编号:9341564 上传时间:2023-05-18 格式:DOCX 页数:20 大小:99.16KB
下载 相关 举报
PLD习题集含参考答案数字系统设计.docx_第1页
第1页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第2页
第2页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第3页
第3页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第4页
第4页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第5页
第5页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第6页
第6页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第7页
第7页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第8页
第8页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第9页
第9页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第10页
第10页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第11页
第11页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第12页
第12页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第13页
第13页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第14页
第14页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第15页
第15页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第16页
第16页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第17页
第17页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第18页
第18页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第19页
第19页 / 共20页
PLD习题集含参考答案数字系统设计.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

PLD习题集含参考答案数字系统设计.docx

《PLD习题集含参考答案数字系统设计.docx》由会员分享,可在线阅读,更多相关《PLD习题集含参考答案数字系统设计.docx(20页珍藏版)》请在冰点文库上搜索。

PLD习题集含参考答案数字系统设计.docx

PLD习题集含参考答案数字系统设计

第1章习题

1.1名词解释

PROMCPLDFPGAASIC

JTAG边界扫描FPGA/CPLD编程与配置逻辑综合

PALEDAGALIP-COREISPASICRTLFPGASOPCCPLD

IP-CORESOC和SOPCEDA/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什么是综合?

常用的综合工具有哪些?

HDLRTL门级网表的描述转换过程

ALTERA:

MAX-PLUSII,Quartus,Xilinx:

ISE,Lattice:

ispLERVER

1.10功能仿真与时序仿真有什么区别?

功能仿真不考虑器件延时,而时序分析必须考虑在不同器件中的物理信号的延时

1.11数字逻辑设计描述分哪几个层级,各有什么特点。

1.12、为何任意组合逻辑电路可用通用的与阵列、或阵列组合来实现。

可表示为布尔代数方程,由乘积项的和表示

1.13FPGA与CPLD在实现方式或部结构上的主要区别

查表、与或阵列

1.14VerilogHDL与计算机程序设计语言主要区别

(描述并行电路行为或结构、描述的串行指令流)

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.6CPLD和FPGA在结构上有什么明显的区别,各有什么特点?

CPLD是基于乘积项可编程的,适合用于设计一些逻辑型电路、电路规模较小

FPGA是基于查表的,适合设计数据型大规模系统

2.7FPGA器件中的存储器块有何作用?

FPGA存储器用于存储每种逻辑输入对应的需要输出逻辑真值表。

2.8简要说明JTAG边界扫描概念及作用。

2.9简述FPGA配置、CPLD编程概念及其异同点。

第3章习题

3-1基于QuartusII软件,用D触发器设计一个2分频电路,并做波形仿真,在此基础上,设计一个4分频和8分频电路,做波形仿真。

3-2基于QuartusII软件,用7490设计一个能计时(12小时)、计分(60分)和计秒(60秒)的简单数字钟电路。

设计过程如下:

(1)先用QuartusII的原理图输入方式,用7490连接成包含进位输出的模60的计数器,并进行仿真,如果功能正确,则将其生成一个部件;

(2)将7490连接成模12的计数器,进行仿真,如果功能正确,也将其生成一个部件;

(3)将以上两个部件连接成为简单的数字钟电路,能计时、计分和计秒,计满12小时后系统清0重新开始计时。

(4)在实现上述功能的基础上可以进一步增加其它功能,比如校时功能,能随意调整小时、分钟信号,增加整点报时功能等。

3-3基于QuartusII软件,用74161设计一个模99的计数器,个位和十位都采用8421BCD码的编码方式设计,分别用置0和置1两种方法实现,完成原理图设计输入、编译、仿真和下载整个过程。

3-4基于QuartusII软件,用7490设计一个模71计数器,个位和十位都采用8421BCD码的编码方式设计,完成原理图设计输入、编译、仿真和下载整个过程。

3-5基于QuartusII,用74283(4位二进制全加器)设计实现一个8位全加器,并进行综合和仿真,查看综合结果和仿真结果

3-6基于QuartusII,用74194(4位双向移位寄存器)设计一个“00011101”序列产生器电路,进行编译和仿真,查看仿真结果。

3-7基于QuartusII软件,用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.3reg型与wire型变量有什么本质区别

5.4wire型变量没有驱动其值为多少

5.5reg型初始值一般为多少

5.6定义如下的变量和常量:

(1)定义一个名为count的整数;integercount;

(2)定义一个名为ABUS的8位wire总线;wire[7:

0]ABUS;

(3)定义一个名为address的16位reg型变量,并将该变量的值赋为十进制数128;

reg[15:

0]address;address<=16’d128;

(4)定义参数Delay_time,参数值为8;

parameterDelay_time=8;

(5)定义一个名为DELAY的时间变量;

integerDELAY;

(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.9net型数据类型有哪些?

wiretri

5.10给出reg型、和integer型变量Variable定义示例程序

(p126)

5.11Verilog向量与标量的定义

wirea;wire[3:

0]b;

第6章习题

6.1试编写求补码的Verilog程序,输入是带符号的8位二进制数。

modulenegCode(out,in);

outputreg[7:

0]out;

reg[7:

0]a;

inputwire[7:

0]in;

integeri;

always(in[0]orin[1]orin[2]orin[3]orin[4]orin[5]orin[6]orin[7])

begin

if(in[7])begin

for(i=0;i<7;i++)a[i]=~in[i];

a[7]=in[7];

out=a+1;

end

elseout=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)

modulemux4_1(out,in0,in1,in2,in3,sel);

outputout;

inputin0,in1,in2,in3;

input[1:

0]sel;

regout;

always(in0orin1orin2orin3orsel)//敏感信号列表

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关键字的作用和基本功能。

modulecount(out,data,load,reset,clk);//8位同步置数、同步清零的计数器模块

output[7:

0]out;

input[7:

0]data;

inputload,clk,reset;

reg[7:

0]out;

always(posedgeclk)//clk上升沿触发

begin

if(!

reset)out=8'h00;//同步清0,低电平有效

elseif(load)out=data;//同步预置

elseout=out+1;//计数

end

endmodule

6.9用波形图和文字解释说明下列两段代码中的赋值语句行为的细微差别

(参考P163,例6.33、6.34)

非阻塞赋值

modulenon_block(c,b,a,clk);

outputc,b;

inputclk,a;

regc,b;

always(posedgeclk)

begin

b<=a;

c<=b;

end

endmodule

阻塞赋值

moduleblock(c,b,a,clk);

outputc,b;

inputclk,a;

regc,b;

always(posedgeclk)

begin

b=a;

c=b;

end

endmodule

6.10解释说明下列代码所描述的7人表决器详细功能及实现方法(参考P153循环语句)

modulevoter7(pass,vote);

outputpass;

input[6:

0]vote;

reg[2:

0]sum;integeri;regpass;

always(vote)

beginsum=0;

for(i=0;i<=6;i=i+1)//for语句

if(vote[i])sum=sum+1;

if(sum[2])pass=1;

elsepass=0;

end

endmodule

6.11名词解释

敏感信号VerilogDHL语言中的标量与向量

数字电路状态机并发块串行块

第六章补充

6.12注解下列每行代码,并给出其逻辑功能描述

moduleAAA(a,b);

outputa;

input[6:

0]b;

reg[2:

0]sum;

integeri;

rega;

always(b)

begin

sum=0;

for(i=0;i<=6;i=i+1)

if(b[i])

sum=sum+1;

if(sum[2])a=1;

elsea=0;

end

endmodule

6.13简要说明仿真时阻塞赋值与非阻塞赋值的区别。

6.14举例说明VerilogDHL语言中的标量与向量定义及作用。

6.15数字系统描述有哪些层级,各有什么特点,用硬件描述语言设计数字电路有什么优势?

6.16在VerilogHDL中哪些类型语句是并发执行的?

6.17VerilogHDL与计算机程序设计语言主要区别。

6.18在VerilogHDL中的哪些类型语句是顺序执行的?

6.19注解说明下列每行代码的功能作用,并分析整个模块基本功能

modulecount(out,data,load,reset,clk);

output[7:

0]out;

input[7:

0]data;

inputload,clk,reset;

reg[7:

0]out;

always(posedgeclk)

begin

if(!

reset)out=8'h00;

elseif(load)out=data;

elseout=out+1;

end

endmodule

 

第7章习题

7.1Verilog支持哪几种描述方式,各有什么特点?

(结构、数据流、行为)

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输入多路选择器的码描述逻辑符号。

moduleMUX2(outf,ina,inb,sel);

outputoutf;

inputina,inb,sel;

assignoutf=sel?

inb:

ina;

endmodule

7.14给出出下列代码所描述的电路功能,并画出其逻辑框。

modulevoter7(pass,vote);

outputpass;

input[6:

0]vote;

reg[2:

0]sum;

integeri;regpass;

always(vote)

begin

sum=0;

for(i=0;i<=6;i=i+1)/

if(vote[i])sum=sum+1;

if(sum[2])pass=1;

elsepass=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)

moduleMUX3(out,a,b,sel);

outputout;

inputa,b,sel;

assignout=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触发器代码

moduleblock(d,q,clk);

outputq;

inputclk,a;

regq;

always(posedgeclk)

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)

8.17设计一个8位带同步置位和清0的同步计数器。

(参考P148例6.15)

8.18always、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码转换为七段数码的电路。

序号

(数码)

输入

(A3~A1)

输出

(Y6~Y0)

0

0000

0111111

1

0001

0000110

8

1000

1111111

9

1001

1100111

 

其他补充练习题

填空

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.下列标识符中,_______是合法,_______是错误的?

ACoutB8sumC\a*bD_data

E\wait,FinitialG$latch

2.下列数字的表达式中,_______是正确的,_______是错误的?

A6'd18B'Bx0C5'b0x110,D'da30,E10'd2,F'hzF

3.下列标识符中,__________是不合法的标识符。

A.9moonB.State0C.Not_Ack_0D.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=0B、a&&b=1C、b&a=xD、b&&a=x

6.awaysbegin#5clk=0;#10clk=~clk;end产生的波形(A)

A、占空比1/3B、clk=1C、clk=0D、周期为10

7.下列标示符哪些是合法的(B)

A、$timeB、_dateC、8sumD、mux#

8.现网中的值被解释为无符号数。

在连续赋值语句中,assignaddr[3:

0]=-3;addr被赋予的值是(A)

A、4’b1101B、4’b0011C、4’bxx11D、4’bzz11

9.若a=9,执行$display(“currentvalue=%0b,a=%0d”,a,a)正确显示为(B)

A、currentvalue=1001,a=09B、currentvale=1001,a=9

C、1001,9D、currentvale=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.下列语句中,不属于并行语句的是:

_______

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2