verilog 复习

verilog 复习
verilog 复习

1.下列所描述的为V erilog有效标识符的是(a)。

A. _bus3

B. 34net

C. a*b_net

D. n@238

2.用V erilog HDL的assign语句建模的方法一般称为( a )。

A. 连续赋值

B. 并行赋值

C. 串行赋值

D. 函数赋值

3.Verilog HDL的always块语句中的语句是(a)。

A. 顺序

B. 并行

C. 顺序或并行

D. 串行

4.执行QuartusⅡ的( c )命令,可以对设计代码进行编译。

A. Create Default Symbol

B. Simulator

C. Compiler

D. Timing Analyzer

5.引脚锁定后进行(b)才可以下载到FPGA/CPLD芯片。

A. 编辑

B. 编译

C.功能仿真

D.时序仿真

6.Verilog HDL定义了一系列保留字,叫关键词,下面哪一个不属于关键词( b )

A. input

B. Wire

C. begin

D.reg

7.信号没有定义数据类型时,缺省为(b )类型。

A. reg

B.wire

C.tri

D.不可用

8.寄存器在赋新值前保持(c )

A. 0

B.1

C.x

D.原值

9.不完整的IF语句,其综合结果可实现( d )

A.三态控制电路

B.条件相或的逻辑电路

C.双向控制电路

D.时序逻辑电路

11.将设计的系统或电路按照EDA开发软件要求的某种形式表示出来,并送入计算机的过程称为( 1 )。

①设计输入②设计输出③仿真④综合

12.一般把EDA技术的发展分为( 2 )个阶段。

①2 ② 3 ③ 4 ④5

13.AHDL属于( 1 )描述语言。

①普通硬件②行为③高级④低级

14.VHDL属于( 2 )描述语言。

①普通硬件②行为③高级④低级

15.包括设计编译和检查、逻辑优化和综合、适配合分割、布局和布线、生成编成数据文件等操作的过程称为( 2 )。

①设计输入②设计处理③功能仿真④时序仿真

16.在设计输入完成之后,应立即对设计文件进行( 2 )。

①编辑②编译③功能仿真④时序仿真

17.在设计处理过程中,可产生供器件编程使用的数据文件,对于CPLD来说是产生( 1 )文件。

①熔丝图②位流数据③图形④仿真

18.在设计处理过程中,可产生供器件编程使用的数据文件,对于FPGA来说是产生( 2 )文件。

①熔丝图②位流数据③图形④仿真

19.VHDL是在( 2 )年正式推出的。

①1983 ②1985 ③1987 ④1989

20.Verilog HDL是在( 1 )年正式推出的。

①1983 ②1985③1987 ④1989

21.在C语言的基础上演化而来的硬件描述语言是( 2 )

①VHDL ②Verilog HDL ③AHL ④CPUL

22.基于PLD芯片的设计称之为( 1 )的设计。

①自底向上②自顶向下③积木式④顶层

23.基于硬件描述语言HDL的数字系统设计目前最常用的设计法称为( 2 )设计法。

①自底向上②自顶向下③积木式④顶层

24.在EDA 工具中,能将硬件描述语言转化为硬件电路的重要工具软件称为( 2 )。

①仿真器②综合器③适配器④下载器

25.在EDA 工具中,能完成在目标系统器件上布局布线软件称为( 3 )。

①仿真器②综合器③适配器④下载器

26、不属于PLD基本结构部分的是(c)。

A、与门阵列

B、或门阵列

C、与非门阵列

D、输入缓冲器

27、在下列器件中,不属于PLD的器件是(c)。

A、PROM

B、PAL

C、SRAM

D、PLA

28、在下列可编程逻辑器件中,不属于高密度的是(d)。

A、EPLD

B、CPLD

C、FPGA

D、PAL

29、在下列可编程逻辑器件中,不属于低密度的是(b)。

A、PROM

B、CPLD

C、GAL

D、PAL

30、在下列可编程逻辑器件中,属于易失性器件的是(c)。

A、PROM

B、CPLD

C、FPGA

D、PAL

31、ispLSI器件中的GLB是指(b)。

A、全局布线区

B、通用逻辑块

C、输出布线区

D、输出控制单元

32. EPF10K20TC144-4具有多少个管脚(a) 。

A. 144个

B. 84个

C. 15个

D. 不确定

33. EPF10K20TC144-X器件,如果X的值越小表示 (c) 。

A. 器件的工作频率越小

B. 器件的管脚越少

C. 器件的延时越小

