当前位置:文档之家› 西安邮电学院Verilog试卷

西安邮电学院Verilog试卷

西安邮电学院Verilog试卷
西安邮电学院Verilog试卷

1、Verilog HDL 既是一种行为描述的语言也是一种结构描述的语言。

这也就是说,既可以用电路的功能描述也可以用元器件和它们之间的连接来建立所设计电路的Verilog HDL模型。Verilog 模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下五种:

系统级(system): 用高级语言结构实现设计模块的外部性能的模型。

算法级(algorithmic): 用高级语言结构实现设计算法的模型。

RTL级(Register Transfer Level): 描述数据在寄存器之间流动和如何处理这些数据的模型。

门级(gate-level): 描述逻辑门以及逻辑门之间的连接的模型。

开关级(switch-level): 描述器件中三极管和储存节点以及它们之间连接的模型。

2.简单的Verilog HDL程序介绍

例三位加法器 addr

module adder(count,sum,a,b,cin); input [2:0] a,b;

input cin;

output count;

output [2:0] sum;

assign {count,sum} = a + b + cin; Endmodule

Verilog HDL程序是嵌套在 module和endmodule声明语句里的。

3、比较器

module compare ( equal,a,b );

output equal; //声明输出信号equal

input [1:0] a,b; //声明输入信号a,b assign equal=(a==b)?1:0;

/*如果a、b 两个输入信号相等,输出为1。否则为0*/

endmodule

在这个程序中,/*........*/和//.........表示注释部分,注释只是为了方便程序员理解程序,对编译是不起作用的。

4、三态驱动器

module trist2(out,in,enable); output out;

input in, enable;

bufif1 mybuf(out,in,enable); endmodule

程序通过调用一个在Verilog语言库中现存的三态驱动器实例元件bufif1来实现其功能。

5、Verilog HDL中总共有十九种数据类型,数据类型是用来表示数字电路硬件中的数据储存和传送元素的。在本课程中我们只介绍四个最基本的数据类型,它们是:

reg型、wire型、integer型、parameter 型

6、

8'b10101100 //位宽为8的数的二进制表示, 'b表示二进制

8'ha2 //位宽为8的数的十六进制,'h表示十六进制。

4'b10x0//位宽为4的二进制数从低位数起第二位为不定值

4'b101z//位宽为4的二进制数从低位数起第一位为高阻值

12'dz//位宽为12的十进制数其值为高阻值(第一种表达方式)

12'd?//位宽为12的十进制数其值为高阻值(第二种表达方式)

8'h4x //位宽为8的十六进制数其低四位值为不定值

-8'd5 //这个表达式代表5的补数(用八位二进制数表示)

7、下划线(underscore_):

下划线可以用来分隔开数的表达以提高程序可读性。但不可以用在位宽和进制处,只能用在具体的数字之间。见下例:

16'b1010_1011_1111_1010 //合法格式

8'b_0011_1010

//非法格式

8、当常量不说明位数时,默认值是32位。

例:

10=32’d10=32’b1010

1=32’d1=32’b1

-1=-32’d1=32’hFFFFFFFF

’bx= 32’bx=32’bxxxx (xxxx)

9、参数(Parameter)型

在Verilog HDL中用parameter来定义常量,即用parameter来定义一个标识符代表一个常量,称为符号常量,即标识符形式的常量,采用标识符代表一个常量可提高程序的可读性和可维护性。parameter 型数据是一种常数型的数据,其说明格式如下:

10、

parameter 参数名1=表达式,

参数名2=表达式, …,参数名n=表

达式;

parameter msb=7; //定义参数

msb为常量7

parameter e=25, f=29; //定义二个

常数参数

在“always”块内被赋值的每一个信号

都必须定义成reg型。

11、

memory型数据是通过扩展reg型数据的

地址范围来生成的。其格式如下:

reg [n-1:0] 存储器名[m-1:0];

reg [n-1:0] 存储器名[m:1];

reg [7:0] mema[255:0];

这个例子定义了一个名为mema的存储

器,该存储器有256个8位的存储器。该

存储器的地址范围是0到255。

1) ~ //取反

2) & //按位与

3) | //按位或

4) ^ //按位异或

5) ^~ //按位同或(异

或非)

7) && 逻辑与

8) || 逻辑或

9) ! 逻辑非

12、在Verilog HDL语言中存在四种等式

运算符:

1) == (等于)

2) != (不等于)

3) === (等于)

4) !== (不等于)

13、D触发器:

module flop(data,clock,clear,q,qb);

input data,clock,clear;

output q,qb;

nand nd1(a,data,clock,clear),

nd2(b,ndata,clock),

nd4(d,c,b,clear),

nd5(e,c,nclock),

nd6(f,d,nclock),

nd8(qb,q,f,clear);

nand nd3(c,a,d),

nd7(q,e,qb);

not iv1(ndata,data),

iv2(nclock,clock);

endmodule

14、门级多路选择器:

module twomux (out, a, b, sl);

input a, b, sl;

output out;

not u1 (nsl, sl );

and u2 (sela, a, nsl);

and u3 (selb, b, sl);

or u4 (out, sela, selb);

endmodule

15、半加器的例子

module HalfAdder(A, B, Sum, Carry);

input A, B;

output Sum, Carry;

assign Sum=A^B;

assign Carry=A&B;

endmodule

16、四选一多路选择器

module mux4_1

(out,i0,i1,i2,i3,s0,s1);

output out;

input i0,i1,i2,i3;

input s0,s1;

assign out =s1? ( s0? i3:i2) : (s0?

i1:i0);

endmodule

17、四位全加器

module

fulladder4(sum,cout,a,b,cin);

output[3:0] sum;

output cout;

input [3:0] a,b;

input cin;

assign {cout,sum} =a+b+cin;

endmodule

18、端口与外部信号的连接:

1)顺序端口连接

连接到模块实例的信号必须与模块声明

时模块端口列表中的位置保持一致。

module fulladd4_tb;

reg[3:0] A,B;

reg C_IN;

wire[3:0] SUM;

wire C_OUT;

fulladd4 uut ( SUM, C_OUT, A, B,

C_IN);

endmodule

module

fulladd4( sum,c_out,a,b,c_in);

endmodule

2)命名端口连接:

在复杂的设计中,模块可能具有很多

个端口,在这种情况下,要记住列表中的

顺序是很困难的,而且容易出错,verilog

