Verilog复习题Word文档下载推荐.docx

上传人:b****6 文档编号:17654835 上传时间:2022-12-07 格式:DOCX 页数:18 大小:120.18KB
下载 相关 举报
Verilog复习题Word文档下载推荐.docx_第1页
第1页 / 共18页
Verilog复习题Word文档下载推荐.docx_第2页
第2页 / 共18页
Verilog复习题Word文档下载推荐.docx_第3页
第3页 / 共18页
Verilog复习题Word文档下载推荐.docx_第4页
第4页 / 共18页
Verilog复习题Word文档下载推荐.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Verilog复习题Word文档下载推荐.docx

《Verilog复习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Verilog复习题Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。

Verilog复习题Word文档下载推荐.docx

5寄存器配平

6关键路径法

A.①③⑤B.②③④C.②⑤⑥D.①④⑥

8、下列标识符中,A是不合法的标识符。

A.9moonB.State0C.Not_Ack_0D.signall

9、下列语句中,不属于并行语句的是:

D___

A.过程语句B.assign语句C.元件例化语句D.case语句

6、10、P,Q,R都是4bit的输入矢量,下面哪一种表达形式是正确的5)

1)inputP[3:

0],Q,R;

2)inputP,Q,R[3:

0];

3)inputP[3:

0],Q[3:

0],R[3:

4)input[3:

0]P,[3:

0]Q,[0:

3]R;

5)input[3:

0]P,Q,R;

11、请根据以下两条语句的执行,最后变量A中的值是—①—。

reg[7:

0]A;

A=2'

hFF;

①8'

b0000_0011②8'

h03③8'

b1111_1111④8'

b11111111

三、简答题

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

非阻塞(non-blocking)赋值方式(b<

=a):

b的值被赋成新值a的操作,并不是立刻完成的,而是在块结束时才完成;

块内的多条赋值

语句在块结束时同时赋值;

硬件有对应的电路。

阻塞(blocking)赋值方式(b=a):

b的

值立刻被赋成新值a;

完成该赋值语句后才能执行下一句的操作;

硬件没有对应的电路,因

而综合结果未知。

阻塞赋值是在该语句结束是立即完成赋值操作;

非阻塞赋值是在整个过程块结束是才完成赋值操作。

2、简述有限状态机FSM分为哪两类?

有何区别?

有限状态机的状态编码风格主要有哪三种?

根据内部结构不同可分为摩尔型状态机和米里型状态机两种。

摩尔型状态机的输出只由当

前状态决定,而次态由输入和现态共同决定;

米里型状态机的输出由输入和现态共同决定,而次态也由输入和现态决定。

状态编码主要有三种:

连续二进制编码、格雷码和独热码。

3、简述基于数字系统设计流程包括哪些步骤?

包括五个步骤:

⑴、设计输入:

将设计的结构和功能通过原理图或硬件描述语言进行设计或编程,进行

语法或逻辑检查,通过表示输入完成,否则反复检查直到无任何错误。

⑵、逻辑综合:

将较高层的设计描述自动转化为较低层次描述的过程,包括行为综合,逻辑综合和版图综合或结构综合,最后生成电路逻辑网表的过程。

⑶、布局布线:

将综合生成的电路网表映射到具体的目标器件中,并产生最终可下载文

件的过程。

⑷、仿真:

就是按照逻辑功能的算法和仿真库对设计进行模拟,以验证设计并排除错误的过程,包括功能仿真和时序仿真。

⑸、编程配置:

将适配后生成的编程文件装入到PLD器件的过程,根据不同器件实现编

程或配置。

4、简述VerilogHDL编程语言中函数与任务运用有什么特点?

函数和任务都能独立完成相应电路功能,通过在同一模块中的调用实现相应逻辑电路功能。

但它们又有以下不同:

⑴、函数中不能包含时序控制语句,对函数的调用,必须在同一仿真时刻返回。

而任务可以包含时序控制语句,任务的返回时间和调用时间可以不同。

⑵、在函数中不能调用任务,而任务中可以调用其它任务和函数。

