verilog-hdl标准答案

上传人:876****10 文档编号:147157885 上传时间:2020-10-07 格式:DOC 页数:37 大小:178KB
返回 下载 相关 举报
verilog-hdl标准答案_第1页
第1页 / 共37页
verilog-hdl标准答案_第2页
第2页 / 共37页
verilog-hdl标准答案_第3页
第3页 / 共37页
verilog-hdl标准答案_第4页
第4页 / 共37页
verilog-hdl标准答案_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《verilog-hdl标准答案》由会员分享,可在线阅读,更多相关《verilog-hdl标准答案(37页珍藏版)》请在金锄头文库上搜索。

1、第1章 简介 1.Verilog HDL是在哪一年首次被IEEE标准化的?Verilog HDL是在1995年首次被IEEE标准化的。2.Verilog HDL支持哪三种基本描述方式Verilog HDL可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式使用过程化结构建模;数据流方式使用连续赋值语句方式建模;结构化方式使用门和模块实例语句描述建模3.可以使用Verilog HDL描述一个设计的时序吗?Verilog HDL可以清晰的建立时序模型,故可以使用Verilog HDL描述一个设计的时序。4.语言中的什么特性能够用于描述参数化设计?在行为级描述中, Verilog HD

2、L不仅能够在RT L级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述,而且能够使用门和模块实例化语句在结构级进行结构描述,这种特性可用于描述参数化设计。5.能够使用Verilog HDL编写测试验证程序吗?能,可以编写testbench来对编写的程序进行验证。6.Verilog HDL是由哪个公司最先开发的?Verilog HDL是由Gateway Design Automation公司最先开发的7.Verilog HDL中的两类主要数据类型是什么?线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。8.UDP代表什么?UDP代

3、表用户定义原语9.写出两个开关级基本门的名称。pmos nmos10.写出两个基本逻辑门的名称。and or第2章 HDL指南1. 在数据流描述方式中使用什么语句描述一个设计?设计的数据流行为使用连续赋值语句进行描述2. 使用 t i m e s c a l e 编译器指令的目的是什么?举出一个实例。使用编译指令将时间单位与物理时间相关联。例如 timescale 1ns /100ps 此语句说明时延时间单位为1ns并且时间精度为100ps (时间精度是指所有的时延必须被限定在0.1ns内)3. 在过程赋值语句中可以定义哪两种时延?请举例详细说明。1) 语句间时延: 这是时延语句执行的时延。例

4、:S u m = (A B) C i n;#4 T 1 = A & C i n;在第二条语句中的时延规定赋值延迟4个时间单位执行2) 语句内时延: 这是右边表达式数值计算与左边表达式赋值间的时延。例:S u m = #3 (A B) C i n;这个赋值中的时延意味着首先计算右边表达式的值, 等待3个时间单位,然后赋值给S u m。4. 采用数据流描述方式描述图2 - 4中所示的1位全加器。module FA_Seq(A, B, Cin, Sum, Cout) ;input A, B, Cin ;output Sum, Cout;wire T1, T2, T3,S1;assign T1 = A

5、 & Cin;assign T2 = B & Cin;assign T3 = A & B;assign S1=AB;assign Sum=S1Cin;assign Cout= (T 1| T 2) | T 3;endmodule4. initial语句与always 语句的关键区别是什么?1) initial语句:此语句只执行一次。2) always语句:此语句总是循环执行, 或者说此语句重复执行。6. 写出产生图2 - 1 0所示波形的变量B u l l s E y e的初始化语句。timescale 1ns / 1nsmodule Test (BullsEye) ;output Bulls

6、Eye;reg BullsEye;initialbeginBullsEye = 0;BullsEye=#2 1;BullsEye=#1 0;BullsEye=#9 1;BullsEye=#10 0;BullsEye=#2 1;BullsEye=#3 0;BullsEye=#5 1;endendmodule7. 采用结构描述方式描写图2 - 2中所示的2 - 4译码器。module Decoder2x4(A, B, EN, Z) ;input A,B,EN;output 0:3 Z;wire Abar, Bbar;notv0(Abar,A),v1(Bbar,B);nandN0(Z0,Abar,B

7、bar,EN),N1(Z1,Abar,B,EN),N2(Z2,A,Bbar,EN),N3(Z3,A,B,EN);endmodule8. 为2 . 3节中描述的模块Decode2X4编写一个测试验证程序。module Tes;reg TA,TB,TEN;wire 0:3TZ;Decoder2x4 DT2x4(TA,TB,TEN,TZ);initialbegin$monitor($time,A=%b,B=%b,EN=%b,Z=%b,TA,TB,TEN,TZ);endinitialbeginTA=0;TB=0;TEN=0;#5 TA=1;TB=1;#5 TEN=1;#5 TA=0;TB=0;#5 T