D. 器件的功耗越小

35. 在EDA工具中,能将硬件描述语言转换为硬件电路的重要工具软件称为 (b) 。

A.仿真器

B.综合器

C.适配器

D.下载器

36、EDA的中文含义是(a) 。

A、电子设计自动化

B、计算机辅助计算

C、计算机辅助教学

D、计算机辅助制造

37、 Verilog HDL属于(b) 描述语言。

A普通硬件B行为 C高级D低级

38、如果a=0,b=1,则逻辑表达式(a^ b)^(! b & a)的值为(b) 。

A. 0

B. 1

C. 2

D. 不确定

39、过程语句中,对非阻塞赋式值语句,其变量更新是(c) 。

A 立即完成

B 按顺序完成

C 在进程的最后完成

D 都不对

40在下列器件中,不属于PLD的器件是(c) 。

A、PROM

B、PAL

C、SRAM

D、PLA

41在Verilog HDL中,过程语句结构内部是由(a) 语句组成的。

A. 顺序

B. 顺序和并行

C. 并行

D.任何

42、定义变量:reg [3:0] A,执行语句A<=8’hAC后,A的值等于(d) 。

A.“1011” B. “1101” C. “1001” D. “1100”

43、V erilogHDL文本编辑中编译时出现如下的报错信息:

、Error: VHDL Design File “mux21”must contain an entity of the same name

其错误原因是c() 。

A. 错将设计文件的后缀写成.tdf 而非.v。

B. 错将设计文件存入了根目录,并将其设定成工程。

C. 设计文件的文件名与实体名不一致。

D. 程序中缺少关键词。

45、在Verilog HDL中,可以用语句(b) 表示检测clock下降沿。

A.posedge clock

B.negedge clock

C.clock=‘0’

D.clock =‘1’

42、综合是EDA设计流程的关键步骤,在下面对综合的描述中,( d ) 是错误的。

A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程。

B.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件。

C.为实现系统的速度等性能的要求,需对综合加以约束,称为综合约束。

D.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)。

一、填空题

1、集成度是集成电路一项很重要的指标,可编程逻辑器件按集成密度小于或大于(500门),可分为(低密度可编程逻辑器件)和(高密度可编程逻辑器件)两大类。

2、高密度可编程逻辑器件HDPLD包括(EPLD)、(CPLD)、(FPGA)三种。

3、按结构分类,PLD分为(CPLD)和(FPGA)两大类。其中(CPLD)基于EPROM、E2PROM和快闪存储器件,系统断电后编程信息(不丢失);(FPGA)采用SRAM结构,系统掉电后编程信息(丢失)。

4、可编程逻辑器件中至少包含(可编程逻辑宏单元)、(I/O单元)、(和内部连线)三种结构。

5、ISP是指(在系统可编程技术)。

6. PAL的结构与阵列___________,或阵列__________。

8.2000年推出的Pentium4微处理器芯片的集成度达( 4200 )万只晶体管。

9.一般把EDA技术的发展分为(CAD)、( CAE )和( EDA )三个阶段。

10.在EDA发展的(CAD )阶段,人们只能借助计算机对电路进行模拟、预测,以及辅助进行集成电路版图编辑、印刷电路板(PCB)布局布线等工作。

11.在EDA发展的( CAE )阶段,人们可以将计算机作为单点设计工具,并建立各种设计单元库,开始用计算机将很多单点工具集成在一起使用。

12.EDA设计流程包括(设计准备)、(设计输入)、(设计处理)和(器件编程)四个步骤。

13.EDA的设计验证包括(功能仿真)、(时序仿真)和(器件测试)三个过程。

14.EDA的设计输入主要包括(文本输入方式)、(图形输入方式)和(波形输入方式)。

15.文本输入是指采用(硬件描述语言)进行电路设计的方式。

16.功能仿真是在设计输入完成之后,选择具体器件进行编译之前进行的逻辑功能验证。前仿真

17.时序方针是在选择了具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为(后仿真)或(延时仿真)。

18.当前最流行的并成为IEEE标准的硬件描述语言包括( VHDL )和(Verilog HDL )。

19.采用PLD进行的数字系统设计,是基于芯片的设计或称之为(自底向上)的设计。

20.硬件描述语言HDL给PLD和数字系统的设计带来了更新的设计方法和理念,产生了目前最常用的并称之为(自顶向下)的设计法。

21.EDA工具大致可以分为(设计输入编译器)、(仿真器)、(HDL综合器)、(适配器)以及(下载器)等5个模块。

