(完整word版)EDA技术题库_第1页
(完整word版)EDA技术题库_第2页
(完整word版)EDA技术题库_第3页
(完整word版)EDA技术题库_第4页
(完整word版)EDA技术题库_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDA技术题库 一填空题 1. Verilog 的基本设计单元是 模块 。它是由两部分组成,一部分 描述接口 ;另一部分描述 逻辑功能 ,即定义输入是如何影响输出的。 2. 用 assign 描述的语句 我们一般称之为 组合逻辑 ,并且它们是属于 并行语句 ,即于语句的 书写次序无关。而用 always 描述的语句 我们一般称之为 组合逻辑或时序逻辑 ,并且它们是 属于串行语句 ,即于语句的书写有关。 3 在 case 语句中至少要有一条 default 语句。 4. 已知x=4b1001,y=4 0110,则x的4位补码为4b1111,而y的4位的补码为 4 b0110。 5. 两个进程之间

2、是 并行语句 。而在 Always 中的语句则是 顺序语句 。 6. 综合 是将高层次上描述的电子系统转换为低层次上描述的电子系统,以便于系统的具体硬 件实现 。综合器 是能自动将高层次的表述(系统级、行为级)转化为低层次的表述(门级、 结构级)的计算机程序 7. 设计输入的方式有 原理图、硬件描述语言、状态图 以及 波形图。 8. 按照仿真的电路描述级别的不同, HDL 仿真器可以完成: 系统级仿真 , 行为级仿真 , RTL 级仿真 ,门级(时序)仿真 。按照仿真是否考虑硬件延时分类,可以分为: 功能仿真 和时序 仿真。仿真器可分为基于元件(逻辑门)仿真器 和基于HDL语言的仿真器 9.

3、IP核是知识产权核或知识产权模块,在EDA技术中具有十分重要的地位。半导体产业的 IP定义为用于 ASIC或FPGA中的预先设计好的电路功能模块。IP分为软IP、固IP和硬IP。 10. 可编程逻辑器件 PLD是一种通过用户编程或配置实现所需逻辑功能的逻辑器件,也就是 说用户可以根据自己的需求,通过EDA开发技术对其硬件结构和工作方式进行重构,重新设 计其逻辑功能 11. 两种可编程逻辑结构是 基于与 - 或阵列可编程结构(乘积项逻辑可编程结构)、基于 SRAM 查找表的可编程逻辑结构 12. PLD按集成度分类:简单PLD复杂PLD按结构分类:基于“与-或”阵列结构的器件、 基于查找表结构的

4、器件;从编程工艺上分类: 熔丝型、反熔丝型、EPROh型、EEPRO型、SRAM 型、 Flash 型 13. Verilog的端口模式有三种: 输入端口、输出端口、双向端口 ,对应的端口定义关键词 分别是: input 、 output 、 inout 14. Verilog 中常用有两种变量: 寄存器型变量(用 reg 定义)、网线型变量(用 wire 定义) 15. Verilog 有两种赋值方式: 阻塞式赋值( =)、非阻塞式赋值( =) 16. Verilog 有四种循环语句: for 语句、 repeat 语句、 while 语句、 forever 语句 17.Verilog 的描

5、述风格: RTL 描述 、数据流描述、行为描述、结构描述 18. 从状态机的信号输出方式上分,有 Mealy 型和 Moore 型两种状态机;从状态机的描述结 构上分, 有单过程状态机和多过程状态机 ;从状态机表达方式上分, 有符号化状态机和确定 状态编码的状态机; 从状态机编码方式上分, 有顺序编码状态机、 一位热码编码状态机 或其 他编码方式状态机 。 19. 四种简单逻辑器件:PROM中固定的与阵列,可编程或阵列;PLA是与阵列、或阵列都可 编程;PAL中或阵列固定,与阵列可编程;GAL是或阵列、与阵列都可编程,输入部分增加 了输出逻辑同单元( OLMC) 20. CPLD的组成结构:逻

6、辑阵列块(由逻辑宏单元构成)、扩展乘积项(共享和并联)、可编 程连线阵列、 I/O 控制块 21. FPGA的组成结构:逻辑阵列块LAB(由多个逻辑宏单元构成)、嵌入式存储器块、嵌入式 硬件乘法器、I/O单元和PLL等模块。 22. 某一纯组合电路输入为ini , in2和in3 ,输入出为out,则该电路描述中always的事件 表达式应写为always(in1,in2,in3);若某一时序电路由时钟elk信号上升沿触发,同步 高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always (posedge elk )。 23. 在模块中对任务进行了定义,调用此任务,写出