提供了另一种端口连接方式。

fulladd4

uut(.c_out(C_OUT),.sum(SUM),.a(A)

.b(B),.c_in(C_IN)

);

端口连接规则

从模块内部来讲,输入端口必须为线网

型。从模块外部来看,输入口可以连接到

线网或reg型变量。

从模块内部看,输出口可以是线网或reg

型。但从模块外部来看,输出必须连接到

线网型,而不能连接到reg型的变量

19、nitial和always是verilog中用于

行为级建模的两种基本语句,其他所有的

行为语句只能出现在这两种过程语句中。

每个initial和always语句代表一个独

立的(并发)执行过程。每个执行过程从

仿真时间0开始,并且这两种语句不能嵌

套使用

[例]:

reg[7:0] counter;

reg tick;

always @(posedge areg)

begin

tick <= ~tick;

counter <= counter + 1;

end

这个例子中,每当areg信号的上升沿出

现时把tick信号反相,并且把counter

增加1。这种时间控制是always语句最

常用的。

20、if(a>b) out1<=int1;

else if(a==b) out1<=int2;

else out1<=int3;

21、循环语句

在Verilog HDL中存在着四种类型的循环

语句,用来控制执行语句的执行次数。

1) forever连续的执行语句。

2) repeat连续执行一条语句 n 次。

3) while 执行一条语句直到某个条件

不满足。如果一开始条件即不满足(为

假),则语句一次也不能被执行。

4) for通过三个步骤来决定语句的循环

执行。

注意: 循环语句只能在always或

initial块中使用。

例2:用for循环语句来实现乘法器

parameter size = 8, longsize = 16;

reg[size:1] opa, opb;

reg[longsize:1] result;

begin:mult

integer bindex;

result=0;

for( bindex=1; bindex<=size;

bindex=bindex+1 )

if(opb[bindex])

result = result +

(opa<<(bindex-1));

end

22、组合逻辑电路设计实例:

[例1] 八位带进位端的加法器的设计实

例(利用简单的算法描述)

module adder_8(cout,sum,a,b,cin);

output cout;

output [7:0] sum;

input cin;

input[7:0] a,b;

assign {cout,sum}=a+b+cin;

endmodule

[例4]. 比较器的设计实例(利用赋值语

句设计组合逻辑)

module compare(equal,a,b);

parameter size=1;

output equal;

input [size-1:0] a, b;

assign equal =(a==b)? 1 : 0;

endmodule

[例5]. 3-8译码器设计实例(利用赋

值语句设计组合逻辑)

module decoder(out,in);

output [7:0] out;

input [2:0] in;

assign out = 1‘b1<

位的1

左移 in(根据从in口输入的值)位,并

赋予out ****/

endmodule

[例6]. 8-3编码器的设计实例

编码器设计方案之一:

module encoder1(out,in);

output [2:0] out;

input [7:0] in;

reg [2:0] out;

always @(in)

begin: local

integer i;

out = 0;

/*returns the value of the highest bit

number turned on*/

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

begin

if( in[i] )

begin

out = i;

end

end

end

endmodule

23、输出驱动器设计实例

三态输出驱动器设计方案:

module trist1( out, in, enable);

output out;

input in, enable;

assign out = enable? in: 'bz;

endmodule

[例1]触发器设计实例

module dff( q, data, clk);

output q;

input data, clk;

reg q;

always @( posedge clk )

begin

q = data;

end

endmodule

[例2]. 电平敏感型锁存器设计实例

module latch3( q, data, clk);

output q;

input data, clk;

reg q;

always @(clk or data)

begin

if(clk)

q=data;

end

endmodule

[例3]. 移位寄存器设计实例

module shifter( din, clk, clr, dout);

input din, clk, clr;

output [7:0] dout;

reg [7:0] dout;

always @(posedge clk)

begin

if(clr) dout = 8'b0; //清零

else begin

dout <= dout<<1;//左移一位

dout[0] <= din;

end//把输入信号放入寄存器的最低位

end

endmodule

24、、任务和函数(task和function)

不同点:

函数主要用来计算,任务却可以支持多种

目的

函数只能与主模块共用同一个时间单位,

而任务可以定义自己的时间单位

函数返回一个值,而任务没有返回值。

函数的目的是通过返回一个值来响应输

入信号的值。任务却能支持多种目的,能

计算多个结果值,这些结果值只能通过被

调用的任务的输出或总线端口送出。

Verilog HDL模块使用函数时是把它当作

表达式中的操作符,这个操作的结果值就

是这个函数的返回值。

相同点:

任务和函数必须在module内调用

在任务和函数中不能声明wire,所有输

入/输出都是局部寄存器

任务和函数只能使用行为级语句,但是不

能包含always和initial块。

任务/函数执行完成后才返回结果。

例如,若任务/函数中有forever语句,

则永远不会返回结果

25、有限状态机

有限状态机是设计复杂时序电路最有效

的方法之一。特别是设计数字逻辑的控制

核心时。

有限状态机是由寄存器组和组合逻辑构

成的硬件时序电路。其状态(即由寄存

器组的1和0的组合状态所构成的有限个

状态)只能在同一时钟跳变沿的情况下才

能从一个状态转向另一个状态。

moore有限状态机:输出仅依赖于内部状

态,跟输入无关。

mealy有限状态机:输出不仅决定于内部

状态,还跟外部输入有关。

26、、什么是硬件描述语言?它的主要作

用是什么?

答:HDL是一种用形式化的方法来描述

数字电路和设计数字逻辑系统的语言。作用:设计者可以利用这种语言描述自己的

设计思想,进行数字逻辑电路的设计、验证。

27、、采用硬件描述语言设计方法的优点

是什么?有什么缺点?

答:优点:一、能将电子系统在不同的抽

象层次上进行精确而简练的描述。

二、能在每个抽象层次的描述上

对设计中的系统进行模拟验证。

三、较高层次的HDL描述与具体

的工艺实现无关,便于标准化和发展可重

用设计技术。

四、推动EDA设计技术及整个电

子行业的快速发展。

缺点:没有传统的绘制电路图的方

法直观。在精简性和性能上有一定差距。

28、、简述top—down和硬件描述语言的

关系?

答:top-down 是一种硬件设计的方法,

而硬件描述语言可以在各个抽象层次上

实现对电子系统的描述,而且借助于EDA

工具,可以自动的实现从高一层次到低一

层次的映射。这就使得自顶向下的设计方