8、A=0;TB=1;#5 TA=1;TB=0;endendmodule9. 列出你在Verilog HDL模型中使用的两类赋值语句。连续赋值语句assign,阻塞赋值语句=1 0. 在顺序过程中何时需要定义标记?顺序过程内有局部声明的变量时,初始化语句中的顺序过程必须标记。11. 使用数据流描述方式编写图2 - 11所示的异或逻辑的Verilog HDL描述,并使用规定的时延。module XORL(A,B,Z);input A,B;output Z;wire Abar,Bbar,Z1,Z2;assign #1 Bbar=B;assign #1 Abar=A;assign #5 Z1=A&Bba

9、r;assign #5 Z2=B&Abar;assign #4 Z=Z1|Z2;endmodule12. 找出下面连续赋值语句的错误。assign Reset = #2 WriteBus;不符合连续赋值语句的语法,应该为:assign #2 Reset = WriteBus;第3章 Verilog 语言要素 1.下列标识符哪些合法,哪些非法?COunT, 1_2 Many, *1, Real?, wait, Initial答:COunT合法,1_2 Many非法,*1,Real?非法,wait合法,Initial合法2. 系统任务和系统函数的第一个字符标识是什么?答:$3.举例说明文本替换编译

10、指令?答: define指令用于文本替换,它很像C语言中的#define指令,如: define MAX_BUS_SIZE 32. . .reg MAX_BUS_SIZE - 1:0 AddReg;4.在Verilog HDL 中是否有布尔类型?答:没有5下列表达式的位模式是什么?7o44 位八进制数, Bx0位二进制数, 5bx110位二进制数, hA0位十六进制数, 10d2位十进制数, hzF位十六进制数6.赋值后存储在Qpr中的位模式是什么?reg 1:8*2 Qpr;. . .Qpr = ME ;答:变量需要8 * 2位7.如果线网类型变量说明后未赋值,其缺省值为多少?答:z8.Ve

11、rilog HDL 允许没有显示说明的线网类型。如果是这样,怎样决定线网类型?答:在Verilog HDL 中,有可能不必声明某种线网类型。在这样的情况下,缺省线网类型为1位线网。可以使用 default_nettype编译器指令改变这一隐式线网说明方式。使用方法如下: default_nettype net_kind例如,带有下列编译器指令:default_nettype wand任何未被说明的网缺省为1位线与网。9.下面的说明错在哪里?integer 0:3 Ripple;答:应该是integer Ripple 0:3 10.编写一个系统任务从数据文件“ memA . data” 中加载3

12、264字存储器。答:reg15:0 RomB0:2047;$readmemb (memA.data,RomB);11.写出在编译时覆盖参数值的两种方法。答:以使用参数定义语句或通过在模块初始化语句中定义参数值。第4章 表达式 1.说明参数GATE_DELAY,参数值为5。parameter GATE_DELAY = 52.假定长度为64个字的存储器,每个字8位,编写Verilog代码,按逆序交换存储器的内容。即将第0个字与第63个字交换,第1个字与第62个字交换,以此类推。reg 7:0 mem 63:0;integer i = 0;reg 7:0 temp;while(i 32)begint

13、emp = memi;memi = mem63 - i;mem63 - i = temp;i = i + 1;end3.假定32位总线Address_Bus,编写一个表达式,计算从第11位到底20位的归约与非。& addressBus20:114.假定一条总线Control_Bus15:0,编写赋值语句将总线分为两条总线:Abus0:9和Bbus6:1。Abus = ControlBus9:0;Bbus = ControlBus15:10;5.编写一个表达式,执行算术移位,将Qparity中包含的8位有符号数算术移位。Qparity7-i:0, Qparity7:8-i/左移,i表示移的位数Q

14、parityi-1:0, Qparity7: i/右移,i表示移的位数6.使用条件操作符,编写赋值语句选择NextState的值。如果CurrentState的值为RESET,那么NextState的值为GO;如果CurrentState的值为GO,则NextState的值为BUSY;如果CurrentState的值为BUSY,则NextState的值为RESET。NextState = (CurrentState = RESET) ? Go : (CurrentState = Go ? BUSY : RESET)7.使用单一连续赋值语句为图2-2所示的2-4解码器电路的行为建模。【提示:使用移位操作符、条件操作符和连接操作符。】assign Z = EN ? (A & B), (A & B), (A & B), (A & B) : 4b1111;8.如何从标量变量A、B、C和D中产生总线BusQ3:0?如何从两条总线BusA3:0和BusY20:15形成新的总线BusR10:1?BusQ3:0 = D, C, B, ABusR10:1 = BusY20:15, BusA3:0第5章 门电平模型化 1. 用基本门描述图5 - 11显示的电路模型。编写一个测试验证程序用于测试电路的输出。使用所有可能的输入值对电路进行测试。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 中考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号