7、任务的调用mytast( f,g,m,n,p )。 task mytast; output x,y; input a,b,c; 要求:变量的传递关系如下 f, y g m a, nb, pc, x en dtask 24.if(a)out1=i nt1; 当 a=1执行 out1=int1 else out1=i nt2; 当a= 0执行 out1=int2 25.4 b10012= 4 b0010。 26.卜面程序中语句 5、 6、 7、 11 是 并行执行,语句9、10是 顺序执行 1 module M(- ); 2 in put 3 output 4 reg a,b ; 5 always

8、( .) 6 assig n f=c 7 always( .) 8 begin 9 a= ; 10 b= .; end 11 mux mux1(out,i nO,i n1); en dmodule 27. 用EDA技术进行电子系统设计的目标是最终完成ASIC的设计与实现。 28. 可编程器件分为CPLD和FPGA 29. 随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL 设计当中。 30. 目前国际上较大的 PLD器件制造公司有 ALtera和Xilinx 公司。 31. 完整的条件语句将产生 组合电路,不完整的条件语句将产生时序电路。 32. 阻塞性赋值

9、符号为 _=_,非阻塞性赋值符号为=。 33. 有限状态机分为Moore和Mealy两种类型。 34. EDA缩写的含义为 电子设计自动化 (Electronic Design Automation) 35. 状态机常用状态编码有二进制、格雷码和独热码。 36. Verilog HDL中任务可以调用其他任务和函数。 37. 系统函数和任务函数的首字符标志为_$_,预编译指令首字符标志为_#_。 38. 可编程逻辑器件的优化过程主要是对速度和资源的处理过程。 39. 大型数字逻辑电路设计采用的IP核有软IP、固IP和硬IP。 二. 简答题 1. 简述自顶向下的设计方法 答:从自然语言说明到 HD

10、L的系统行为描述;从 HDL的系统行为描述到 RTL描述; 从RTL描述到逻辑门级描述;从门级描述到最终可以物理布线实现的底层电路;(以上可 以理解成是逐步综合的过程。 ) 后期设计还包括涉及硬件实现和测试。 2. 简述EDA的设计流程 答:图形输入a原理图b.硬件描述语言c.状态图d.波形图;HDL文本输入;综合; 适配;功能仿真与时序仿真;编程下载;硬件测试 3. 简述过程语句的执行过程 答:由alwaysl导的过程语句结构是 Verilog中最常用和最重要的语句结构。任何顺 序语句都必须放在过程语句结构中。 通常要求将过程语句中所有的输入信号都放在敏感信 号表中。 (a. 用文字 or

11、连接所有敏感信号。 b. 用逗号区分或连接所有敏感信号。 c. 省略形式, 只写成 (*) ,或直接写成 always * ,显然试图通过选择性地列入敏感信号来改变逻辑设 计是无效的。 ) 过程语句的执行依赖于敏感信号的变化 (发生事件) 。当某一敏感信号发生 变化, 过程语句被启动, 内部的所有顺序语句被执行一遍,然后返回过程起始端, 再次进入 等待状态,直到下一次某一敏感信号发生变化再次进入“启动 - 运行”状态。过程语句结构 是一个不断重复运行的模块。 一个模块中可以包含任意个过程语句, 过程语句本身属于并 行语句,而由过程引导的各类语句属于顺序语句。 4. 简述什么是元件例化 答:元件

12、例化就是引入一种连接关系,将预先设计好的元件, 与当前设计模块中的指定端口 相连接, 从而构成层次化的设计方式。元件例化可以是多层次的, 一个调用了较低层次元件 的设计模块, 也可以被更高层次的设计模块调用, 成为高层次设计模块中的一个元件。 被例 化的元件可以以不同的形式出现,可以是Verilog设计文件,可以是FPGA元件库中的元件, 或者是以别的硬件描述语言设计的元件,还可以是 IP 核。 5. 简要说明仿真时阻塞赋值与非阻塞赋值的区别 非阻塞( non-blocking) 赋值方式 ( b= a) : b的值被赋成新值 a的操作,并不是立刻完成的,而是在块结束时才完成;块内的多条赋值

