VerilogHDL硬件描述语言复习
一、
1. Verilog HDL 是在哪一年首次被I E E E标准化的
答:Verilog HDL是在1995年首次被IEEE标准化的..
2. Verilog HDL支持哪三种基本描述方式
答:Verilog HDL可采用三种不同方式或混合方式对设计建模..这些方式包括:行为描述方式—使用过程化结
构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模
3. Verilog HDL 是由哪个公司最先开发的
答:Verilog HDL是由Gateway Design Automation公司最先开发的
4. Verilog HDL中的两类主要数据类型什么
答:线网数据类型和寄存器数据类型..线网类型表示构件间的物理连线; 而寄存器类型表示抽象的数据存储元件..
5. U D P代表什么
答:UDP代表用户定义原语
6. 写出两个开关级基本门的名称..
答:pmos nmos
7. 写出两个基本逻辑门的名称..
答:and or
8. 在数据流描述方式中使用什么语句描述一个设计
答:设计的数据流行为使用连续赋值语句进行描述
9. 采用结构描述方式描述1位全加器..
答:
module full_adda;b;cin;s;co;
input a;b;cin;
output s;co;
wire S1;T1;T2;T3;
xor
X1S1;a;b;
X2s;S1;cin;
and
A1T3;a;b;
A2T2;b;cin;
A3T1;a;cin;
or
O1co;T1;T2;T3;
endmodule
10. i n i t i a l语句与always 语句的关键区别是什么
答: 1 initial语句:此语句只执行一次..
2 always语句:此语句总是循环执行; 或者说此语句重复执行..
11. 采用数据流方式描述2 - 4译码器..
答:
'timescale 1ns/ns
module Decoder2×4A;B;EN;Z;
input A;B;EN;
output 0:3Z;
wire abar;Bbar;
assign #1 Abar=~A;
assign #1 Bbar=~B;
assign #2 Z0=~Abar&Bbar&EN;
assign #2 Z1=~Abar&B&EN;
assign #2 Z2=~A&Bbar&EN;
assign #2 Z3=~A&B&EN;
endmodule
1 2. 找出下面连续赋值语句的错误..
assign Ret=#2 Sel^WriteBus;
答:不符合连续赋值语句的语法;应该为:assign #2 Ret = ^ WriteBus;
二、
1. 下列标识符哪些合法;哪些非法
C O u n T; 1_2 M a n y; \**1; R e a l ; \wait; Initial
答:COunT合法;1_2 Many非法;\**1;Real 非法;\wait合法;Initial合法
2. 在Verilog HDL中是否有布尔类型
答:没有
3. 如果线网类型变量说明后未赋值;其缺省值为多少
答:z
4. Verilog HDL 允许没有显式说明的线网类型..如果是这样;怎样决定线网类型
答:在Verilog HDL 中;有可能不必声明某种线网类型..在这样的情况下;缺省线网类型为1位 线网..
5. 下面的说明错在哪里
i n t e g e r 0:3 R i p p l e;
答:应该是integer Ripple 0:3
6. Verilog HDL有哪几大类数据类型
答:verilog hdl 有两大类数据类型:线网类型和寄存器类型..
7.Verilog HDL有哪几种寄存器类型
答:有五种不同的寄存器类型:reg、integer、time、real、realtime..
三、
1. 假定长度为6 4个字的存储器; 每个字8位;编写Verilog 代码;按逆序交换存储器的内容..即
将第0个字与第6 3个字交换;第1个字与第6 2个字交换;依此类推..
答:
reg 7:0 mem 63:0;
integer i = 0;
reg 7:0 temp;
whilei < 32
begin
temp = memi;
memi = mem63 - i;
mem63 - i = temp;
i = i + 1;
end
2. 假定3 2位总线A d d re s s _ B u s; 编写一个表达式;计算从第11位到第2 0位的归约与非..
答:~& addressBus20:11
3. 假定一条总线C o n t ro l _ B u s 1 5 : 0 ;编写赋值语句将总线分为两条总线: A b u s 0 : 9 和B b u s 6 : 1 ..
答:Abus = ControlBus9:0;
Bbus = ControlBus15:10;
4. 编写一个表达式;执行算术移位;将Qparity 中包含的8位有符号数算术移位..
答:{Qparity7-i:0; Qparity7:8-i}//左移;i表示移的位数
{Qparityi-1:0; Qparity7: i}//右移;i表示移的位数
5. 使用条件操作符; 编写赋值语句选择N e x t S t a t e的值..如果C u rre n t S t a t e的值为R E S E T; 那么N e x t S t a t e的值为G O;如果C u rre n t S t a t e的值为G O;则N e x t S t a t e 的值为B U S Y;如果C u rre n t S t a t e的值为B U S Y;则N e x t S t a t e的值为R E S E T..
答:NextState = CurrentState == RESET Go : CurrentState == Go BUSY : RESET
6. 如何从标量变量A;B;C和D中产生总线B u s Q0:3 如何从两条总线B u s A 0 : 3 和B u s Y
2 0 : 1 5 形成新的总线B u s R 1 0 : 1
答:BusQ3:0 = {D; C; B; A}
BusR10:1 = {BusY20:15; BusA3:0}
四、
1、Verilig HDL提供的内置基本门分为哪几类
1 多输入门、2 多输出门、3 三态门
2、多输入门与多输出门的区别在哪里
答:多输入门:and nand nor or xor xnor 这些逻辑门只有单个输出; 1个或多个输入 第一个端口是输出;其它端口是输入..
多输出门有:buf; not 这些门都只有单个输入;一个或多个输出 最后的端口是输入端口;其余的所有端口为输出端口..
3、Verilog HDL内置的mos开关门有哪些
答:cmos; nmos; pmos; rcmos; rnmos; rpmos
4、门时延值的组成有哪几个值
答: 1 上升时延
2 下降时延
3 关断时延
5. Verilig HDL提供的内置基本门分为哪几类
答: 1 多输入门 2 多输出门 3 三态门 4 上拉、下拉电阻 5 MOS开关 6 双向开关
6.假定一条总线Control_Bus7:0;编写赋值语句将总线分为两条总线:Abus 0:2和Bbus 4 : 1 ..
答:Abus=ControlBus2:0;
Bbus=ControlBus15:12;
7. 编写一个表达式;执行算术移位;将Qparity 中包含的8位有符号数算术左移3位..
答:{Qparity4:0; Qparity7:5}
8.要求采用数据流方式设计一个半加器;写出完整的Verilig HDL设计模块..
答:
module half_addSum; Cout;A; B;
input A; B;
output Sum; Cout;
assign Sum=A^B;
assign Cout=A&B;
endmodule
五、
1、操作符有 按操作数个数分为3 种类型;其中三目操作符有 2 个操作符和 3 个操作数..
2、关键字全是 小 写;标识符的首字符必须是 字母 或 下划线 ..
3、数字A=5’b011 的 表示 z ..设B=5’b101x1;C=5’b01x11;则操作运算F=B+C的结果F= 5'bxxxxx ..
4、VerilogHDL中保存字符串“Hello”需要 5 位..
5、声明reg 7:0data4:0表示 5 个 8 位的存储单元..
6、module testq;clk;crt;
output q;
reg q;
Input clk;crt;
always @podge clk
begin
ifcrt==1
q=~q;
end
endmodule
7、数据流建模的主要语法结构是 assign LHS_target = RHS_expression; 语句 ;采用 assign 关键字开始..
8、线网赋值延迟可以通过 普通赋值 延迟; 隐式连续赋值 延迟和 线网声明 延迟三种方法来实现..
9、模型引用时;要指定实例名;但 硬件 和 用户定义 原语例外..
10、语句assign #2:3:4;5:6:7portout;clk;in中的典型关断延迟是 4 ;最大关断延时是 7 ..