(完整word版)EDA技术题库
EDA技术题库
sql语句实现的四种功能⼀.填空题
1. Verilog的基本设计单元是模块。它是由两部分组成,⼀部分描述接⼝;另⼀部分描述逻辑功能,即定义输⼊是如何影响输出的。
2. ⽤assign描述的语句我们⼀般称之为组合逻辑,并且它们是属于并⾏语句,即于语句的书写次序⽆关。⽽⽤always描述的语句我们⼀般称之为组合逻辑或时序逻辑,并且它们是属于串⾏语句,即于语句的书写有关。
3.在case语句中⾄少要有⼀条default语句。
4. 已知x=4’b1001,y=4’0110,则x的4位补码为4’b1111,⽽y的4位的补码为4’b0110 。
5. 两个进程之间是并⾏语句。⽽在Always中的语句则是顺序语句。
6.综合是将⾼层次上描述的电⼦系统转换为低层次上描述的电⼦系统,以便于系统的具体硬件实现。综合器是能⾃动将⾼层次的表述(系统级、⾏为级)转化为低层次的表述(门级、结构级)的计算机程序
7. 设计输⼊的⽅式有原理图、硬件描述语⾔、状态图以及波形图。
8.按照仿真的电路描述级别的不同,HDL仿真器可以完成:系统级仿真,⾏为级仿真,RTL 级仿真,门级(时序)仿真。按照仿真是否考虑硬件延时分类,可以分为:功能仿真和时序仿真。仿真器可分为基于元件(逻辑门)仿真器和基于HDL语⾔的仿真器
9. IP核是知识产权核或知识产权模块,在EDA技术中具有⼗分重要的地位。半导体产业的IP定义为⽤于ASIC或FPGA中的预先设计好的电路功能模块。IP分为软IP、固IP和硬IP。
10.可编程逻辑器件PLD是⼀种通过⽤户编程或配置实现所需逻辑功能的逻辑器件,也就是说⽤户可以根据⾃⼰的需求,通过EDA开发技术对其硬件结构和⼯作⽅式进⾏重构,重新设计其逻辑功能
11.两种可编程逻辑结构是基于与-或阵列可编程结构(乘积项逻辑可编程结构)、基于SRAM 查表的可编程逻辑结构
12.PLD按集成度分类:简单PLD、复杂PLD;按结构分类:基于“与-或”阵列结构的器件、基于查表结构的器件;从编程⼯艺上分类:熔丝型、反熔丝型、EPROM型、EEPROM型、SRAM 型、Flash型
13.Verilog的端⼝模式有三种:输⼊端⼝、输出端⼝、双向端⼝,对应的端⼝定义关键词分别是:input、output、inout
14.Verilog中常⽤有两种变量:寄存器型变量(⽤reg定义)、⽹线型变量(⽤wire定义)
15.Verilog有两种赋值⽅式:阻塞式赋值(=)、⾮阻塞式赋值(<=)
16.Verilog有四种循环语句:for语句、repeat语句、while语句、forever语句17.Verilog 的描述风格:RTL描述、数据流描述、⾏为描述、结构描述
18.从状态机的信号输出⽅式上分,有Mealy型和Moore型两种状态机;从状态机的描述结构上分,有单过程状态机和多过程状态机;从状态机表达⽅式上分,有符号化状态机和确定状态编码的状态机;从状态机编码⽅式上分,有顺序编码状态机、⼀位热码编码状态机或其他编码⽅式状态机。
19.四种简单逻辑器件:PROM中固定的与阵列,可编程或阵列;PLA是与阵列、或阵列都可编程;PAL中或阵列固定,与阵列可编程;GAL是或阵列、与阵列都可编程,输⼊部分增加了输出逻辑同单元(OLMC)
20.CPLD的组成结构:逻辑阵列块(由逻辑宏单元构成)、扩展乘积项(共享和并联)、可编程连线阵列、I/O控制块
21.FPGA的组成结构:逻辑阵列块LAB(由多个逻辑宏单元构成)、嵌⼊式存储器块、嵌⼊式硬件乘法器、I/O单元和PLL等模块。
22.某⼀纯组合电路输⼊为in1,in2和in3,输⼊出为out,则该电路描述中always的事件表达式应写为always@(in1,in2,in3 );若某⼀时序电路由时钟clk信号上升沿触发,同步⾼电平复位信号rst清零,该电路描述中always的事件表达是应该写为always
@(posedge clk )。
23.在模块中对任务进⾏了定义,调⽤此任务,写出任务的调⽤ mytast(f,g,m,n,p) 。task mytast; 要求:变量的传递关系如下output x,y; m——a,n——b,p——c,x——f,y——g
…….
endtask
24.if(a) out1<=int1; 当a= 1 执⾏out1<=int1
else out1<=int2; 当a= 0 执⾏out1<=int2
25.4’ b1001<<2= 4’b0100,4’ b1001>>2= 4’b0010 。
26.下⾯程序中语句5、6、7、11是并⾏执⾏,语句9、10是顺序执⾏
1 module M(……);
2 input ……. ;
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
27. ⽤EDA技术进⾏电⼦系统设计的⽬标是最终完成
28. 可编程器件分为CPLD和FPGA。
29. 随着EDA技术的不断完善与成熟,⾃顶向下的设计⽅法更多的被应⽤于Verilog HDL 设计当中。
30. ⽬前国际上较⼤的PLD器件制造公司有ALtera和Xilinx公司。
31. 完整的条件语句将产⽣组合电路,不完整的条件语句将产⽣时序电路。
32. 阻塞性赋值符号为=,⾮阻塞性赋值符号为 <= 。
33.有限状态机分为
34、EDA
35.状态机常⽤状态编码有⼆进制、格雷码和独热码。
36.Verilog HDL中任务可以调⽤其他任务和函数。
37.系统函数和任务函数的⾸字符标志为$,预编译指令⾸字符标志为#。
38.可编程逻辑器件的优化过程主要是对速度和资源的处理过程。
39、⼤型数字逻辑电路设计采⽤的IP核有软IP、固IP和硬IP。
1.简述⾃顶向下的设计⽅法
答:①从⾃然语⾔说明到HDL的系统⾏为描述;②从HDL的系统⾏为描述到RTL描述;③从RTL描述到逻辑门级描述;④从门级描述到最终可以物理布线实现的底层电路;(以上可以理解成是逐步综合的过程。)⑤后期设计还包括涉及硬件实现和测试。
2.简述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;end
else begin 语句块2;end
③if(条件表达式1)
begin 语句块1;end
else if(条件表达式2)
begin 语句块2;
end …
else if(条件表达式n)
begin 语句块n;end
else begin 语句块n+1;end
7.简述Moore型和Mealy型状态机的区别
答:Mealy型状态机的输出是当前状态和所有输⼊信号的函数,它的输出是在输⼊变化后⽴即发⽣的,不依赖时钟的同步。Moore型状态机的输出则仅为当前状态的函数,这类状态机在输⼊发⽣变化时还必须等待时钟的到来,时钟状态发⽣变化时才导致输出的变化,所以⽐Mealy机要多等待⼀个时钟周期。
8.always语句和initial语句的关键区别是什么?能否相互嵌套?(5分)
always语句是循环语句,initial只执⾏⼀次。它们不能嵌套。
9.画出下⾯程序段中r(reg型)的仿真波形 (6分)
fork
#20 r=1’ b0;
#10 r=1’ b1;
#15 r=1’ b1;
#25 r=1’ b1;
#5 r=1’ b0;
join
10.画出下⾯程序综合出来的电路图。(7分)
always@(posedge clk)
begin
q0<=~q2;
q1<= q0;
q2<= q1;
End
11.HA模块程序如下,写出引⽤HA模块描述FA模块的Verilog程序。(7分)
module HA(A,B,S,C);
input A,B;
output S,C;
assign {C,S}=A+B;
endmodule
module FA(A,B,Ci,Co,S);
input A,B,Ci;
output Co,S;
wire Sl,C1,C2;
HA a(A,B,Sl,C1);
HA b(Sl,Ci,C2,S);
assign Co=C1|C2;
endmodule
12、写出下⾯程序中变量x,y,cnt,m,q的类型(5分)
Assgin x=y;
always@(posegde clk)
begin
cnt=m+1;
q=~q;
end
13.initial和always预计的关键区别是什么?
intial只能⽤在仿真中,只在0时刻开始执⾏⼀次
always可以⽤在仿真中也可以⽤在综合中,只要触发条件满⾜,就会重复执⾏其中的语句14.定义如下的变量和常量:
(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的时间变量;(没讲过)
(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.简述基于数字系统设计流程包括哪些步骤?
包括五个步骤:
⑴、设计输⼊:将设计的结构和功能通过原理图或硬件描述语⾔进⾏设计或编程,进⾏语法或逻辑检查,通过表⽰输⼊完成,否则反复检查直到⽆任何错误。
⑵、逻辑综合:将较⾼层的设计描述⾃动转化为较低层次描述的过程,包括⾏为综合,逻辑综合和版图综合或结构综合,最后⽣成电路逻辑⽹表的过程。
⑶、布局布线:将综合⽣成的电路⽹表映射到具体的⽬标器件中,并产⽣最终可下载⽂
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论