但在函数中可以调用其它函数或函数自身。

⑶、函数必须包含至少一个端口,且在函数中只能定义input端口。

任务可以包含0

个或任何多个端口,且可以定义input、output和inout端口。

⑷、函数必须返回一个值,而任务不能返回值,只能通过output或inout端口来传递

执行结果。

5、简述FPGA与CPLD两种器件应用特点。

CPLD与FPGA都是通用可编程逻辑器件,均可在EDA仿真平台上进行数字逻辑电路设计,它们不同体现在以下几方面:

⑴FPGA集成度和复杂度高于CPLD,所以FPGA可实现复杂逻辑电路设计,而CPLD

适合简单和低成本的逻辑电路设计。

⑵、FPGA内主要由LUT和寄存器组成,倾向实现复杂时序逻辑电路设计,而CPLD

内主要由乘积项逻辑组成,倾向实现组合逻辑电路设计。

⑶、FPGA工艺多为SRAM、flash等工艺,掉电后内信息消失,所以该类型需外配存储器,而CPLD工艺多为EEPROM等工艺,掉电后信息不消失,所以不用外配存储器。

⑷、FPGA相对CPLD成本高,但都可以在内都镶嵌硬核和软核,实现片上系统功能。

四、计算题

1、利用有限状态机,以格雷码编译方式设计一个从输出信号序列中检测出101信号的电

路图,其方块图、状态图和状态表如图表示。

Dm

elk

Qout

reset

 

目前状态CS

下一状态NS和输岀Qout

Din=0

Din=1

S0=00

SO,O

S1,0

S1=01

S2,0

S2=11

S0,0

S1,1

modulemelay(clk,Din,reset,Qout);

inputclk,reset;

inputDin;

outputQout;

regQout;

parameter[1:

0]S0=2'

b00,S1=2'

b01,S2=2'

b11;

reg[1:

0]CS;

reg[1:

0]NS;

always@(posedgeclkorposedgereset)begin

if(reset==1'

b01)

CS=S0;

elseCS=NS;

end

always@(CSorDin)begincase(CS)

S0:

beign

if(Din==1'

b0)

begin

NS=S0;

Qout=1'

b0;

end

elsebeginNS=S1;

Qout=1'

S1:

NS=S2;

else

NS=S1;

endend

S2:

beign

if(Din==1'

begin

elsebeginNS=S1;

endcase

endmodule

2、程序注解,并说明整个程序完成的功能。

moduleAAA(a,b);

outputa;

input[6:

0]b;

reg[2:

0]sum;

integeri;

rega;

always@(b)

sum=0;

for(i=0;

i<

=6;

i=i+1)

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

if(sum[2])a=1;

elsea=0;

endendmodule

moduleAAA<

sJ;

ou-tput3.input[O'

0】bi■強[2:

0]mm;

inrcgni.

rega

uvl'

3^至E:

X曲

SUJTl=0.

苣<

棋块有为AAA,端=1为矶b卞丈丑九尙出錨匚!

立义t»

为檜出刪口・b为丁位二进制皺

如mj<

lr強型变童』用于隽计覧成的人散定义晏型愛匿i为畫环控制襲畳

过程语柯'

够虧褻量为b

语旬块

»

n初倍沟Q

i=i*l)

for语包,轨计VR1的个数

WjDD条件语同

只妾有人投竣对淳,则sun削I

elsr

Lf〔su«

n[2])a-1;

若超过+人珞成』则衣块通过

若-存M4人,刚不通过

3、设计一个带有异步复位控制端和时钟使能控制端的10进制计数器。

端口设定如下:

入端口:

CLK:

时钟,RST:

复位端,EN:

时钟使能端,LOAD:

置位控制端,DIN:

置位数据端;

输出端口:

COUT:

进位输出端,DOUT:

计数输出端。

modulecnt10(clk,rst,en,loat,cout,dout,data);

inputclk;

inputen;

inputrst;

inputload;

input[3:

0]data;

output[3:

0]dout;

outputcout;