13、语句在块结束时同时赋值;硬件有对应的电路。阻塞( 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

14、语句块 2; end else if(条件表达式 n) begin 语句块 n; end else beg in语句块 n+1 ; end 7. 简述Moore型和Mealy型状态机的区别 答:Mealy型状态机的输出是当前状态和所有输入信号的函数,它的输出是在输入变化后 立即发生的,不依赖时钟的同步。Moore型状态机的输出则仅为当前状态的函数,这类状态 机在输入发生变化时还必须等待时钟的到来,时钟状态发生变化时才导致输出的变化,所以 比Mealy机要多等待一个时钟周期。 8. always语句和initial语句的关键区别是什么?能否相互嵌套?(5分) always语句是循环语句,init

15、ial只执行一次。它们不能嵌套。 join (7分) 9. 画出下面程序段中r(reg型)的仿真波形(6分) fork #20 r=1 bO; #10 r=1 b1; #15 r=1 b1; #25 r=1 b1; #5 r=1 b0; 10. 画出下面程序综合出来的电路图。 always(posedge clk) begin q0=q2; q1= q0; q2= q1; End HA模块描述FA模块的Verilog程序。(7分) 11. HA模块程序如下,写出引用 module HA(A,B,S,C); in put A,B; output S,C; assign C,S=A+B; en d

16、module module FA(A,B,Ci,Co,S); in put A,B,Ci; output Co,S; wire Sl,C1,C2; HA a(A,B,SI,C1); HA b(SI,Ci,C2,S); assig n Co=C1|C2; en dmodule 12、写出下面程序中变量x, y, ent , m, q的类型(5分) x为wire型 y为reg或wire型 ent为reg型 m为reg或wire型 q为reg型 Assgi n x=y; always(posegde elk) begin en t=m+1; q=q; end 13.initial和always预计的

17、关键区别是什么? intial只能用在仿真中,只在0时刻开始执行一次 always可以用在仿真中也可以用在综合中,只要触发条件满足,就会重复执行其中的语句 14. 定义如下的变量和常量: (1) 定义一个名为 eount的整数; (integer eount ) (2) 定义一个名为 ABUS的 8 位 wire 总线;(wire 7:0 ABUS) (3) 定义一个名为address的16位reg型变量,并将该变量的值赋为十进制数128; (reg 15:0 address address = 16d128) (4) 定义参数 Delay_time, 参数值为 8; (parameter D

18、elay_time = 8) (5) 定义一个名为 DELAY的时间变量;(没讲过) (6) 定义一个 32 位的寄存器 MYRE;(reg 31:0 MYREG ;) (7) 定义一个容量为 128,字长为 32位的存储器 MYME;(reg 31:0 MYMEM 127:0) 15. 下列标识符哪些是合法的,哪些是错误的? Cout(y), 8sum(n), a*b(y), _data(y), wait(y), initial(n), $lateh(n) 16. 下列数字的表示是否正确? 6d18(y), Bx0(y), 5b0 x110(y), da30(n), 10d2(y), hzF

19、(y) 17. 简述有限状态机FSM分为哪两类?有何区别?有限状态机的状态编码风格主要有哪三 种? 根据内部结构不同可分为摩尔型状态机和米里型状态机两种。摩尔型状态机的输出只由当 前状态决定,而次态由输入和现态共同决定;米里型状态机的输出由输入和现态共同决定, 而次态也由输入和现态决定。 状态编码主要有三种:连续二进制编码、格雷码和独热码。 18. 简述基于数字系统设计流程包括哪些步骤? 包括五个步骤: 、设计输入:将设计的结构和功能通过原理图或硬件描述语言进行设计或编程,进行 语法或逻辑检查,通过表示输入完成,否则反复检查直到无任何错误。 、逻辑综合:将较高层的设计描述自动转化为较低层次描述

20、的过程,包括行为综合, 逻辑综合和版图综合或结构综合,最后生成电路逻辑网表的过程。 、布局布线:将综合生成的电路网表映射到具体的目标器件中,并产生最终可下载文 件的过程。 、仿真:就是按照逻辑功能的算法和仿真库对设计进行模拟,以验证设计并排除错误 的过程,包括功能仿真和时序仿真。 、编程配置:将适配后生成的编程文件装入到PLD器件的过程,根据不同器件实现编 程或配置。 19. 简述 Verilog HDL 编程语言中函数与任务运用有什么特点? 20. 简述FPGA与CPLD两种器件应用特点。 CPLD与 FPGA都是通用可编程逻辑器件,均可在EDA仿真平台上进行数字逻辑电路设 计,它们不同体现

21、在以下几方面: FPGA集成度和复杂度高于 CPLD所以FPGA可实现复杂逻辑电路设计, 而CPLD适合 简单和低成本的逻辑电路设计。 、FPGA内主要由LUT和寄存器组成,倾向实现复杂时序逻辑电路设计,而CPLD内 主要由乘积项逻辑组成,倾向实现组合逻辑电路设计。 、FPGA工艺多为SRAM flash等工艺,掉电后内信息消失,所以该类型需外配存储 器,而CPLD工艺多为EEPRO等工艺,掉电后信息不消失,所以不用外配存储器。 、FPGA相对CPLD成本高,但都可以在内都镶嵌硬核和软核,实现片上系统功能。 三. 选择题 1、已知 “a =1b 1; b=3b001; ”那么a,b=( C )

22、 (A) 4b0011 (B) 3b001 (C) 4b1001 (D) 3b101 2、 在 verilog 中,下列语句哪个不是分支语句?(D ) (A) if-else (B) case (C) casez (D) repeat 4、在 verilog 语言中, a=4b1011 ,那么 2) input P,Q,R3:0; 3) input P3:0,Q3:0,R3:0; 4) input 3:0 P,3:0Q,0:3R; 5) input 3:0 P,Q,R; 1、下列标示符哪些是合法的( B) A、$time B 、_date C、 8sum D、 mux# 2、如果线网类型变量说

