EDA技术题库文档格式.docx

上传人:b****3 文档编号:17676086 上传时间:2022-12-08 格式:DOCX 页数:21 大小:190.11KB
下载 相关 举报
EDA技术题库文档格式.docx_第1页
第1页 / 共21页
EDA技术题库文档格式.docx_第2页
第2页 / 共21页
EDA技术题库文档格式.docx_第3页
第3页 / 共21页
EDA技术题库文档格式.docx_第4页
第4页 / 共21页
EDA技术题库文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

EDA技术题库文档格式.docx

《EDA技术题库文档格式.docx》由会员分享,可在线阅读,更多相关《EDA技术题库文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

EDA技术题库文档格式.docx

20.CPLD的组成结构:

逻辑阵列块(由逻辑宏单元构成)、扩展乘积项(共享和并联)、可编程连线阵列、I/O控制块

21。

FPGA的组成结构:

逻辑阵列块LAB(由多个逻辑宏单元构成)、嵌入式存储器块、嵌入式硬件乘法器、I/O单元和PLL等模块。

22.某一纯组合电路输入为in1,in2和in3,输入出为out,则该电路描述中always的事件表达式应写为always@(in1,in2,in3);

若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always@(posedgeclk).

23。

在模块中对任务进行了定义,调用此任务,写出任务的调用mytast(f,g,m,n,p)。

taskmytast;

要求:

变量的传递关系如下

outputx,y;

m-—a,n—-b,p——c,x-—f,y—-g

inputa,b,c;

…….

endtask

24.if(a)out1<

=int1;

当a=1执行out1<

=int1

elseout1<

=int2;

当a=0执行out1〈=int2

25。

4’b1001<

〈2=4’b0100,4’b1001>

>

2=4’b0010。

26。

下面程序中语句5、6、7、11是并行执行,语句9、10是顺序执行

1moduleM(……);

2input……。

3output……;

4rega,b……;

5always@(……。

6assignf=c&

d;

7always@(……。

.)

8begin

9a=……。

;

10b=…….;

end

11muxmux1(out,in0,in1);

endmodule

27. 

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

28. 

可编程器件分为 

CPLD和FPGA。

29. 

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

HDL

设计当中.

30。

 

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

31. 

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

32. 

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

33.有限状态机分为Moore和Mealy两种类型。

34、EDA缩写的含义为电子设计自动化(ElectronicDesignAutomation)

35.状态机常用状态编码有二进制、格雷码和独热码.

36.VerilogHDL中任务可以调用其他任务和函数。

37.系统函数和任务函数的首字符标志为$,预编译指令首字符标志为#。

38.可编程逻辑器件的优化过程主要是对速度和资源的处理过程。

39、大型数字逻辑电路设计采用的IP核有软IP、固IP和硬IP。

二.简答题

1.简述自顶向下的设计方法

答:

①从自然语言说明到HDL的系统行为描述;

②从HDL的系统行为描述到RTL描述;

③从RTL描述到逻辑门级描述;

④从门级描述到最终可以物理布线实现的底层电路;

(以上可以理解成是逐步综合的过程。

)⑤后期设计还包括涉及硬件实现和测试.

简述EDA的设计流程

答:

①图形输入:

a。

原理图b.硬件描述语言c.状态图d。

波形图;

②HDL文本输入;

③综合;

④适配;

⑤功能仿真与时序仿真;

⑥编程下载;

⑦硬件测试

3.简述过程语句的执行过程

答:

①由always@引导的过程语句结构是Verilog中最常用和最重要的语句结构.②任何顺序语句都必须放在过程语句结构中。

③通常要求将过程语句中所有的输入信号都放在敏感信号表中。

(a。

用文字or连接所有敏感信号。

b。

用逗号区分或连接所有敏感信号。

c。

省略形式,只写成(*),或直接写成always@*,显然试图通过选择性地列入敏感信号来改变逻辑设计是无效的。

)④过程语句的执行依赖于敏感信号的变化(发生事件)。

当某一敏感信号发生变化,过程语句被启动,内部的所有顺序语句被执行一遍,然后返回过程起始端,再次进入等待状态,直到下一次某一敏感信号发生变化再次进入“启动—运行”状态。

过程语句结构是一个不断重复运行的模块。

⑤一个模块中可以包含任意个过程语句,过程语句本身属于并行语句,而由过程引导的各类语句属于顺序语句。

4.简述什么是元件例化

元件例化就是引入一种连接关系,将预先设计好的元件,与当前设计模块中的指定端口相连接,从而构成层次化的设计方式。

元件例化可以是多层次的,一个调用了较低层次元件的设计模块,也可以被更高层次的设计模块调用,成为高层次设计模块中的一个元件.被例化的元件可以以不同的形式出现,可以是Verilog设计文件,可以是FPGA元件库中的元件,或者是以别的硬件描述语言设计的元件,还可以是IP核.

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

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

=a):

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