法得以真正的实现。

29、硬件描述语言设计的数字系统需要经

过那些步骤才能与具体的电路相对应。

对于verilog,除reg类型之外,还支持integer、real和time寄存器数据类型;

例如: integer i;

数组:verilog支持任意维数的数组。

数组定义格式:类型 size 数组名

[n1][n2][n3]...

例如: time chk_point[99:0];

存储器:verilog使用一维数组表示存储器。

例如: reg [7:0] mem[0:1023];

显示信息系统函数:$display(p1,p2,p3,....);

$display("at time: %d output a

= %b",$time, a);

监视信息系统该函数:$monitor(p1,p2,p3...);只要参数列表

变量有变化,显示所有参数值;

$monitor($time , "at time %d :

a= %b, b = %b", a, b);

暂停仿真函数: $stop;

结束仿真函数: $finish;

#100 $stop; //在仿真时刻为100单

位时,暂停仿真

#800 $finish; //在仿真时刻为800单

位时,结束仿真

30、基本的逻辑门

与门(and)、或门(or)

主要包括: and or xor nand nor xnor

缓冲器/非门(buf/not)

主要包括:buf not bufif1 bufif0 notif1 notif0

门延迟:

上升延迟:门的输出从0,x,z变化为1

所需的时间

下降延迟:门的输出从1,x,z变化为0

所需的时间

关断延迟:闷得输出从0,1,x变化为z

所需的时间

格式: #(上升延迟,下降延迟,关断

延迟)

最小/典型/最大延迟:对上述三种延迟指

定最小、典型、最大值

例如:and #(2:3:4, 3:4:5, 4:5:6 )

//上升延迟:最小延迟2,典型延迟3,

最大延迟4

//下降延迟:最小延迟3,典型延迟4,

最大延迟5

//关断延迟:最小延迟4,典型延迟5,

最大延迟6 31、J-K触发器

module jk_ff(

input j,

input k,

input clock,

input clear,

output q,

output qbar);

wire a,b,y,ybar,c,d;

assign cbar = ~ clock;

assign a = ~( qbar & j & clear & clock );

assign b = ~( clock & k & q );

assign y = ~( a & ybar );

assign ybar = ~( y & clear &

b );

assign c = ~( y & cbar );

assign d = ~( cbar & ybar );

assign q = ~( c & qbar );

assign qbar = ~( q & clear &

d );

endmodule

32、用Verilog编写电路仿真激励的时

候,被仿真模块的输入用reg/wire关键

字申明,模块的输出用wire关键字申明,

模块之前的连接信号应该用wire关键字

申明。

33、在Verilog语言中,端口的互通常有

两种方式:通过名称关联和通过位置关

联。

34、在Verilog中,存在4种类型的循环

语句:forever、while、repeat、for

35、Always语句中,initial语句之间是

并发执行的,除此之外Fork-join并行块

之间的语句也是并发执行的。

36、函数中部允许有输出变量和双向变

量,不允许有延时、时间、或者事件控制,

至少有一个输入变量,并由一个返回值,

该值的默认类型是reg类型。

37、Verilog中有两种书写注释的方法:

单行注释和多行注释,单行注释以//开

始,多行注释用/**/表示。

38、Verilog用两个符号分别表示不确定

值X和高阻值Z

39、Verilog中定义整数用关键字integer声明,定义实数寄存器数据类型

用关键字real来声明,定义时间寄存器

用关键字time

40、在仿真中,一般使用寄存器一维数组

来表示寄存器,若定义一个1024个位宽

为8bit的名为menbit的储存器可声明

为:reg[7:0]membit[0:1023]

41、系统任务$finish的作用是:结束仿

真;$stop的作用是:暂停仿真

42、上升延迟是指:在门的输入发生变化

的情况下,门的输出由0、X、Z变为1

所需的时间;下降延迟是指:门的输出从

1、X、Z变为0的时间;关断延迟是指:

门的输出从1、X、0变为Z的时间

43、在always块中,被赋值的信号都必

须定义为reg;在assign语句中,被赋

值的信号都必须被定义为wire类型。

44、设定a=4’b1110,b=4’b0101,对于

双目运算符表达式a&b完成的功能是:a

与b按位与,得到0100,对于单目运算

符表达式&a完成的功能是:将a的每位

bit逐个相与,最后产生1bit的值。

VerilogHDL复习题与答案

VerilogHDL硬件描述语言复习 一、 1.VerilogHDL是在哪一年首次被IEEE标准化的? 答:VerilogHDL是在1995年首次被IEEE标准化的。 2.VerilogHDL支持哪三种基本描述方式? 答:VerilogHDL可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式—使用过程 化结 构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述 建模 3.VerilogHDL是由哪个公司最先开发的? 答:VerilogHDL是由GatewayDesignAutomation公司最先开发的 4.VerilogHDL中的两类主要数据类型什么? 答:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示 抽象的数据存储元件。 5.UDP代表什么? 答:UDP代表用户定义原语 6.写出两个开关级基本门的名称。答: pmosnmos 7.写出两个基本逻辑门的名称。答: andor 8.在数据流描述方式中使用什么语句描述一个设计? 答:设计的数据流行为使用连续赋值语句进行描述 9.采用结构描述方式描述1位全加器。 答: modulefull_add(a,b,cin,s,co); inputa,b,cin; outputs,co; wireS1,T1,T2,T3; xor X1(S1,a,b), X2(s,S1,cin); and A1(T3,a,b), A2(T2,b,cin), A3(T1,a,cin); or O1(co,T1,T2,T3); endmodule 10.initial语句与always语句的关键区别是什么? 答:1)initial语句:此语句只执行一次。 2)always语句:此语句总是循环执行,或者说此语句重复执行。 11.采用数据流方式描述2-4译码器。 答: 'timescale1ns/ns moduleDecoder2×4(A,B,EN,Z); inputA,B,EN; output[0:3]Z; 1

verilog考卷