23、明后未赋值,起缺省值是(D ) A、x B、1 C、 0 D、z 3、现网中的值被解释为无符号数。在连续赋值语句中,assign addr3:0=-3;addr 被赋予的值 是( A) A、4 b1101 B、4b0011 C、4bxx11 D、 4 bzz11 4、reg7:0 mema255:0 正确的赋值是( A ) A、 mema5=3 d0, B、8 d0; C、1 b1; D、 mema53:0=4 d1 5、在 code 模块中参数定义如下,请问 top 模块中 d1 模块 delay1 、 delay2 的值是 ( D) module code(x,y); module top

24、; paramee delay1=1,delay2=1; code #(1,5) d1(x1,y1); en dmodule endmodule A、(1,1) B、(5,5) C、(5,1) D、(1,5) 6、“a=4b1 1 001 ,b=4 bx1 1 0”选出正确的运算结果 ( B )A、a #10 clk=clk;end 产生的波形(A) A、占空比 1/3 B、clk=1 C clk=0 D周期为10 10、 在 Verilog中定义了宏名define sum a+b+c下面宏名引用正确的是(A ) A、out= sum+d; B、out=sum+d; C、out=sum+d;

25、D、都正确 11. 下面哪个是可以用 verilog语言进行描述,而不能用VHDL语言进行描述的级别?( A ) (A)开关级(B)门电路级(C)体系结构级 (D)寄存器传输级 12. 在 verilog 中,下列语句哪个不是分支语句?( D ) (A) if-else (B) case (C) casez (D) repeat 13下列哪些 Verilog 的基本门级元件是多输出(D) (A) nand (B) nor (C) and (D) not 14Verilog 连线类型的驱动强度说明被省略时,则默认的输出驱动强度为(B ) (A) supply (B) strong (C) pul

26、l (D) weak 1 5 .元件实例语句“ notif1 #(1:3:4,2:3:4,1:2:4) U1(out,in,ctrl); ”中截至延迟的典型值为( B ) (A) 1 (B) 2 (C) 3 (D) 4 16. 已知 “a =1b 1; b=3b001; ”那么a,b =( C) (A) 4b0011 (B) 3b001 (C) 4b1001 (D) 3b101 17. 根据调用子模块的不同抽象级别,模块的结构描述可以分为(ABC ) (A)模块级(B)门级(C)开关级(D)寄存器级 18. 在 verilog 语言中, a=4b1011 ,那么 output eve n, o

27、dd; in put7:0 bus; /奇同偶异 assig n even=Abus;/偶校验用异或 assig n odd=Abus;奇校验用同或 en dmodule 2. module m2(out,clk,reset); in put reset,clk; output out; reg out; always (n egedge clk) begin if(reset) out=0; else out=out; end icset: tlk. out: en dmodule 3. module adder_4(qout,clr,clk,load,data); output3:0 qo

28、ut; in put3:0 data; in put load,clr,clk; reg3:0 qout; always (posedge clk or n egedge load or n egedge clk) begin if(!load) qout=data; else if(!clr) qout=0; 仿真波形 r load: RrLTLTLnRrLru else qout=qout+1; end endmodule 4. 设计 9 人表决器 module voter9(pass,vote); output pass; input6:0 vote; reg2:0 sum; integ