块内的多条赋值语句在块结束时同时赋值;

硬件有对应的电路.阻塞(blocking)赋值方式(b=a):

b的值立刻被赋成新值a;

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

硬件没有对应的电路,因而综合结果未知.

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

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

6。

简述if语句的几种主要结构

①if(条件表达式)

begin语句块;

end

②if(条件表达式)

begin语句块1;

elsebegin语句块2;

③if(条件表达式1)

begin语句块1;

elseif(条件表达式2)

begin语句块2;

end…

elseif(条件表达式n)

begin语句块n;

elsebegin语句块n+1;

7.简述Moore型和Mealy型状态机的区别

Mealy型状态机的输出是当前状态和所有输入信号的函数,它的输出是在输入变化后立即发生的,不依赖时钟的同步.Moore型状态机的输出则仅为当前状态的函数,这类状态机在输入发生变化时还必须等待时钟的到来,时钟状态发生变化时才导致输出的变化,所以比Mealy机要多等待一个时钟周期。

8。

always语句和initial语句的关键区别是什么?

能否相互嵌套?

(5分)

always语句是循环语句,initial只执行一次.它们不能嵌套。

9.画出下面程序段中r(reg型)的仿真波形(6分)

fork

#20r=1’b0;

#10r=1’b1;

#15r=1’b1;

#25r=1'

b1;

#5r=1’b0;

join

10。

画出下面程序综合出来的电路图。

(7分)

always@(posedgeclk)

begin

q0〈=~q2;

q1<

=q0;

q2<

=q1;

End

11.HA模块程序如下,写出引用HA模块描述FA模块的Verilog程序。

moduleHA(A,B,S,C);

inputA,B;

outputS,C;

assign{C,S}=A+B;

moduleFA(A,B,Ci,Co,S);

inputA,B,Ci;

outputCo,S;

wireSl,C1,C2;

HAa(A,B,Sl,C1);

HAb(Sl,Ci,C2,S);

assignCo=C1|C2;

endmodule

12、写出下面程序中变量x,y,cnt,m,q的类型(5分)

x为wire型

y为reg或wire型

cnt为reg型

m为reg或wire型

q为reg型

Assginx=y;

always@(posegdeclk)

cnt=m+1;

q=~q;

13.initial和always预计的关键区别是什么?

intial只能用在仿真中,只在0时刻开始执行一次

always可以用在仿真中也可以用在综合中,只要触发条件满足,就会重复执行其中的语句

14.定义如下的变量和常量:

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

(integercount)

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

(wire[7:

0]ABUS)

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

(reg[15:

0]addressaddress=16'

d128)

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

(parameterDelay_time=8)

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

(没讲过)

(6)定义一个32位的寄存器MYREG;