1. 下面哪个是可以用verilog语言进行描述,而不能用VHDL语言进行描述的级别?( A ) (A) 开关级 (B)门电路级 (C) 体系结构级 (D) 寄存器传输级 2.在verilog中,下列语句哪个不是分支语句?( D ) (A) if-else (B) case (C) casez (D) repeat 3.下列哪些Verilog的基本门级元件是多输出( D ) (A) nand (B) nor (C) and (D) not 4.Verilog连线类型的驱动强度说明被省略时,则默认的输出驱动强度为( B ) (A) supply (B) strong (C) pull (D) weak 5.元件实例语句“notif1 #(1:3:4,2:3:4,1:2:4) U1(out,in,ctrl);”中截至延迟的典型值为( B )(A) 1 (B) 2 (C) 3 (D) 4 6.已知“a =1b’1; b=3b'001;”那么{a,b}=( C ) (A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'101 7.根据调用子模块的不同抽象级别,模块的结构描述可以分为(ABC ) (A) 模块级 (B)门级 (C) 开关级 (D) 寄存器级 8.在verilog语言中,a=4b'1011,那么 &a=(D ) (A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'0 9.在verilog语言中整型数据与( C )位寄存器数据在实际意义上是相同的。 (A) 8 (B) 16 (C) 32 (D)64 1.Verilog HDL语言进行电路设计方法有哪几种(8分) 1、自上而下的设计方法(Top-Down) 2、自下而上的设计方法(Bottom-Up) 3、综合设计的方法2.specparam语句和parameter语句在参数说明方面不同之处是什么(8分)。 1、.specparam语句只能在延时的格式说明块(specify块)中出现,而parameter语句则不能在延时说明块内出现 2、由specparam语句进行定义的参数只能是延时参数,而由parameter语句定义的参数则可以是任何数据类型的参数 3、由specparam语句定义的延时参数只能在延时说明块内使用,而由parameter语句定义的参数则可以在模块内(该parameter语句之后)的任何位置说明程序设计(4题,共50分) 1. 试用verilog语言产生如下图所示的测试信号(12分) clk in1 in2 module signal_gen9(clk,in1,in2); output in1,in2,clk; reg in1,in2,clk; initial begin in1=0;in2=1; clk=0; end initial begin #15 in1=1 ;#10 in1=0; #5 in1=1; #10 in1=0; end initial begin #5 in2=0; #5 in2=1; #25 in2=0; end always begin #5 clk=~clk; end endmodule

veriloghdl试卷及答案

河北大学课程考核试卷 2008——2009学年第一学期2006级电气类专业(类) 考核科目EDA技术课程类别必修考核类型考查考核方式闭卷类别A 一、选择题: 1、下列标示符哪些是合法的(B ) A、$time B、_date C、8sum D、mux# 2、如果线网类型变量说明后未赋值,起缺省值是(D ) A、x B、1 C、0 D、z 3、现网中的值被解释为无符号数。在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是( A ) A、4’b1101 B、4’b0011 C、4’bxx11 D、4’bzz11 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、在code模块中参数定义如下,请问top模块中d1模块delay1、 delay2的值是( D ) module code(x,y); module top;

paramee delay1=1,delay2=1; …………….……………………………… code #(1,5) d1(x1,y1); endmodule endmodule A、(1,1) B、(5,5) C、(5,1) D、(1,5) 6、“a=4’ b11001,b=4’ bx110”选出正确的运算结果(B ) A、a&b=0 B、a&&b=1 C、b&a=x D、b&&a=x 7、时间尺度定义为timescale 10ns/100ps,选择正确答案(C ) A、时间精度10ns B、时间单位100ps C、时间精度100ps D、时间精度不确定 8、若a=9,执行$display(“current value=%0b,a=%0d”,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

Verilog 考试题目整理

Verilog 考试题目整理 1、EDA设计环节过程 (1)编译:EDA首先将源HDL模型转变为基本的门级网表 (2)映射:EDA为基本门模型分配具体的cell (3)验证:对抽象电路模型进行测试 (4)Testbench:为了进行验证,需要单独编写一段HDL代码,建立一个用于测试目的模型。 (5)仿真:EDA软件提供了一种运行Testbench的方法:即按照电路模型机制,生成需要的激励信号并观察和分析模型中的信号。这种运行抽象模拟的方法称为仿真。 (6)综合前验证:时,Testbench加载的测试模型使是用户PTL模型,而此时验证的内容主要是测试模拟的逻辑性能,因此综合前验证又被称为功能仿真或RTL 仿真,有时也被简单地称为前仿。 (7)综合后验证:时,Testbench加载的测试模型已经是装配后的由基本门描述的模型,即网表,此时验证的内容主要是设计模型的时序性能,因此综合后验证又被称为时序仿真或门及仿真,有时也被简单的称为后防。 2、自顶向下设计与自底向上设计优缺点 (1)、传统的电子设计多采用自底向上底设计方法:首先确定最底层的元件和电路模块的功能和结构,再进行组合得到较大得模块。如此进行,向上递推直至完成整个电路。此方法中任何一级发生问题,通常都要返工;由于元件供应、改型等得变化往往造成重新设计

(2)、现代的EDA设计采用自顶向下的设计方法:从系统功能、结构至各门级连接,从抽象层次逐步具体化。此方法从最开始逐级仿真、综合便于及早发现问题,即使设计中出现问题也不会从头返工。缺点是需要先进的工具 3、IP核分类 4、可编程器件有哪几种 (1)PLA Programmable logic arrays(PLA) 是一种可编程逻辑装置,它的与阵列(AND array)和或阵列(OR array)均为可编程,输出电路为不可组态.又叫做FPLA(field-programmable logic array) (2)PAL PAL(Programmable Array Logic)可编程阵列逻辑,是70年代末由MMI公司率先推出的一种低密度,一次性可编程逻辑器件,第一个具有典型实际意义的可编程逻辑器件(PLD-Programmable Logic Device)。它采用双极型工艺制作,熔丝编

(完整word版)EDA-VerilogHDL期末复习题总结必过

选择题 1.大规模可编程器件主要有FPGA、CPLD 两类,下列对FPGA 结构与工作原理的描述中,正确的是(C)。 A.FPGA 全称为复杂可编程逻辑器件; B.FPGA 是基于乘积项结构的可编程逻辑器件; C.基于SRAM 的FPGA 器件,在每次上电后必须进行一次配置; D.在Altera 公司生产的器件中,MAX7000 系列属FPGA 结构。 2.不完整的IF语句,其综合结果可实现(A) A. 时序逻辑电路 B.组合逻辑电 C. 双向电路 D. 三态控制电路 3.综合是EDA设计流程的关键步骤,在下面对综合的描述中,(D)是错误的。 A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程; B.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件; C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束; D.综合可理解为一种映射过程,并且这种映射关系是唯一的,即综合结果是唯一的。 4.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中, 正确的是( C )。 A.FPGA全称为复杂可编程逻辑器件; B.FPGA是基于乘积项结构的可编程逻辑器件; C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 5.以下关于状态机的描述中正确的是(B) A.Moore型状态机其输出是当前状态和所有输入的函数 B.与Moore型状态机相比,Mealy型的输出变化要领先一个时钟周期 C.Mealy型状态机其输出是当前状态的函数 D.以上都不对

