verilog考卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
verilog考卷
1. 下面哪个是可以用verilog语言进行描述,而不能用VHDL语言进行描述的级别?( A )
(A) 开关级 (B)门电路级 (C) 体系结构级 (D) 寄存器传输级
2.在verilog中,下列语句哪个不是分支语句?( D )
(A) if-else (B) case (C) casez (D) repeat
3.下列哪些Verilog的基本门级元件是多输出( D )
(A) nand (B) nor (C) and (D) not
4.Verilog连线类型的驱动强度说明被省略时,则默认的输出驱动强度为( B )
(A) supply (B) strong (C) pull (D) weak
5.元件实例语句“notif1 #(1:3:4,2:3:4,1:2:4) U1(out,in,ctrl);”中截至延迟的典型值为( B )(A) 1
(B) 2 (C) 3 (D) 4
6.已知“a =1b’1; b=3b'001;”那么{a,b}=( C )
(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'101
7.根据调用子模块的不同抽象级别,模块的结构描述可以分为(ABC )
(A) 模块级 (B)门级 (C) 开关级 (D) 寄存器级
8.在verilog语言中,a=4b'1011,那么 &a=(D )
(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'0
9.在verilog语言中整型数据与( C )位寄存器数据在实际意义上是相同的。
(A) 8 (B) 16 (C) 32 (D)64 1.Verilog HDL语言进行电路设计方法有哪几种(8分)
1、自上而下的设计方法(Top-Down)
2、自下而上的设计方法(Bottom-Up)
3、综合设计的方法2.specparam语句和parameter语句在参数说明方面不同之处是什么(8分)。
1、.specparam语句只能在延时的格式说明块(specify块)中出现,而parameter语句则不能在延时说明块内出现
2、由specparam语句进行定义的参数只能是延时参数,而由parameter语句定义的参数则可以是任何数据类型的参数
3、由specparam语句定义的延时参数只能在延时说明块内使用,而由parameter语句定义的参数则可以在模块内(该parameter语句之后)的任何位置说明程序设计(4题,共50分)
1. 试用verilog语言产生如下图所示的测试信号(12分)
clk
in1
in2
module signal_gen9(clk,in1,in2);
output in1,in2,clk;
reg in1,in2,clk;
initial
begin
in1=0;in2=1; clk=0;
end
initial
begin
#15 in1=1 ;#10 in1=0; #5 in1=1; #10 in1=0;
end
initial
begin
#5 in2=0; #5 in2=1; #25 in2=0;
end
always
begin
#5 clk=~clk;
end
endmodule
2.试用verilog 语言,利用内置基本门级元件,采用结构描述方式生成如图所示的电路(12分)
S1
S2D0D1D2D3T0
T1T2T3Z
module MUX4x1(Z,D0,D1,D2,D3,S0,S1); output Z;
inout D0,D1,D2,D3,S0,S1; and u0 (T0, D0, S0bar, S1bar) , u1(T1, D1, S0bar, S1), u2 (T2, D2, S0, S1bar), u3 (T3, D3, S0, S1) , not u4 (S0bar, S0), u5 (S1bar, S1);
or u6 (Z, T0, T1, T2, T3); endmodule
3. 试用verilog 语言描述:图示为一个4位移位寄存器,是由四个
D 触发器(分别设为U1,U2,U3,U4)构成的。
其中seri_in 是这个移位寄存器的串行输入;clk 为移位时脉冲输入;clr 为清零控制信号输入;Q[1]~Q[3]则为移位寄存器的并行输出。
(14分)
module d_flop(q,d,clr,clk); output q;
input d,clr,clk; reg q;
always @(clr) if(!clr) assign q=0; else deassign q;
always @(negedge clk) q=d;
endmodule
module shifter(seri_in,clk,clrb,Q); input seri_in,clk,clrb; output[3:0] Q;
d_flop U1(Q[0],seri_in,clrb,clk), U2(Q[1],Q[0],clrb,clk), U3(Q[2],Q[1],clrb,clk), u4(Q[3],Q[2],clrb,clk); endmodule
一、术语解释(写出下列术语中、英文全称)(每小题3分,总计15分) 1、SOC 系统芯片或片上系统 System On a Chip
2、CPLD 复杂可编程器件Complex Programmable Logic Device
3、HDL 硬件描述语言 Hardware Describe Language
4、LUT 查找表 LUT ,Look Up Table
5、IP Core 知识产权核或知识产权模块Intellectual Property Core 二、填空题(本大题共15空,每空2分,总计30分)
1. FPGA /CPLD 设计输入图形输入、 HDL 文本输入,后这适合大规模的电路设计,有很好的可移植性,可读性强易于交流。
2. EDA 仿真分为:① 功能仿真,又称前仿真、系统级仿真或行为仿真,用于验证系统的功能;② 时序仿真,又称后仿真、电路级仿真,用于验证系统的时序特性、系统性能。
仿真是系统验证的主要手段,是整个电子设计过程中花费时间最多的环节。
3. 通常,将对CPLD 的下载称为编程(Program) ,对FPGA 中的SRAM 进行直接下载的方式称为配置(Configure) 。
4. 写出右图示F 0,F 1的表达式。
F 0 = A A A A + F 1 =0101
5. 一个大型的组合电路总延时为100ns ,采用流水线将它分两个较小的组合电路,理论最高工作频率可达 20 MHz 。
6.在以下的表达式或语句中选出正确的并将其番号填在空格处。
① 4'b 1001 ^ 'b b0101= 4'b 1100 ;② {3{3'b 101}} = 9'b 101 101 101 ;
7.Verilog HDL 建模的方式有:数据流描述方式、行为描述方式、结构化描述方式。
三、简答题(本大题共4小题,每小题5分,总计20分)
1、试比较电子系统传统设计方法和采用EDA 技术设计方法的区别?
答:传统方法采用的是从下至上设计方法,使用的是通用逻辑元、器件,只能在系统硬件设计的后期进行仿真和调试,它的主要设计文件是电原理图;(2分)EDA 方法采用的是自上至下设计方法,使用的可编程逻辑器件,在.系统设计的早期即可进行仿真和修改,它有多种设计文件,发展趋势以 HDL 描述文件为主,能显著降低硬件电路设计难度。
(3分) 2、简述CPLD 及FPGA 各自特点?
答:① CPLD 是基于乘积项的可编程结构,即可编程的与阵列和固定的或阵列组成;(1分)而FPGA 使用的是可编程的查找表
(Look Up Table, LUT ), 且大部分FPGA 采用的是基于SRAM 的查找表逻辑形成结构。
(1分)②器件规模FPGA 远大于CPLD 。
(1分)③FPGA 更适合时序电路的设计。
(1分)④CPLD 更适合组合电路的设计。
3、EAB 结构特点及实现的主要功能?
答:EAB 结构特点:嵌入式阵列块(EAB )是FPGA 器件内专门用来存储配置数据的结构, 是由一系列的嵌入式RAM 单元构成;每个EBA 是一个独立的结构, 它具有共同的输入、互连与控制信号;EAB 实现
的主要功能:EBA 可以非常方便地实现一些规模不太大的RAM 、ROM 、FIFO 或双口RAM 等功能块的构造;而当EAB 用来实现计数器、地址译码器、状态机、乘法器、微控制器以及DSP 等复杂逻辑时,每个EAB 可以贡献100到600个等效门;EAB 可以单独使用,也可组合起来使用。
(3分)
4、定义时间单位为1ns ,依次执行后面的阻塞性过程赋值表达式:
initial begin
#1 clr=1; #3 clr=0; #5 clr=1; end
①画出此时clr 的波形图;②如果用非阻塞性赋过程值,请画出对应clr 的波形图。
答:①
② 四、利用MAX+PULSII (10
分)
解:
output [8:0]c ;
output cot; ---2分
LPM_ADD_SUB
Adder8 (.dataa(a) ,.datab(b),
.result(c),.cout(cot)); --------2分
Adder8.LPM_REPRESENTATION="UNSIGNED"; --------1.5分defparam adder8.LPM_WIDTH=8; --------1.5分
endmodule --------1分
五、设计一个带使能的三—八译码器,使能信号en 为高电平时真值表如下,en 为低电平时输出数据8'b 1111 1111。
(12分)使能信号en 为高电平时真值表
d[2:0]输入y[7:0]输出d[2:0]输入y[7:0]输出3'b 000 8'b 1111 1110 3'b 100 8'b 1110 1111 3'b 001 8'b 1111 1101 3'b 101 8'b 1101 1111 3'b 010 8'b 1111 1011 3'b 110 8'b 1011 1111 3'b 011 8'b 1111 0111 3'b 111 8'b 0111 1111
解:module three-eight(d,en,y); -----------1分 input [2:0]d;
input en; --------------------------1分 output [7:0]y;
reg [7:0]y; ----------------------------------1分
always @(d or en ) -----------------------1分 if (en==1) // 或写为if(en) --------1分 case ( d) --------------------------1分 3'b000: y=8'b1111 1110;
3'b001:
y=8'b1111 1101;
y=8'b1111 1011;
3'b011:
y=8'b1111 0111;
3'b100:
y=8'b1110 1111;
3'b101:
y=8'b1101 1111;
3'b110:
y=8'b1011 1111;
3'b111:
y=8'b0111 1111; -------------------------4分
endcase
else
y=8'b 1111 1111; -----------------------------1分
endmodule---------------------------------------1分
六、设计一个有清零、使能、装载功能的四位十进制减1计数器。
清零低有效,使能、装载高有效。
装载信号有
效时将4'b 1001装入计数器。
功能优先级为清零>装载>使能。
(13分)
解:module DownCouter(clk, clr, en, load, q); -------1分
input clk,clr,en,load;
output [3:0]q;
reg [3:0]q; ------------2分
always @(posedge clk)
if (clr==0) ------------1分
q[3:0]= 4'b0000;
else if (load==1) ------------2分
q[3:0]=4'b1001;
else if (en==1) ------------2分
if (q[3:0] ==4'b0000) ------------2分
q[3:0]= 4'b1001;
else
q[3:0]=q[3:0]-1; ------------2分
end
endmodule ------------1分
目前常用的硬件描述语言是VerilogHDL和VHDL。
EDA的技术两种设计思路:自顶向下、自顶向上
ASIC:专用集成电路FPGA:现场可编程门阵列
CPLD:复杂可编程逻辑器件ISP:在系统编程
JTAG:联合测试行动组CPLD芯片中包含多个电路块称为宏功能块或宏单元CPLD主要部件:宏单元、可编程连线阵列PIA和I/O 控制块大部分FPGA器件采用了(查找表)结构。
FPGA器件内部由3部分组成:可配置模块CLB、输入输出模块I/oBlock、布线通道routing channels。
CLB由函数发生器、数据选择器、触发器和信号变换电路组成。
布线通道用来提供高速可靠的内部连线
常用的可编程原件有4类:熔丝型开关、反熔丝型开关、浮栅编程元件、基于SROM的编程元件。
前三类为非易失性原件编程后配置数据一直会保存在器件上,SRAM为易失性原件掉电后数据会丢失。
熔丝和反熔丝只能写一次数据、浮栅编程元件、SROM的编程元件可以重复多次数据写入。
什么叫边界扫描测试技术(BST):测试数据从左边的一个边界扫描单元串行输入,捕获的数据从右边的一个边界扫描单元串行输出,然后通过标准进行对比就知道芯片的好坏。
什么叫在系统可编程:所谓在系统可编程ISP指的是对器件或电路板或整个电子系统的逻辑功能可以随时进行修改或重构的能力。
这种修改和重构可以在产品设计、生产过程的任一环节,甚至在交付用户以后。
FPGA/CPLD的主要生产厂家有Altera、Xilinx和Lattice三家。
PFGA/CPLD的发展趋势
1、向大规模高集成度方向发展。
2、向低电压低功耗的方向发展。
3、向高速可预测延时方向发展。
4、在PLD器件内嵌入更多功能模块。
5、向模数混合可编程方向发展。
希望大家把4、5、6章的程序多看哈。
这些主要是针对前几章的总结。
最后一次考试、最后一次为大家服务,希望对大家有所帮助。
祝福大家考试顺利、新年快乐!。