29、er i; reg pass; always (vote) begin sum=0; for(i=0;i=8;i=i+1) /for 语句 if(votei) sum=sum+1; case(sum) 5,6,7,8,9: pass=1; default: pass=0; endcase endmodule 5. 设计一个 8 位计数器,要求异步复位,下降沿有效。 module count8(out,clk rst_); output7:0 out; input clk, rst_; reg 7:0out; always (posedge clk or negedge rst_) if(!rs

30、t_) out = 8h0; else out = out+1; endmodule 101 信号的电 5. 利用有限状态机, 以格雷码编译方式设计一个从输出信号序列中检测出 路图,其方块图、状态图和状态表如图表示。 clkQvui resei fc 目前状态CS 下一状态NS和输岀Qout Din=0 Di n=1 S0=00 SO, O S1,0 S1=01 S2, 0 S1,0 S2=11 S0, 0 S1, 1 module melay(clk,D in, reset,Qout); in put clk,reset; in put Din; output Qout; reg Qout;

31、 parameter1:0 S0=2b00,S1=2b01,S2=2b11; reg1:0 CS; reg1:0 NS; always (posedge clk or posedge reset) begin if(reset=1b01) CS=S0; else CS=NS; end always (CS or Din) begin case(CS) S0:beig n if(Di n=1b0) begin NS=S0; Qout=1b0; end else begin NS=S1; Qout=1b0; end end S1:begin if(Din=1b0) begin NS=S2; Qou

32、t=1b0; end else begin NS=S1; Qout=1b0; end end S2:beign if(Din=1b0) begin NS=S0; Qout=1b0; end else begin NS=S1; Qout=1b0; end end endcase end endmodule 6. 程序注解,并说明整个程序完成的功能。 module AAA ( a ,b ); output a ; input 6:0b; reg2:0 sum; integer i; reg a ; always (b) begin sum =0; for(i =0;i=6;i=i+1) if(bi

33、) if(sum2)a =1; sum = sum+1; else a = 0; end en dmodule module AAA a ,b J; OU-tpUL 2 iityjut fi O t r*g?,仃-airtt; imen i:; rg a hIjb严空e I tjegui sti/n 0: 宦-乂税块名为aaa?描口再芜b 7F义工为楠出端口 短烫b屮)愉岀抽口. b旳了位二逬制裁 切怕坦貝童,用于疏计霍审庄I?.尅 :itX整型斤為AS环控制志呈 宦兴a向寄存器我里 过程诒白b戲咼死蚩为B Wim卞打值为0 fcwi 0;i*百;i i*l y 毎计力1的个杓 茶件语旬 su

34、m sum1. 只芸有 人損轉成票,5M 如i ,忙皿诃习 a- 1;若趙过斗人礁戍+ .刚表决通P else a - o: 若命I4UM不诵过 7. 设计一个带有异步复位控制端和时钟使能控制端的10进制计数器。端口设定如 下:输入端口: CLK时钟,RST:复位端,EN:时钟使能端,LOAD置位控制端,DIN: 置位数据端;输出端口: COUT进位输出端,DOUT计数输出端。 module cn t10 (clk,rst,e n,loat,cout,dout,data); in put clk ; in put en ; in put rst ; in put load ; in put 3

35、:0 data ; output 3:0 dout ; output cout ; reg 3:0 q1 ; reg cout ; assig n dout = q1; always (posedge clk or n egedge rst) begi n if (!rst) q1 = 0; else if (en) begin if (!loat) q1 = data; else if (q19) q1 = q1+1; else q1 f control 对絆口 k dfaull: SdispJayChivalid cmilrol 斫甲1自1附); cndrasi; dmodule case

36、(s1,s0) 2 bOO:out=iO; 2 b01:out=i1; 2 b10:out=i2; 2 b11:out=i3; 9. 标注各语句功能,指出整个程序完成的电路功能。 /带同步清0/同步置1(低电平有效)的D触发器 module dff_syn(q,qn,d,clk,set,reset);/ 定义模块为 diff_syn, 端口为 q,qn, d,clk,set,reset in put d,clk,set,reset; output reg q,qn; /定义端口 d,clk,set,reset 为输入端 口 ,reg,q,q n 为输出端口 always (posedge cl

37、k) / 对clk信号上升沿有效 begin if(reset) begin q=1b0;qn=1b1;end/ 同步清零,低电平有效 else if(set) begin q=1b1;q*=1b0;end /同步置位,低电平有效 else begi n q=d; qn=d; end q输出为d, qn输出为非d; end en dmodule / 模块结束 10. 根据图3给定的两个2位全加器信号关系及实现的4位全加器功能部分程序,在下列部 分程序中的横线上填入必要语句,实现4位全加器的完整功能。 /底层4位全加器程序 module add2(ai,bi,ci,sum,cout); in put 1:Oai,bi;i nput ci; output 1:0sum; reg 1:0sum; output cout;reg co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论