Verilog_HDL试卷及答案

reg[7:0] 一、选择题: 1、下列标示符哪些是合法的(B) A、$time B、_date C、8sum D、mux# 2、如果线网类型变量说明后未赋值,起缺省值是(D) A、x B、1 C、0 D、z 3、现网中的值被解释为无符号数。在连续赋值语句中,assignaddr[3:0]=-3;addr被赋予的值是(A)//补 码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! A、4’b1101 B、4’b0011 C、4’bxx11 D、4’bzz11 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、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是(D) modulecode(x,y);moduletop; parameedelay1=1,delay2=1;……………. ……………………………… endmoduleendmodule A、(1,1) B、(5,5) C、(5,1)D 6、“a=4’b11001,b=4’bx110 A、a&b=0 B、a&&b=1 C、b&a=x D、 7、时间尺度定义为timescale10ns/100ps A、时间精度10ns B、时间单位100psC 、都正确 in3,输入出为out,则该电路描述中always的事件表达式应写为always@(in1,in2,in3);若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always@(posedgeclk)。 //@(条件表达式)do_something; 表示等待条件表达式满足,然后do_something,然后就往下走了。通常用在testbench中,不可综合。 ------------------------------------ always@(aorborc)begin do_something; end 表示不停地监测a、b、c,一旦它们任何一个发生变化,就立刻do_something,并且这个“监测”是始终存在的。这种电路综合出来时组合逻辑电路。

湖南工业大学EDA——Verilog考试重点

一、软件的基础知识及使用 1. Quartus II 是一个什么软件: 是Altera公司推出的EDA软件工具,其设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器 基本使用步骤: ①文件及工程建立;②工程实现的设置;③工程编译及分析;④工程仿真及分析;⑤芯片的管脚锁定;⑥编程下载及验证 2. Synplify Pro 是一个什么软件: Synplify是Synplicity公司的著名产品,它是一个逻辑综合性能最好的FPGA和CPLD逻辑综合工具。 基本使用步骤: ①新建工程或打开工程;②新建源程序并添加到工程;③选择工程实现设置;④选择需研究的工程并进行逻辑综合;⑤查看有关逻辑综合结果 3. Modelsim是一个什么性质的软件? Modelsim是Model Technology公司的著名产品,支持VHDL和Verilog的混合仿真。 基本使用步骤: ①新建或打开工程;②新建源程序并添加到工程;③编译源程序;④加载设计单元;⑤建立仿真波形;⑥运行仿真并观察结果 二、SOPC概念及应用 1.什么是SOPC: 可编程片上系统SOPC是一种通用器件,是基于FPGA的可重构SOC,它集成了硬核或软核CPU、DSP、存储器、外围I/O及可编程逻辑,是更加灵活、高效的SOC解决方案。 2.优势: ①合理的性能组合;②提升系统的性能;③降低系统的成本;④更好地满足产品生命周期的要求 3.阐述基于NIOS II的SOPC系统的设计开发流程。 1)硬件设计: (1)创建一个Quartus II工程 (2)创建Nios系统模块:①启动SOPC Builder ②添加CPU及外围器件③指定基地址④系统设置⑤生成系统模块 (3)将图标添加到BDF原理图文件中 (4)编译Quartus II的工程设计文件 (5)配置FPGA 2)软件设计 1)启动Nios ii IDE 2)建立新的源程序和软件工程或导入已建源程序和软件工程。 3)编程工程 4)运行程序和调试程序。调试程序时可使用单步运行,并观察寄存器或者变量中有关参数的变化 5)将程序下载到FLASH中 三、EDA仿真模型及应用 1.仿真的基本步骤: (1)分析系统设计要求和设计思想,弄懂系统的工作原理,工作流程 (2)了解各种输入信号及要求,设置各种输入激励信号,包括各输入信号本身的要求,相互之间的要求,

3.2.1 Verilog HDL程序入门[共2页]

║68 第3章 硬件描述语言Verilog HDL基础 3.2 Verilog HDL程序基本结构 Verilog HDL是一种用于数字逻辑电路设计的语言。用Verilog HDL描述的电路设计就是该电路的Verilog HDL模型。Verilog HDL既是一种行为描述的语言,也是一种结构描述的语言。也就是说,既可以用电路的功能描述,也可以用元器件和它们之间的连接来建立所设计电路的Verilog HDL模型。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下5种。 ?系统级(system):用高级语言结构实现设计模块的外部性能的模型。 ?算法级(algorithm):用高级语言结构实现设计算法的模型。 ?RTL级(Register Transfer Level):描述数据在寄存器之间流动和如何处理这些数据的模型。 ?门级(gate-level):描述逻辑门以及逻辑门之间的连接的模型。 ?开关级(switch-level):描述器件中三极管和储存节点以及它们之间连接的模型。 一个复杂电路系统的完整Verilog HDL模型是由若干个Verilog HDL模块构成的,每一个模块又可以由若干个子模块构成。其中有些模块需要综合成具体电路,而有些模块只是与用户所设计的模块交互的现存电路或激励信号源。利用Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计,并对所作设计的逻辑电路进行严格的验证。 Verilog HDL行为描述语言作为一种结构化和过程性的语言,其语法结构非常适合于算法级和RTL级的模型设计。这种行为描述语言具有以下功能。 ?可描述顺序执行或并行执行的程序结构。 ?用延迟表达式或事件表达式来明确地控制过程的启动时间。 ?通过命名的事件来触发其他过程里的激活行为或停止行为。 ?提供了条件、if-else、case、循环程序结构。 ?提供了可带参数且非零延续时间的任务(task)程序结构。 ?提供了可定义新的操作符的函数结构(function)。 ?提供了用于建立表达式的算术运算符、逻辑运算符、位运算符。 ? Verilog HDL语言作为一种结构化的语言也非常适合于门级和开关级的模型设计。因其结构化的特点又使它具有以下功能。 —提供了完整的一套组合型原语(primitive); —提供了双向通路和电阻器件的原语; —可建立MOS器件的电荷分享和电荷衰减动态模型。 Verilog HDL的构造性语句可以精确地建立信号的模型。这是因为在Verilog HDL中,提供了延迟和输出强度的原语来建立精确程度很高的信号模型。信号值可以有不同的强度,可以通过设定宽范围的模糊值来降低不确定条件的影响。 Verilog HDL作为一种高级的硬件描述编程语言,有着类似C语言的风格。其中if语句、case语句等和C语言中的对应语句十分相似。如果读者已经掌握C语言编程的基础,那么学习Verilog HDL并不困难,只要对Verilog HDL某些语句的特殊方面着重理解,并加强上机练习就能很好地掌握它,利用它的强大功能来设计复杂的数字逻辑电路。下面将介绍Verilog

