好文档 - 专业文书写作范文服务资料分享网站

EDA技术题库

天下 分享 时间: 加入收藏 我要投稿 点赞

EDA技术题库一.填空题

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 input a,b,c; ……. 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技术进行电子系统设计的目标是最终完成ASIC的设计与实现。 28. 可编程器件分为 CPLD和FPGA。 29. 随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog 设计当中。

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

31. 完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。 32. 阻塞性赋值符号为 = ,非阻塞性赋值符号为 <= 。 33.有限状态机分为Moore和Mealy两种类型。 34、EDA缩写的含义为电子设计自动化(Electronic Design Automation) 35.状态机常用状态编码有二进制、格雷码和独热码。 36.Verilog HDL中任务可以调用其他任务和函数。

37.系统函数和任务函数的首字符标志为 $ ,预编译指令首字符标志为 # 。 38.可编程逻辑器件的优化过程主要是对速度和资源的处理过程。 39、大型数字逻辑电路设计采用的IP核有软IP、固IP和硬IP。

二.简答题

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

HDL 答:①从自然语言说明到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;

x为wire型 always@(posegde clk)

y为reg或wire型 begin

cnt为reg型 cnt=m+1;

m为reg或wire型 q=~q;

q为reg型 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.简述基于数字系统设计流程包括哪些步骤?

包括五个步骤:

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

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

⑶、布局布线:将综合生成的电路网表映射到具体的目标器件中,并产生最终可下载文件的过程。

⑷、仿真:就是按照逻辑功能的算法和仿真库对设计进行模拟,以验证设计并排除错误

EDA技术题库

EDA技术题库一.填空题1.Verilog的基本设计单元是模块。它是由两部分组成,一部分描述接口;另一部分描述逻辑功能,即定义输入是如何影响输出的。2.用assign描述的语句我们一般称之为组合逻辑,并且它们是属于并行语句,即于语句的书写次序无关。而用always描述的语句我们一般称之为组合逻辑或时序逻辑,并且它们是属于串行语句,即于语句的书写有关。
推荐度:
点击下载文档文档为doc格式
5ryoe4wiol47le14lopx1jxus0hl5300vvp
领取福利

微信扫码领取福利

微信扫码分享