22.将硬件描述语言转化为硬件电路的重要工具软件称为( HDL综合器)。

EDA的设计输入主要包括(文本输入)和(图形输入)。

Verilog HDL中变量类型有(寄存器型)(网线型)。

23.在Verilog HDL语言中,当a=101,b=001,则:a+b=(),{a,b}=()。

24.当双向端口在完成输入的时,必须使原来呈输出模式的端口呈(),否则,待输入的外部数据势必会与端口处原有电平发生()。

25、可编程逻辑器件的英文简称是()。

26、硬件描述语言HDL给PLD和数字系统的设计带来了更新的设计方法和理念,产生了目前最常用的并称之为(自顶向下)的设计法。

27、在Verilog HDL语言中,仿真包括(功能仿真)(时序仿真)。

28、当前最流行的并成为IEEE标准的硬件描述语言包括(VHDL )、(Verilog HDL )。

Verilog设计练习十例及答案

设计练习进阶 前言: 在前面九章学习的基础上,通过本章的练习,一定能逐步掌握Verilog HDL设计的要点。我们可以先理解样板模块中每一条语句的作用,然后对样板模块进行综合前和综合后仿真,再独立完成每一阶段规定的练习。当十个阶段的练习做完后,便可以开始设计一些简单的逻辑电路和系统。很快我们就能过渡到设计相当复杂的数字逻辑系统。当然,复杂的数字逻辑系统的设计和验证,不但需要系统结构的知识和经验的积累,还需要了解更多的语法现象和掌握高级的Verilog HDL系统任务,以及与C语言模块接口的方法(即PLI),这些已超出的本书的范围。有兴趣的同学可以阅读Verilog语法参考资料和有关文献,自己学习,我们将在下一本书中介绍Verilog较高级的用法。 练习一.简单的组合逻辑设计 目的: 掌握基本组合逻辑电路的实现方法。 这是一个可综合的数据比较器,很容易看出它的功能是比较数据a与数据b,如果两个数据相同,则给出结果1,否则给出结果0。在Verilog HDL中,描述组合逻辑时常使用assign 结构。注意equal=(a==b)1:0,这是一种在组合逻辑实现分支判断时常使用的格式。 模块源代码: " qual(equal),.a(a),.b(b)); 简单时序逻辑电路的设计 目的:掌握基本时序逻辑电路的实现。

在Verilog HDL中,相对于组合逻辑电路,时序逻辑电路也有规定的表述方式。在可综合的Verilog HDL模型,我们通常使用always块和@(posedge clk)或@(negedge clk)的结构来表述时序逻辑。下面是一个1/2分频器的可综合模型。 eset(reset),.clk_in(clk),.clk_out(clk_out)); endmodule 仿真波形: 练习:依然作clk_in的二分频clk_out,要求输出与上例的输出正好反相。编写测试模块,给出仿真波形。 练习三. 利用条件语句实现较复杂的时序逻辑电路 目的:掌握条件语句在Verilog HDL中的使用。 与常用的高级程序语言一样,为了描述较为复杂的时序关系,Verilog HDL提供了条件语句供分支判断时使用。在可综合风格的Verilog HDL模型中常用的条件语句有if…else和case…endcase两种结构,用法和C程序语言中类似。两者相较,if…else用于不很复杂的分支关系,实际编写可综合风格的模块、特别是用状态机构成的模块时,更常用的是case…endcase 风格的代码。这一节我们给的是有关if…else的范例,有关case…endcase结构的代码已后会经常用到。 下面给出的范例也是一个可综合风格的分频器,是将10M的时钟分频为500K的时钟。

Verilog HDL设计练习

Verilog HDL设计练习进阶(一) 练习一.简单的组合逻辑设计 目的:掌握基本组合逻辑电路的实现方法。 这是一个可综合的数据比较器,很容易看出它的功能是比较数据a与数据b,如果两个数据相同,则给出结果1,否则给出结果0。在Verilog HDL中,描述组合逻辑时常使用assign结构。注意equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格式。 模块源代码: //--------------- compare.v ----------------- module compare(equal,a,b); input a,b; output equal; assign equal=(a==b)?1:0; //a等于b时,equal输出为1;a不等于b时, //equal输出为0。 endmodule 测试模块用于检测模块设计得正确与否,它给出模块的输入信号,观察模块的内部信号和输出信号,如果发现结果与预期的有所偏差,则要对设计模块进行修改。 测试模块源代码: `timescale 1ns/1ns //定义时间单位。 `include "./compare.v" //包含模块文件。在有的仿真调试环境中并不需要此语句。 //而需要从调试环境的菜单中键入有关模块文件的路径和名称module comparetest; reg a,b; wire equal; initial //initial常用于仿真时信号的给出。 begin a=0; b=0; #100 a=0; b=1; #100 a=1; b=1; #100 a=1; b=0; #100 $stop; //系统任务,暂停仿真以便观察仿真波形。 end compare compare1(.equal(equal),.a(a),.b(b)); //调用模块。 endmodule 仿真波形(部分):