verilog考试题

西安电子科技大学 考试时间分钟 试题 1.考试形式:闭(开)卷; 2.本试卷共四大题,满分100分。 班级学号姓名任课教师 一、选择题(每题2分,共18分) 1. 下面哪个是可以用verilog语言进行描述,而不能用VHDL语言进行描述的级别?( A ) (A) 开关级 (B)门电路级 (C) 体系结构级 (D) 寄存器传输级 2.在verilog中,下列语句哪个不是分支语句?( D ) (A) if-else (B) case (C) casez (D) repeat 3.下列哪些Verilog的基本门级元件是多输出( D ) (A) nand (B) nor (C) and (D) not 4.Verilog连线类型的驱动强度说明被省略时,则默认的输出驱动强度为( B ) (A) supply (B) strong (C) pull (D) weak 5.元件实例语句“notif1 #(1:3:4,2:3:4,1:2:4) U1(out,in,ctrl);”中截至延迟的典型值为( B ) (A) 1 (B) 2 (C) 3 (D) 4 6.已知“a =1b’1; b=3b'001;”那么{a,b}=( C ) (A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'101

7.根据调用子模块的不同抽象级别,模块的结构描述可以分为(ABC ) (A) 模块级 (B)门级 (C) 开关级 (D) 寄存器级 8.在verilog语言中,a=4b'1011,那么 &a=(D ) (A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'0 9.在verilog语言中整型数据与( C )位寄存器数据在实际意义上是相同的。 (A) 8 (B) 16 (C) 32 (D) 64 二、简答题(2题,共16分) 1.Verilog HDL语言进行电路设计方法有哪几种(8分) 1、自上而下的设计方法(Top-Down) 2、自下而上的设计方法(Bottom-Up) 3、综合设计的方法 2.specparam语句和parameter语句在参数说明方面不同之处是什么(8分)。 1、.specparam语句只能在延时的格式说明块(specify块)中出现,而parameter语句则不能在延时说明块内出现 2、由specparam语句进行定义的参数只能是延时参数,而由parameter 语句定义的参数则可以是任何数据类型的参数 3、由specparam语句定义的延时参数只能在延时说明块内使用,而由parameter语句定义的参数则可以在模块内(该parameter语句之后)的任何位置说明

(完整版)Verilog期末复习题

Verilog复习题 一、填空题 1. 用EDA技术进行电子系统设计的目标是最终完成 2. 可编程器件分为CPLD和FPGA。 3. 随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL 设计当中。 4. 目前国际上较大的PLD器件制造公司有ALtera和Xilinx公司。 5. 完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。 6. 阻塞性赋值符号为=,非阻塞性赋值符号为<= 。 7 8、EDA 9.状态机常用状态编码有二进制、格雷码和独热码。 10.V erilog HDL中任务可以调用其他任务和函数。 11.系统函数和任务函数的首字符标志为$,预编译指令首字符标志为#。 12.可编程逻辑器件的优化过程主要是对速度和资源的处理过程。 13、大型数字逻辑电路设计采用的IP核有软IP、固IP和硬IP。 二、选择题 1、已知“a =1b’1; b=3b'001;”那么{a,b}=(C ) (A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'101 2、在verilog中,下列语句哪个不是分支语句?( D ) (A) if-else (B) case (C) casez (D) repeat 3、Verilog HDL语言进行电路设计方法有哪几种(8分) ①自上而下的设计方法(Top-Down) ②自下而上的设计方法(Bottom-Up) ③综合设计的方法 4、在verilog语言中,a=4b'1011,那么 &a=(D ) (A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'0 5、在verilog语言中整型数据与(C)位寄存器数据在实际意义上是相同的。 (A) 8 (B) 16 (C) 32 (D) 64 6、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C____ 。 A.FPGA全称为复杂可编程逻辑器件; B.FPGA是基于乘积项结构的可编程逻辑器件; C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 7. 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化___B______。 ①流水线设计 ②资源共享 ③逻辑优化 ④串行化 ⑤寄存器配平

中南大学EDA VerilogHDL试题(附答案)

一、填空题(10分,每小题1分) 1.用EDA技术进行电子系统设计的目标是最终完成的设计与实现。 2.可编程器件分为和。 3.随着EDA技术的不断完善与成熟,的设计方法更多的被应用于 Verilog HDL设计当中。 4.目前国际上较大的PLD器件制造公司有和公司。 5.完整的条件语句将产生电路,不完整的条件语句将产生电路。 6.阻塞性赋值符号为,非阻塞性赋值符号为。 二、选择题(10分,每小题2分) 1.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述 中,正确的是。 A.FPGA全称为复杂可编程逻辑器件; B.FPGA是基于乘积项结构的可编程逻辑器件; C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 2.基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→综合 →_____→→适配→编程下载→硬件测试。正确的是。 ①功能仿真②时序仿真③逻辑综合④配置⑤分配管脚 A.③①B.①⑤C.④⑤D.④② 3.子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行 速度(即速度优化);指出下列哪些方法是面积优化。 ①流水线设计②资源共享③逻辑优化④串行化⑤寄存器配平⑥关键路径法 A.①③⑤B.②③④C.②⑤⑥D.①④⑥ 4.下列标识符中,__________是不合法的标识符。 A.9moon B.State0 C.Not_Ack_0 D.signall 5.下列语句中,不属于并行语句的是:_______ A.过程语句B.assign语句C.元件例化语句D.case语句 三、EDA名词解释(10分)

数电实验考试verilogHDL语言及参考程序