reg[3:

0]q1;

regcout;

assigndout=q1;

always@(posedgeclkornegedgerst)begin

if(!

rst)q1<

=0;

elseif(en)beginif(!

loat)q1<

=data;

elseif(q1<

9)q1<

=q1+1;

elseq1<

=4'

bOOOO;

endalways@(q1)if(q1==4'

h9)cout=1'

b1;

elsecout=1'

bO;

endmodule

4、下面是通过case语句实现四选一电路部分程序,将横线上的语句补上,使程序形成完整功能。

modulemux4_tottout,ilLilTi2ti3tsl,sO);

outputout;

inputidJI,i3;

inputsi,sO;

regout;

always晅心IorsQoriOorilori2or13)

cast(I//Switchbasedoilconotcuudonofcontrol琲屮ink

default:

$display(T<

Invalidcontrolsignals*'

);

cndcasc

ciidmodulc

case({s1,s0})

2'

b00:

out=i0;

b01:

out=i1;

b10:

out=i2;

b11:

out=i3;

3、标注各语句功能,指出整个程序完成的电路功能。

//带同步清0/同步置1(低电平有效)的D触发器•

moduledff_syn(q,qn,d,clk,set,reset);

II定义模块为diff_syn,端口为q,qn,d,clk,set,resetinputd,clk,set,reset;

outputregq,qn;

II定义端口d,clk,set,reset为输入端口,reg,q,qn为输出端口

always@(posedgeclk)II对clk信号上升沿有效

if(~reset)beginqv=1'

qnv=1'

endII同步清零,低电平有效

elseif(~set)beginqv=1'

endII同步置位,低电平有效

elsebeginqv=d;

qnv=~d;

endIIq输出为d,qn输出为非d;

endmodule〃模块结束

4、根据图3给定的两个2位全加器信号关系及实现的4位全加器功能部分程序,在下列部

分程序中的横线上填入必要语句,实现4位全加器的完整功能。

//底层4位全加器程序

moduleadd2(ai,bi,ci,sum,cout);

input[1:

0]ai,bi;

inputci;

output[1:

0]sum;

reg[1:

outputcout;

regcout;

always@(ai,bi,ci){cout,sum}=ai+bi+ci;

//顶层8位全加器程序

modulefadd4(a,b,c,sum4,cout4);

0]a,b;

inputc;

output[3:

0]sum4outputcout4;

wirec0;

add4U1(_a[1:

0],b[1:

0],c,c0,sum4[1:

0]);

_add4U2(a[3:

0],b[3:

0],c0,count4,sum4[3:

endmodule

5、根据下列给定的仿真输入输出波形图2,说明完成此功能的电路是什么功能电路?

并写

出对应的VerilogHDL描述程序(图中clk,clr为输入,q,c为输出)。

4进制加法计数器

1

(1k

川!

I:

u

V

1111

_._1■■

ii

1>

=■

111

dr

I1Iii11■1II

I1I111■I1ii

1111111

Ii1

io

0〔I1「1

3I0'

If

;

$

」:

】「I

c

11

i1

11111111

111'

11i11111

11

1111

modulecounter(clk,clr,q,c)

inputclk,clr;

outputret[1:

O]q;

outputc;

always@(posedgeclkornegedgeclr)

if(~clr)q<

=2'

0;

if(2'

3==q)q<

elseq<

=q+2'

1;

assignc=(2'

3==q)

6、采用结构描述方法设计一个二进制数字半加器,输入数据ai与bi,并将和输出到so,进

位输出到co,给出详细设计过程。

输入

输出

ai

bi

so

co

由输入输出逻辑表达式,采用与门and和异或门xor进行结构描述的程序如下:

(6分)

modulehadd(ai,bi,so,co);

inputai,bi;

outputso,co;

xor(so,si,ci);

and(co,ai,bi);

a与b的大小,并分别输

6、采用结构描述方法设计一个二进制数字比较器,比较输入数据

出到x,y和z给出详细设计过程。

x=abab,y=ab,z=ab

not(not_a,a);

not(not_b,b);

and(ab,a,b);

and(not_ab,not_a,not_b);

or(x,ab,not_ab);

and(y,not_a,b);

and(z,a,not_b);

1表示

7、采用结构描述方法设计一个3人竞选数字电路,输入数据[2:

0]x,要求2人以上为

通过,且输出为y为1否则输出相反,给出详细设计过程。

modulethree1(x,y);

input[2:

0]x;

outputy;

y=a&

b+a&

c+b&

c=ab+ac+bc;

wirea,b,c;

and(a,x[0],x[1]);

and(b,x[1],x[2]);

and(c,x[1],x[0]);

or(y,a,b,c);

一、填空题(10分,每小题1分)

1.用EDA技术进行电子系统设计的目标是最终完成ASIC的设计与实现。

2.可编程器件分为FPGA和CPLD。

3.随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于VerilogHDL设

计当中。

4.目前国际上较大的PLD器件制造公司有Altera和Xilinx公司。

5.完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。

6.阻塞性赋值符号为=,非阻塞性赋值符号为<

=。

二、选择题(10分,每小题2分)

1.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是C。

A.FPGA全称为复杂可编程逻辑器件;

B.FPGA是基于乘积项结构的可编程逻辑器件;

D.在Altera公司生产的

器件中,MAX7000系列属FPGA结构。

2.基于EDA软件的FPGA/CPLD设计流程为:

原理图/HDL文本输入宀综合t—__tt适配t编程下载t硬件测试。

正确的是B。

①功能仿真②时序仿真③逻辑综合④配置⑤分配管脚

A.③①

B.①⑤

C.④⑤

D.④②

3.子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);

指出下列哪些方法是面积优化B。

①流水线设计②资源共享③逻辑优化④串行化

⑤寄存器配平⑥关键路径法A•①③⑤

B.②③④C.②⑤⑥

D.①④⑥

4.下列标识符中,A是不合法的标识符。

A.9moon

B.State0C.Not_Ack_0

D.signall

5.下列语句中,不属于并行语句的是:

___D

阅读会员限时特惠7大会员特权立即尝鲜

A.过程语句B.assign语句C.元件例化语句D.case语句

三、EDA名词解释(10分)

写出下列缩写的中文含义:

ASIC:

RTL:

FPGA:

SOPC:

CPLD

LPM:

EDA:

IEEE:

IP:

ISP:

四、简答题(10分)

1.简要说明仿真时阻塞赋值与非阻塞赋值的区别(本题4分)。

2.简述有限状态机FSM分为哪两类?

有限状态机的状态编码风格主要有哪三种?

FSM的三段式描述风格中,三段分别描述什么?

(本题6分)五、程序注解(20分,每空1分)

outputa

要求:

写清分析设计步骤

moduleAAA(a,b);

0]b

inte

geri;

if(b[i])

sum

=sum+1;

a=0;

endendmodule

本程序的逻辑功能是:

四、VerilogHDL语言编程题(1、2小题10分,3小题20分)

和注释。

1.试用VerilogHDL描述一个带进位输入、输出的8位全加器。

端口:

A、B为加数,CI为进位输入,S为和,CO为进位输出

2.编写一个带异步清零、异步置位的D触发器。

CLK为时钟,D为输入,CLK为清零输入端,SET为置位输入端;

Q输出端。

3.设计一个带有异步复位控制端和时钟使能控制端的10进制计数器。

输入端口:

CLK:

时钟,RST:

置位控制端,

DIN:

置位数据端;

输出端口:

COUT:

进位输出端,DOUT:

一、填空题(每空2分,共20分)

1、ASIC

2、FPGA和CPLD。

3、自顶向下

4、Altera和Xilinx5、组合时序6、=<

=

1、C2、B3、B4、A5、D

三、EDA名词解释(10分)

ASIC专用集成电路RTL寄存器传输级FPGA现场可编程门阵列SOPC可编程片上系统CPLD复杂可编程逻辑器件LPM参数可定制

宏模块库EDA电子设

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

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1