VerilogHDL设计练习

'■匚织川昭1二絶匸A Verilog HDL 设计练习进阶(一) 练习一?简单的组合逻辑设计 目的:掌握基本组合逻辑电路的实现方法。 这是一个可综合的数据比较器,很容易看出它的功能是比较数据 a 与数据 b ,如果两个数据 相同,则给出结果 1否则给出结果0。在Verilog HDL 中,描述组合逻辑时常使用 assign 结 构。注意 equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格式。 模块源代码: // -------------- compare.v ----------------- module compare(equal,a,b); in put a,b; output equal; assign equal=(a==b)?1:0; //a 等于 b 时,equal 输出为 1 ; a 不等于 b 时, //equal 输出为0。 en dmodule 测试模块用于检测模块设计得正确与否,它给出模块的输入信号,观察模块的内部信号和 输出信号,如果发现结果与预期的有所偏差,则要对设计模块进行修改。 compare compare1(.equal(equal),.a(a),.b(b)); // en dmodule 仿真波形(部分) 测试模块源代码: 'timescale 1ns/1ns // 'in elude "./compare.v" // // module comparetest; reg a,b; wire equal; in itial //in itial begin a=0; b=0; #100 a=0;b=1; #100 a=1;b=1; #100 a=1;b=0; #100 $stop; // end 定义时间单位。 包含模块文件。在有的仿真调试环境中并不需要此语句。 而需要从调试环境的菜单中键入有关模块文件的路径和名称 常用于仿真时信号的给出。 系统任务,暂停仿真以便观察仿真波形。 调用模块。

Verilog设计练习十例及答案

设计练习进阶 前言: 在前面九章学习得基础上, 通过本章得练习,一定能逐步掌握Verilog HDL设计得要点。我们可以先理解样板模块中每一条语句得作用,然后对样板模块进行综合前与综合后仿真,再独立完成每一阶段规定得练习。当十个阶段得练习做完后,便可以开始设计一些简单得逻辑电路与系统。很快我们就能过渡到设计相当复杂得数字逻辑系统。当然,复杂得数字逻辑系统得设计与验证,不但需要系统结构得知识与经验得积累,还需要了解更多得语法现象与掌握高级得Verilog HDL系统任务,以及与C语言模块接口得方法(即PLI),这些已超出得本书得范围。有兴趣得同学可以阅读Verilog语法参考资料与有关文献,自己学习,我们将在下一本书中介绍Verilog较高级得用法。 练习一.简单得组合逻辑设计 目得: 掌握基本组合逻辑电路得实现方法。 这就是一个可综合得数据比较器,很容易瞧出它得功能就是比较数据a与数据b,如果两个数据相同,则给出结果1,否则给出结果0。在Verilog HDL中,描述组合逻辑时常使用assign 结构。注意equal=(a==b)?1:0,这就是一种在组合逻辑实现分支判断时常使用得格式。 模块源代码: // pare、v module pare(equal,a,b); input a,b; output equal; assign equal=(a==b)?1:0; //a等于b时,equal输出为1;a不等于b时, //equal输出为0。 endmodule 测试模块用于检测模块设计得正确与否,它给出模块得输入信号,观察模块得内部信号与输出信号,如果发现结果与预期得有所偏差,则要对设计模块进行修改。 测试模块源代码: `timescale 1ns/1ns //定义时间单位。 `include "、/pare、v" //包含模块文件。在有得仿真调试环境中并不需要此语句。 //而需要从调试环境得菜单中键入有关模块文件得路径与名称 module paretest; reg a,b; wire equal; initial //initial常用于仿真时信号得给出。 begin a=0; b=0; #100 a=0; b=1; #100 a=1; b=1; #100 a=1; b=0; #100 $stop; //系统任务,暂停仿真以便观察仿真波形。 end pare pare1(、equal(equal),、a(a),、b(b)); //调用模块。

相关主题
相关文档
最新文档