2013自动化EDA复习题
发布时间:2024-11-17
发布时间:2024-11-17
自动化
填空题
1.是EDA技术的重要组成部分,是电子系统硬件行为描述、结构描述、数据描述的语言。他的种类很多,如VHDL、Verilog HDL、AHDL。
2.CPLD是基于乘积项的可编程结构,即由可编程的与阵列和固定的或阵列来完成功能。而FPGA
3.Verilog HDL4种不同数制来表示。
4.在VerilogHDL
5.Veriloghdl 模块的I/O(input)、输出(output)和双向(inout)。
6.FPGA个SRAM结构的配置存储单元组成。
7.
8.EDA设计验证。
9.对综合而言,VerilogHDL的wire型变量的取值可以是
10.如果VerilogHDL操作符的操作数只有1个,如果操作符的操作数有2个,称为双目操作;如果操作符的操作数有3个,称为三目操作。
11.QuartusII
12.erilogHDL中,register型变量有reg、integer、rea和time4种。
13.VerilogHDL
14.VerilogHDL
15.在VerilogHDL
16.VerilogHDL的连续赋值语句的关键字是=。
17.在VerilogHDL
18.VerilogHDL的alwaysalways
19.在VerilogHDL模块中,任务用来单独完成某项任务,并被模块或其他任务调用。
20.VerilogHDL的语句中,系统对表达式的值进行判断,若为01,则按真处理。
21.一个完整的VerilogHDL22.Verilog模块可以分为两种类型:一种是为了让模块最终能生成电路的结构,另一种只是为了测试所设计电路的逻辑功能是否正确。
23.在VerilogHDL中,使用使用关键字声明事件是由输入信号的下降沿触发的。
简单题
1、元件例化语句的作用是什么?
答:元件例化语句作用:把已经设计好的设计实体称为一个元件或一个模块,它可以被高层次的设计引用,是使Verilog HDL设计构成自上而下层次设计的重要途径。
2、Verilog HDL的操作符有哪几类?
答:Verilog HDL提供了丰富的运算操作符,其中包括逻辑操作符、算术操作符、关系操作
自动化
符、等式操作符、条件操作符、位操作符、缩位操作符、移位操作符和拼接操作符等9类。
3、简述层次结构设计的优点。
答:层次化设计是一种模块化的设计方法,设计人员对设计的描述由上而下逐步展开,符合常规的思维习惯;由于顶层设计与具体的器件和工艺无关,因此易于在个种可编程逻辑器件中间进行移植。
层次化的设计方法可以使多个设计人员同时进行操作,有利于对设计任务进行合理的分配并用系统工程的方法对设计进行管理。
4、在数字系统设计中锁定引脚的作用是什么?
答:将设计文件中的输入、输出信号定位到所选器件的具体物理管脚。
5、简述自顶向下的设计指思想。
答:自顶向下的设计指的是将一个大规模的数字电路系统从功能上化为若干个不相交的子模块,每个子模块又可以根据需要在功能上化为若干个二级子模块,依此类推,直到功能模块小到比较容易实现为止。
6、简述使用always描述组合逻辑电路的规则
答:在描述组合逻辑电路时,always在使用上有以下几个特点(或者说是规则);
1)在敏感列表中使用电平敏感事件,不要使用边沿敏感。
2)为变量赋值的使用阻塞赋值,不要使用非阻塞赋值。
另外,在always块内被赋值的变量必须为寄存器型变量。因此尽管在组合逻辑中不包含任何记忆单元,但是如果变量需要在always块内被赋值,就必须定义为寄存器型,这并不表示所描述的数字电路系统中包含有记忆元件。
7、系统任$stop和$finish的区别是什么?
答:系统任务$stop和$finish的区别是,系统任务$stop用于暂停仿真,系统$finish用于结束仿真。
$stop是仿真进入一种交互模式,设计者可以在此模式些对设计进行调试,当设计者想要暂停仿真来检查信号的值时,可以使用这个系统........
8、VerilogHDL的基本单元----模块主要包括哪些内容?主要作用是什么?
答:模块(module)是veriloghdl对数字电路系统建模的基本单元,每个模块包括模块名称、端口列表、端口类型列表、内部变量定义以及逻辑功能描述等几个部分。
模块名称:模块取一个和其功能相关的名字
端口列表:模块的输入和输出端口
端口类型列表:定义各个端口的方向(如输入端口、输出端口和双向端口)
内部变量定义:内部变量可以使程序变得更有条理
逻辑功能描述:是一个模块的主体,它描述了模块的输出信号和输入信号的逻辑关系
9、使用timescale编译器指令的目的是什么?举例子
答:timescale 1ns/100ps
此语句说明延时时间单位为1ns并且时间精度为100ps(时间精度是指所有的延时必须被限定在0.1ns内)。如果此编译器指令所在的模块包给上面的连续赋值语句,#2代表2ns。
10、UDP代表什么?
答:用户定义原语(UDP)创建的灵活性。用户定义的原语既可以是组合逻辑原句,也可以是时序逻辑原语
11、写出两个编辑们的名称
答:基本逻辑门,例如and or 和nand等都内置在语句中
12、Verilog HDL中的两类主要数据类型是什么
答:verilog hdl 中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间
自动化
的物理连线,而寄存器类型表示抽象的数据储存原件
13、阻塞性赋值和非阻塞性赋值有何区别
答:阻塞赋值使用“=”为变量赋值,在赋值结束以前不可以进行其他操作,在赋值结束后继续后面的操作。这个过程就好像阻断了程序的运行,因而被称为阻塞赋值。连续的阻塞赋值操作时顺序完成的。非阻塞赋值使用“<=”为变量赋值,在执行到赋值语句时,仅仅对“<=”右侧的表达式的值进行评估,但并不马上执行赋值,然后继续执行后面的操作。这个过程就好像没有阻断程序的运行,因而被称为非阻塞赋值。连续的非阻塞赋值操作时同时完成的。多条阻断赋值语句是顺序执行的,而多条非阻塞语句是并行执行的,这就是两者的区别。
14、verilog HDL支持哪三种基本描述方式
答:用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模
15、可以使用verilog HDL描述一个设计的时序吗
答:用户定义原语(UDP)创建的灵活性,用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语
16、在数据流描述方式中使用什么语句描述一个设计
答:用数据流描述方式对一个设计建模的最基本的机制就是使用连续赋值语句。在连续赋值语句中,某个值被指派给线网变量。连续赋值语句的语法为:assign[delay]LHS_net=RHS_expression; 右边表达式RHS_expression使用的操作数无论何时发生变化,右边表达式都重新计算,并且在指定的时延后变化值都被赋予左边表达式LHS_net的网线变量。时延定义了右边表达式操作数变化与赋值给左边表达式之间的持续时间。如果没有定义时延值delay,缺省时延为...
17、什么事硬件描述语言,它的主要作用是什么
答:硬件描述语言HDL是一种用形式化方法来描述数字电路和系统的语言。数字电路系统的设计者利用这种语言可以从上层到下层(从抽象到具体),逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统
18、目前常用的HDL硬件描述语言有几种,各有什么特点
答:目前常用的HDL主要有:vhdl、verilog HDL、system verilog、system C;verilog成为基层电路建模与设计中最流行的硬件描述语言,vhdl是在高层次上描述系统和元件的行为建模工具,system verilog主要定位于集成电路的实现和验证,并为系统级设计提供强大的链接能力,主要用于(电子系统级)建模与验证。
19什么事综合,有哪些类型,综合在电子设计自动化中的地位是什么
答:综合就其字面含义应该为:吧抽象的实体结合成单个或统一的实体。在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。有几种类型:1从自然语言转换到verilog语言算法表示,即自然语言综合。2从算法表示转换到寄存器传输级(RTL),即从行为域到结构域的综合,即行为综合。3从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。4从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中的地位是核心地位(1-3)。综合器具有更复杂的工作环境,综合器在接受verilog程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及...优化综合的诸多约束条件信息:根据工艺库和约束条件信息,将verilog程序转化成电路实现的相关信息。
20、IP是什么,IP与EDA技术的关系是什么
答:IP是知识产权核或知识产权模块,在EDA技术开发中具有十分重要的地位。美国著名
自动化
的Dataquest咨询公司将半导体产业的IP定义为“用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块”。
IP主要分为软IP,固IP,硬IP
软IP:用verilog/vhdl等硬件描述语言描述的功能块,但是并不涉及用什么电路元件实现这些功能。
固IP:固IP是完成了综合的功能块。它具有较大的设计深度,以网表文件的形式提交客户使用。如果客户与固IP使用同一个IC生产线的单元库,IP应用的成功率会高得多。 硬IP:硬IP提供设计的最终阶段产品:掩膜。
21、wire型变量与reg变量有什么本质区别,它们可用于什么类型语句中
答:P261-262 verilog HDL数据类型
线网(wire)表示硬件单元之间的连接。就像在真实的电路中一样,线网由其连接器件的输出端连续驱动。线网不能储存值,而且它必须受到驱动器(例如门或连续赋值语句,assign)的驱动,如果没有驱动源,则线网的值为z。
Reg寄存器用来表示储存元件,它保持原有的数据,通过赋值语句可以改变寄存器储存的值,其作用与改变触发器储存的值相当。Reg类型数据的默认初始值为不定值x。
定义为net型的变量常被综合为硬件电路中的物理连接,其特点是输出的值紧跟输入值得变化而变化,因此常被用来表示以assign关键词引导的组合电路描述。
Register类型变量必须放在过程语句中,如initial、always引导的语句中,通过过程赋值语句(包括阻塞与非阻塞语句)完成赋值操作,换言之,在always和initial等过程结构内被赋值的变量必须定义成..Variable.类型。
22、阻塞赋值和非阻塞赋值有何区别
答:verilog中,用普通等号“=”作为阻塞式赋值语句的赋值符号,如y=b
Verilog中,用普通等号“<=”作为非阻塞式赋值语句的赋值符号,如y<=b
阻塞式赋值的特点是,一旦执行完当前的赋值语句,赋值目标变量y即刻获得来自等号右侧表达式的计算值。如果在一个快语句中含有多条阻塞式赋值语句,则当执行到其中某条赋值语句时,其他语句将禁止执行,即如同被阻塞了一样。
非阻塞式赋值的特点是必须在快语句执行结束时才整体完成赋值操作。非阻塞的含义可以理解为在执行当前语句时,对于块中的其他语句的执行情况一律不加限制,不加阻塞。这也可以理解为,在begin_end块的所有赋值语句都可以并行运行。
23、简单叙述任务与函数的不同点
答:任务和函数有些不同,主要的不同有一下4点
1函数只能与主模块共用一个仿真时间单位,而任务可以定义自己的仿真时间单位。 2函数不能启动任务,而任务能启动其他任务和函数。
3函数至少要有一个输入变量,而任务可以没有或有多个任何类型的变量。
4函数返回一个值,而任务则不返回值。