题目一:表决器电路设计 一、设计任务及原理:所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。 七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个拨动开关来表示七个人,当对应的拨动开关输入为‘1’时,表示此人同意;否则若拨动开关输入为‘0’,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。同时,数码管上显示通过的票数。 二、具体要求: 本实验就是利用实验系统中的拨动开关模块和LED模块以及数码管模块来实现一个简单的七人表决器的功能。拨动开关模块中的K1~K7表示七个人,当拨动开关输入为‘1’时,表示对应的人投同意票,否则当拨动开关输入为‘0’时,表示对应的人投反对票;LED模块中LED1表示七人表决的结果,当LED1点亮时,表示此行为通过表决;否则当LED1熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出来。 在此实验中数码管、LED、拨动开关与FPGA的连接电路和管脚连接在以前的实验中都做了详细说明,这里使用模块信 号 对应FPGA管 脚 说明

不在赘述。端口名 S1 按键开关S1 R16 表示1号抢 答者S2 按键开关S2 P14 表示2号抢 答者S3 按键开关S3 P16 表示3号抢 答者S4 按键开关S4 P15 表示4号抢 答者S5 按键开关S5 M15 表示5号抢 答者S6 按键开关S6 N16 表示6号抢 答者S7 按键开关S7 N15 表示7号抢 答者DOUT0 LED模块D1 L14 表决结果亮 为通过 LEDAG0数码管模块 A段N4 抢答成功者 号码显示 LEDAG1数码管模块 B段 G4 LEDAG2数码管模块H4

2、Verilog 常见面试题整理

Verilog 常见面试题整理发布时间:2013-09-03 11:00:59技术类别:CPLD/FPGA Use verilog hdl to implement a flip-flop with synchronous RESET and SET, a Flip-flop with asynchronous RESET and SET. always@(posedge clk or negedge reset or posedge set) begin if(set) Q<=1; else if(!reset) Q<=0; else Q<=D; end always@(posedge clk) begin if(set) Q<=1; else if(!reset) Q<=0; else Q<=D; end 异步reset和set 同步reset和set 2、Use verilog hdl to implement a latch with asynchronous RESET and SET. always @(clk or reset or set) begin if(set) Q=1; else if(!reset) Q=0; else Q=D; end 3、Use Verilog hdl to implement a 2-to-1multiplexer. assign Y=(SEL==1'b0)?A:B; 4、Use AND gate, OR gate and Inverter toimplement a 2-to-1 multiplexer. module MUX21(A, B, SEL, Y); input A,B,SEL; output Y; net SEL_NOT, A_AND, B_AND; not u0(SEL_NOT, SEL); and u1(A_AND, SEL_NOT, A); and u2(B_AND, SEL, B); or u3(Y, A_AND, B_AND); endmodule 5、Use a 2-to-1 multiplexer to implement a two input OR gate. module or2(A, B, Y);

Verilog试题 A答案

北京航空航天大学 2011 ~2012 学年第二学期 数字EDA 期末考试试卷 ( 2012 年 5 月 23 日) 班级:__________;学号:______________;姓名:__________________;成绩:___________ 注意事项:1、填空题与选择题直接在试题上作答 2、设计题在答题纸上作答 正题: 一、填空题(共30分,每道题3分) 1. 写出表达式以实现对应电路的逻辑功能。 F 2. 根据图中输入输出关系将Verilog 模块定义补充完整,其中信号A 为5比特宽度,其余信号为1比特宽度。 A 宽 3. IEEE 标准的硬件描述语言是 verilog HDL 和 VHDL 。 4. 你所知道的可编程逻辑器件有(至少两种): FPGA, CPLD, GAL, PAL (任写其二) 。 5. 假定某4比特位宽的变量a 的值为4’b1011,计算下列运算表达式的结果 6. Verilog 语言规定了逻辑电路中信号的4种状态,分别是0,1,X 和Z 。其中0表示低电平状态,1表示高电平状态,X 表示 不定态(或未知状态) ,Z 表示 高阻态 。 assign F= E ^ ( (A&B) | (!(C&D))) module tblock( A,B,C ) ; output [4:0] A; input B; inout C; …… //省略了功能描述 endmodule //模块结束 &a = 1’b0 ~a = 4’b0100 {3{a}} = 12’b101110111011 {a[2:0],a[3]} = 4’b0111 (a<4’d3) || (a>=a) = 1’b1 !a = 1’b0

Verilog复习题复习进程

V e r i l o g复习题

Verilog复习题 一、填空题 1. 用EDA技术进行电子系统设计的目标是最终完成 2. 可编程器件分为CPLD和FPGA。 3. 随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL 设计当中。 4. 目前国际上较大的PLD器件制造公司有ALtera和Xilinx公司。 5. 完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。 6. 阻塞性赋值符号为=,非阻塞性赋值符号为 <= 。 7.有限状态机分为Moore和Mealy两种类型。 8、EDA 9.状态机常用状态编码有二进制、格雷码和独热码。 10.Verilog HDL中任务可以调用其他任务和函数。 11.系统函数和任务函数的首字符标志为$,预编译指令首字符标志为#。12.可编程逻辑器件的优化过程主要是对速度和资源的处理过程。 13、大型数字逻辑电路设计采用的IP核有软IP、固IP和硬IP。 二、选择题 1、已知“a =1b’1; b=3b'001;”那么{a,b}=(C ) (A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'101 2、在verilog中,下列语句哪个不是分支语句?( D ) (A) if-else (B) case (C) casez (D) repeat 3、Verilog HDL语言进行电路设计方法有哪几种(8分)

①自上而下的设计方法(Top-Down) ②自下而上的设计方法(Bottom-Up) ③综合设计的方法 4、在verilog语言中,a=4b'1011,那么 &a=(D ) (A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'0 5、在verilog语言中整型数据与(C)位寄存器数据在实际意义上是相同的。 (A) 8 (B) 16 (C) 32 (D) 64 6、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C____ 。 A.FPGA全称为复杂可编程逻辑器件; B.FPGA是基于乘积项结构的可编程逻辑器件; C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 7. 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化___B___。①流水线设计②资源共享③逻辑优化④串行化⑤寄存器配平⑥关键路径法 A.①③⑤ B.②③④ C.②⑤⑥ D.①④⑥ 8、下列标识符中,_____A_____是不合法的标识符。 A.9moon B.State0 C. Not_Ack_0 D. signall 9、下列语句中,不属于并行语句的是:___D___ A. 过程语句 B.assign语句 C.元件例化语句 D.case语句 6、10、P,Q,R都是4bit的输入矢量,下面哪一种表达形式是正确的5)