(reg[31:

0]MYREG;

(7)定义一个容量为128,字长为32位的存储器MYMEM;

(reg[31:

0]MYMEM[127:

0])

15.下列标识符哪些是合法的,哪些是错误的?

Cout(y),8sum(n),\a*b(y),_data(y),\wait(y),initial(n),$latch(n)

16.下列数字的表示是否正确?

6'

d18(y),’Bx0(y),5’b0x110(y),’da30(n),10’d2(y),'

hzF(y)

17。

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

有何区别?

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

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

摩尔型状态机的输出只由当前状态决定,而次态由输入和现态共同决定;

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

状态编码主要有三种:

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

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

包括五个步骤:

⑴、设计输入:

将设计的结构和功能通过原理图或硬件描述语言进行设计或编程,进行语法或逻辑检查,通过表示输入完成,否则反复检查直到无任何错误。

⑵、逻辑综合:

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

⑶、布局布线:

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

⑷、仿真:

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

⑸、编程配置:

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

19。

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

20。

简述FPGA与CPLD两种器件应用特点.

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

⑴FPGA集成度和复杂度高于CPLD,所以FPGA可实现复杂逻辑电路设计,而CPLD适合简单和低成本的逻辑电路设计.

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

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

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

三.选择题

1、已知“a 

=1b’1;

b=3b’001;

"

那么{a,b}=( 

(A) 

4b’0011 

(B) 

3b’001 

(C) 

4b’1001 

(D) 

3b'

101 

2、在verilog中,下列语句哪个不是分支语句?

( 

) 

if-else 

case 

casez 

repeat 

4、在verilog语言中,a=4b’1011,那么 

&

a=(D 

4b'

1011 

4b’1111 

1b'

5、在verilog语言中整型数据与( 

)位寄存器数据在实际意义上是相同的。

(A) 

16 

32 

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)

1)inputP[3:

0],Q,R;

2)inputP,Q,R[3:

0];

3)inputP[3:

0],Q[3:

0],R[3:

0];

4)input[3:

0]P,[3:

0]Q,[0:

3]R;

5)input[3:

0]P,Q,R;

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);

top;

paramee 

delay1=1,delay2=1;

……………。

……………………………… 

code 

#(1,5) 

d1(x1,y1);

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

9、aways 

begin 

#5 

clk=0;

#10 

clk=~clk;

end产生的波形( 

A、占空比1/3 

B、clk=1 

C、clk=0 

D、周期为10 

10、在Verilog中定义了宏名 

`define 

sum 

a+b+c 

下面宏名引用正确的是( 

A、out='

sum+d;

B、out=sum+d;

C、out=`sum+d;

D、都正确

11。

下面哪个是可以用verilog语言进行描述,而不能用VHDL语言进行描述的级别?

开关级 

(B)门电路级 

体系结构级 

寄存器传输级 

12.在verilog中,下列语句哪个不是分支语句?

13.下列哪些Verilog的基本门级元件是多输出(D) 

nand 

nor 

and 

not 

14.Verilog连线类型的驱动强度说明被省略时,则默认的输出驱动强度为( 

supply 

strong 

pull 

weak 

元件实例语句“notif1 

#(1:

3:

4,2:

4,1:

2:

4) 

U1(out,in,ctrl);

”中截至延迟的典型值为( 

16.已知 

“a 

b=3b'

001;

”那么{a,b}=( 

0011 

1001 

根据调用子模块的不同抽象级别,模块的结构描述可以分为( 

ABC 

模块级 

(B)门级 

寄存器级 

18.在verilog语言中,a=4b’1011,那么 

&a=( 

4b’1011 

1b’0 

19.在verilog语言中整型数据与( 

64

四.编程题

1、设计一奇偶校验位生成电路,输入八位总线信号bus,输出及校验位odd,偶校验位even.(6分)

2、设计一个带复位端且对输入时钟clk进行二分频模块,并画出仿真波形.(9分)

设计要求:

复位信号为同步、高电平有效,时钟的下降沿触发

3、设计一带异步复位端、异步置数段(低电平有效)的四位加法计数器,时钟clk上升沿有效),复位信号clr,置数信号load、输入数据data、输出qout.并画出仿真波形。

(20分)

答案1。

moduleparity(even,odd,bus);

outputeven,odd;

input[7:

0]bus;

//奇同偶异

assigneven=^bus;

//偶校验用异或

assignodd=^~bus;

//奇校验用同或

2.modulem2(out,clk,reset);

inputreset,clk;

outputout;

regout;

always@(negedgeclk)

begin

if(reset)

out<

=0;

else

out〈=~out;

end

3.moduleadder_4(qout,clr

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

当前位置:首页 > 外语学习 > 英语学习

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

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