Verilog-HDL试卷及答案

reg [7:0] q=8‘b; 右边是最低位,q[0]~q[6]为0,q[7]为1 q[7:0]<={q[0],q[7:1]}相当于一个循环右移操作,将q[0]的值赋给q[7],q[7]~q[1]依次向右移位一位。根据前值8‘b,第一个时钟周期后变为8‘b01000000;第二个时钟周期后变为8‘b00100000;类推。第八个时钟周期后又回到q=8‘b 一、选择题: 1、下列标示符哪些是合法的(B ) A、$time B、_date C、8sum D、mux# 2、如果线网类型变量说明后未赋值,起缺省值是(D ) A、x B、1 C、0 D、z 3、现网中的值被解释为无符号数。在连续赋值语句中,assign addr[3:0]=-3;addr被 赋予的值是( A )……………………………… code #(1,5) d1(x1,y1); 《 endmodule endmodule A、(1,1) B、(5,5) C、(5,1) D、(1,5) 6、“a=4’ b11001,b=4’ bx110”选出正确的运算结果(B ) A、a&b=0 B、a&&b=1 C、b&a=x D、b&&a=x 7、时间尺度定义为timescale 10ns/100ps,选择正确答案(C ) A、时间精度10ns B、时间单位100ps C、时间精度100ps D、时间精度不确定 8、若a=9,执行$display(“current value=%0b,a=%0d”,a,a)正确显示为(B )endtask 3、if(a) out1<=int1; 当a= 1 执行out1<=int1 { else out1<=int2; 当a= 0 执行out1<=int2 4、4’ b1001<<2= 4’b100100 ,4’ b1001>>2= 4’b0010 。 ; 3 output ……; 4 reg a,b……; 5 always@(……..) 6 assign f=c&d; 7 always@(……..) 8 begin \ 9 a=…….; 10 b=…….; end 11 mux mux1(out,in0,in1); endmodule 四、简答题:(共30分) 1、always语句和initial语句的关键区别是什么能否相互嵌套(5分) always语句是循环语句,initial只执行一次。它们不能嵌套。 ' 2、画出下面程序段中r(reg型)的仿真波形 (6分)

EDA VerilogHDL期末必考试题

一、填空题(10分,每小题1分)1.用EDA技术进行电子系统设计的目标 是最终完成 ASIC 的设 计与实现。 2.可编程器件分为FPGA 和 CPLD 。 3.随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL设计当中。 4.目前国际上较大的PLD器件制造公司有 Altera 和 Xilinx 公司。 5.完整的条件语句将产生组合电路,不完整的条件语句将产生时序 电路。 6.阻塞性赋值符号为=,非阻塞性赋值符号为 <= 。 二、选择题(10分,每小题2分) 1.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是 C 。 A.FPGA全称为复杂可编程逻辑器件; B.FPGA是基于乘积项结构的可编程逻辑器件; C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 2.基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→综合 →___ __→→适配→编程下载→硬件测试。正确的是 B 。 ①功能仿真②时序仿真③逻辑综合④配置⑤分配管脚 A.③①B.①⑤C.④⑤D.④② 3.子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化 B 。 ①流水线设计②资源共享③逻辑优化④串行化⑤寄存器配平⑥关键路径法 D.①④⑥C.②⑤⑥A.①③⑤B.②③④ 4.下列标识符中,____A______是不合法的标识符。 A.9moon B.State0 C.Not_Ack_0 D.signall 5.下列语句中,不属于并行语句的是:___D____

Verilog HDL期末考试复习题

【第一章】1、FPGA 芯片的发展主要体现在哪几个方面?未来的发展趋势是什么? 答:新型芯片的规模越来越大,成本越来越低,低端的FPGA已逐步取代了传统的数字元件。 先进的ASIC生产工艺已经被用于FPGA的生产,越来越丰富的处理器内核被嵌入到高端的FPGA芯片中,基于FPGA的开发成为一项系统级设计工程。 随着半导体制造工艺的不同提高,FPGA的集成度将不断提高,制造成本 将不断降低,其作为替代ASIC来实现电子系统的前景将日趋光明。 2、EDA 技术的优势是什么? 答:1.用HDL对数字系统进行抽象的行为与功能描述以及具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,可以大大降低设计成本,缩短设计周期。 2.EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持。 3.某些HDL也是文档型的语言,极大地简化了设计文档的管理。 4.EDA具有日益强大的逻辑设计仿真测试技术,极大地提高了大规模系统 电子设计的自动化程度。 5.基于EDA技术的设计,由于用HDL表达的成功的专用功能设计在实现 目标方面有很大的可选性,它既可以用不同来源的通用FPGA/CPLD实现,也可以直接以ASIC来实现,设计者拥有完全的自主权。 6.EDA技术的设计语言是标准化的,不会由于设计对象的不同而改变;它 的开发工具是规范化的,EDA软件平台支持任何标准化的设计语言;它的设计成果是通用性的,IP核具有规范的接口协议。良好的可移植与可测试性,为系统开发提供了可靠的保证。 7.EDA技术能将所有设计环节纳入统一的自顶向下的设计方案中。 8.EDA不但在整个设计流程上充分利用计算机的自动设计能力,在各个设 计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整全面的测试。 3、EDA 的设计流程包括哪几个环节? ANS: ①设计输入(原理图/HDL 文本编辑)②综合③FPGA/CPLD 适配④时序仿真与功能门级仿真⑤FPGA/CPLD 编程下载⑥FPGA/CPLD 器件电路硬件检测。 4、硬件描述语言的种类有哪些? ANS: VHDL 、Verilog HDL、SystemVerilog、System C 等 答:VHDL、Verilog、HDL、System Verilog、System C。 5、自顶向下设计方法的优点是什么? ANS: 过程大部分由计算机完成,可植性强,便于系统的优化和升级,以及对模型进行及时的修改,以改进系统或子系统的功能,更正设计错误,提高目标系统的工作速度,减小面积耗用,降低功耗和成本等。在EDA 技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 6、ip核可分为哪几类? ANS: ①软IP 、②固IP、③硬IP 7、ip在EDA 技术的应用和发展中的意义是什么? ANS: IP 就是将某些功能固化,而当EDA 设计也需要这些功能的时候,就可以

相关主题
文本预览
相关文档 最新文档