verilog考卷
VerilogHDL试卷及答案
一、选择题:1、下列标示符哪些是合法的(B )A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是(D )A、xB、1C、0D、z3、现网中的值被解释为无符号数。
在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是(A )//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0] mema[255:0]正确的赋值是(A )A、mema[5]=3’ d0,B、8’ d0;C、1’ b1;D、mema[5][3:0]=4’ d15、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D )module code(x,y); module top;paramee delay1=1,delay2=1; …………….………………………………code #(1,5) d1(x1,y1);endmodule endmoduleA、(1,1)B、(5,5)C、(5,1)D、(1,5)6、“a=4’ b11001,b=4’ bx110”选出正确的运算结果(B )A、a&b=0B、a&&b=1C、b&a=xD、b&&a=x7、时间尺度定义为timescale 10ns/100ps,选择正确答案(C )A、时间精度10nsB、时间单位100psC、时间精度100psD、时间精度不确定8、若a=9,执行$display(“current value=%0b,a=%0d”,a,a)正确显示为(B )//去除无效0A、current value=1001,a=09B、current vale=1001,a=9C、1001,9D、current vale=00…001001,a=99、always begin #5 clk=0;#10 clk=~clk;end产生的波形(A )//5占15的1/3A、占空比1/3B、clk=1C、clk=0D、周期为1010、在Verilog中定义了宏名`define sum a+b+c 下面宏名引用正确的是(C )//注意引用A、out=’sum+d;B、out=sum+d;C、out=`sum+d;D、都正确二、填空题:(共15分,每小题3分)1、某一纯组合电路输入为in1,in2和in3,输入出为out,则该电路描述中always的事件表达式应写为always@(in1,in2,in3 );若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @( posedge clk )。
verilog试卷模拟题
集成电路设计仿真与验证练习题一、填空题1、Verilog 较为适合: 、算法级(Alogrithem)、、逻辑(Logic)、门级(Gate) 电路、的设计,而对于特大型(千万门级以上)的系统级(System)设计,则VHDL更为合适。
2、Verilog模型可以是实际电路的不同级别的抽象,这些抽象的级别包括:系统级、、RTL级、、开关级。
3、Verilog 模块的结构由在module和endmodule 关键词之间的四个主要部分组成:端口定义、说明、、功能定义。
4、数字8‘b10101100中,8表示,b表示。
5、寄存器是数据储存单元的抽象。
寄存器数据类型的关键字是。
该类型数据的默认初始值为。
6、进行位运算时,当两个操作数位数不同时,位数少的操作数在相应的高位零扩展到相同位数。
如a =4'b1011;b = 8'b01010011,则c = a | b,中a零扩展为。
7、regb = 4'b1010; regc = 4'b1x10, val=regc = = = regc,则val=1. 若val = regc = = regc,则val= 。
8、假设reg [3:0] a; a=4'b1010; $display({{4{a[3]}},a}); 输出为:。
9、如果时序逻辑的输出不仅取决于状态还取决于输入,称之为状态机。
如果时序逻辑的输出只取决于当前的状态,称之为状态机。
10、下并行块:initialforkx=1’b0;#7 y=1’b1;#8 z={x,y};#20 w={y,x};#10 u={x,y};join仿真完的时间为。
11、下面程序中语句5、6、7、11是执行,语句9、10是执行。
1 module M(……);2 input ……. ;3 output ……;4 reg a,b……;5 always@(……..)6 assign f=c&d;7 always@(……..)8 begin9 a=…….;10 b=…….;end11 mux mux1(out,in0,in1);endmodule12、module testreg a,b,c,d,e,out;`define mm a+b+c+d;assign out=`mm+e;endmodule经过宏展开后,该语句为assign out=。
VERILOG 试题样题
VERILOG 试题样题1.程序注释题 (填空题)例题1module mux21(ina,inb,sel,out); 1)input ina,inb; 2)input sel;output out; 3)reg out; 4)assign out= sel? ina , inb; 5) endmodule6)程序的功能是:例题2module count4(out,reset,clk); 1)input reset,clk; 2)output reg[3:0] out; 3)always @(posedge clk) 4)beginif(reset) out<=0; 5)else out<=out+1; 6)endendmodule7)程序的功能是:2.程序修改题例题3 下面程序是Verilog语言设计的D 触发器,请修改程序将其变为同步清零reset(低电平有效),同步置位set(低电平有效)的D触发器,将完整的程序写在答题纸上,修改后的模块名字为dff_syn。
module dff(q,d,clk);input d,clk; output reg q;always @(posedge clk)beginq<=d;endendmodule3.编程题 (根据电路图设计)例题4 设计一个4位二进制加法器,模块名字为add4_bin例题5 设计一个程序,实现以下数字电路的功能答案1.程序注释题 (填空题)例题1module mux21(ina,inb,sel,out); 1) 定义模块名input ina,inb; 2) 定义ina, inb为输入端口input sel;output out; 3) 定义out为输出端口reg out; 4) 定义out 为 reg型assign out= sel? ina , inb; 5)根据sel的值,选择输出ina 或inb endmodule6)程序的功能是: 2选一的多路选择器例题2module count4(out,reset,clk); 1) 定义模块名input reset,clk; 2) 定义reset, clk为输入端口output reg[3:0] out; 3) 定义out为4位宽的reg类型输出端口always @(posedge clk) 4) clk 上升沿有效beginif(reset) out<=0; 5) 同步复位else out<=out+1; 6) 输出的数加1endendmodule7)程序的功能是: 带同步复位的4位二进制加法计数器2.程序修改题例题3module dff_syn(q,d,clk,set,reset);input d,clk,set,reset; output reg q;always @(posedge clk)beginif(~reset)q<=1'b0;//同步清0,低电平有效else if(~set)q<=1'b1;//同步置1,低电平有效elseq<=d;endendmodule3.编程题 (根据电路图设计)例题4 设计一个4位二进制加法器,模块名字为add4_bin module add4_bin(cout,sum,ina,inb,cin);input cin; input[3:0] ina,inb;output[3:0] sum; output cout;assign {cout,sum}=ina+inb+cin;endmodule例题5 设计一个程序,实现以下数字电路的功能module half_add1(a, b, sum, cout);input a, b;output sum, cout;and (cout, a, b);xor (sum, a, b);endmodule或者module half_add2(a, b, sum, cout);input a, b;output sum, cout;assign sum = a ^ b;assign cout = a & b; endmodule或者module half_add2(a, b, sum, cout);input a, b;output sum, cout;assign {cout, sum} = a + b; endmodule。
verilog语言期末试题及答案
verilog语言期末试题及答案一、填空题1. Verilog语言是一种_硬件描述语言_。
2. Verilog语言适用于_数字电路设计_和_验证_。
3. Verilog的编译和仿真工具主要有_Synopsys Design Compiler_和_ModelSim_。
4. Verilog中的组合逻辑使用_always_关键字实现。
5. 时钟的上升沿触发使用_posedge_关键字实现。
6. Verilog的层次化模块定义使用_和号_(&)和_连接符_实现。
7. Verilog语言的数据类型包括_bit_、_reg_、_wire_和_logic_。
8. Verilog中用来控制模拟时间的关键字是_#_。
9. 顺序逻辑使用的关键字是_always_ff_。
10. Verilog的条件语句包括_if_、_else_和_case_。
二、选择题1. Verilog中的关键字always @(posedge clk)表示:A. 在时钟上升沿触发B. 在时钟下降沿触发C. 在时钟上升沿或下降沿触发D. 无关键字触发答案:A2. Verilog中用来定义模块的关键字是:A. alwaysB. moduleC. caseD. reg答案:B3. 下列哪个关键字用于在连续赋值中实现多路选择:A. ifB. elseC. caseD. always_ff答案:C4. Verilog中用来延时模拟时间的关键字是:A. #B. @C. $D. %答案:A5. Verilog中的数据类型wire和reg的区别在于:A. wire用于内部信号连接,reg用于存储数据B. wire只能传输数字信号,reg可以传输任意信号C. wire用于组合逻辑,reg用于时序逻辑D. wire在连续赋值中使用,reg在时序赋值中使用答案:A三、编程题请使用Verilog语言描述一个4位全加器模块,并画出其电路原理图。
```verilogmodule full_adder(input a, b, cin, output sum, cout);assign sum = a ^ b ^ cin;assign cout = (a & b) | (a & cin) | (b & cin);endmodule```四、简答题1. 请简述Verilog语言的优点及应用领域。
Verilog_HDL试卷及答案
reg [7:0] q=8‘b10000000;右边是最低位,q[0]~q[6]为0,q[7]为1q[7:0]<={q[0],q[7:1]}相当于一个循环右移操作,将q[0]的值赋给q[7],q[7]~q[1]依次向右移位一位。
根据前值8‘b10000000,第一个时钟周期后变为8‘b01000000;第二个时钟周期后变为8‘b00100000;类推。
第八个时钟周期后又回到q=8‘b10000000一、选择题:1、下列标示符哪些是合法的(B )A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是(D )A、xB、1C、0D、z3、现网中的值被解释为无符号数。
在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是(A )//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0] mema[255:0]正确的赋值是(A )A、mema[5]=3’ d0,B、8’ d0;C、1’ b1;D、mema[5][3:0]=4’ d15、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D )module code(x,y); module top;paramee delay1=1,delay2=1; …………….………………………………code #(1,5) d1(x1,y1);endmodule endmoduleA、(1,1)B、(5,5)C、(5,1)D、(1,5)6、“a=4’ b11001,b=4’ bx110”选出正确的运算结果(B )A、a&b=0B、a&&b=1C、b&a=xD、b&&a=x7、时间尺度定义为timescale 10ns/100ps,选择正确答案(C )A、时间精度10nsB、时间单位100psC、时间精度100psD、时间精度不确定8、若a=9,执行$display(“current value=%0b,a=%0d”,a,a)正确显示为(B )//去除无效0A、current value=1001,a=09B、current vale=1001,a=9C、1001,9D、current vale=00…001001,a=99、always begin #5 clk=0;#10 clk=~clk;end产生的波形(A )//5占15的1/3A、占空比1/3B、clk=1C、clk=0D、周期为1010、在Verilog中定义了宏名`define sum a+b+c 下面宏名引用正确的是(C )//注意引用A、out=’sum+d;B、out=sum+d;C、out=`sum+d;D、都正确二、填空题:(共15分,每小题3分)1、某一纯组合电路输入为in1,in2和in3,输入出为out,则该电路描述中always的事件表达式应写为always@(in1,in2,in3 );若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @( posedge clk )。
verilog期末考试试题
verilog期末考试试题一、选择题(每题2分,共20分)1. 在Verilog中,以下哪个关键字用于定义一个模块?A. moduleB. endmoduleC. inputD. output2. 以下哪个操作符用于Verilog中的按位与操作?A. &B. &&C. |D. ||3. Verilog中,一个时钟信号通常与哪个信号属性关联?A. regB. wireC. clkD. none of the above4. 在Verilog中,非阻塞赋值使用哪个操作符?A. =B. <=C. <=D. <=>5. 以下哪个是Verilog中定义参数的正确语法?A. parameter int a;B. parameter a = 10;C. parameter int a = 10;D. parameter a = 10 int;6. 以下哪个是Verilog中定义信号的初始值的正确方式?A. reg [7:0] data = 8'b1;B. reg [7:0] data = 8'b00000001;C. reg [7:0] data = 8'b10101010;D. reg [7:0] data = 8'b1;7. 在Verilog中,一个信号的宽度可以是任意的吗?A. 是的,可以是任意宽度B. 不是的,必须在1到32位之间C. 不是的,必须在1到64位之间D. 不是的,必须在1到1024位之间8. 以下哪个是Verilog中生成时钟信号的常用方法?A. 使用always块和非阻塞赋值B. 使用initial块和阻塞赋值C. 使用initial块和非阻塞赋值D. 使用always块和阻塞赋值9. 在Verilog中,case语句的每个分支后面应该使用哪个关键字?A. endB. endcaseC. caseD. default10. 以下哪个是Verilog中定义一个4位二进制计数器的正确方式?A. reg [3:0] counter;B. reg [4:1] counter;C. reg [0:3] counter;D. reg [4:0] counter;二、简答题(每题5分,共20分)1. 解释Verilog中的阻塞赋值和非阻塞赋值的区别。
Verilog复习题
Verilog 复习题一、填空题1.用EDA技术进行电子系统设计的目标是最终完成ASIC的设计与实现。
2.可编程器件分为CPLD和FPGA。
3.随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL设计当中。
4.目前国际上较大的PLD器件制造公司有ALtera和Xilinx公司。
5.完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。
6.阻塞性赋值符号为,非阻塞性赋值符号为<=_。
7.有限状态机分为Moore和Mealy两种类型。
8.EDA缩写的含义为电子设计自动化(Electronic Design Automation) |9.状态机常用状态编码有二进制、格雷码和独热码。
10.Verilog HDL中任务可以调用其他任务和函数。
11.系统函数和任务函数的首字符标志为_$_,预编译指令首字符标志为。
12 .可编程逻辑器件的优化过程主要是对速度和资源的处理过程。
13、大型数字逻辑电路设计采用的IP核有软IP、固IP和硬IP。
二、选择题1、已知“a =1b' 1; b=3b'001; ”那么{a,b} =( C )(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'1012、在verilog中,下列语句哪个不是分支语句? ( D )(A) if-else (B) case (C) casez (D) repeat3、V erilog HDL语言进行电路设计方法有哪几种( 8分)①自上而下的设计方法(Top-Down )②自下而上的设计方法(Bottom-Up )③综合设计的方法4、在verilog 语言中,a=4b'1011,那么&a= (D )(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'05、在verilog语言中整型数据与(C )位寄存器数据在实际意义上是相同的。
verilog考卷
1. 下面哪个是可以用verilog语言进行描述,而不能用VHDL语言进行描述的级别?( A )(A) 开关级 (B)门电路级 (C) 体系结构级 (D) 寄存器传输级2.在verilog中,下列语句哪个不是分支语句?( D )(A) if-else (B) case (C) casez (D) repeat3.下列哪些Verilog的基本门级元件是多输出( D )(A) nand (B) nor (C) and (D) not4.Verilog连线类型的驱动强度说明被省略时,则默认的输出驱动强度为( B )(A) supply (B) strong (C) pull (D) weak5.元件实例语句“notif1 #(1:3:4,2:3:4,1:2:4) U1(out,in,ctrl);”中截至延迟的典型值为( B )(A) 1(B) 2 (C) 3 (D) 46.已知“a =1b’1; b=3b'001;”那么{a,b}=( C )(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'1017.根据调用子模块的不同抽象级别,模块的结构描述可以分为(ABC )(A) 模块级 (B)门级 (C) 开关级 (D) 寄存器级8.在verilog语言中,a=4b'1011,那么 &a=(D )(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'09.在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分)。
(完整)Verilog_HDL试卷及答案,推荐文档.doc
河北大学课程考核试卷2008 —— 2009 学年第一学期2006 级电气类专业(类)考核科目 EDA 技术课程类别必修考核类型考查考核方式闭卷类别 A一、选择题:1、下列标示符哪些是合法的( B )A、 $timeB、 _dateC、 8sumD、 mux#2、如果线网类型变量说明后未赋值,起缺省值是( D )A、 xB、 1C、 0D、 z3、现网中的值被解释为无符号数。
在连续赋值语句中,assign addr[3:0]=-3;addr 被赋予的值是( A )A、 4’b1101B、 4’b0011C、 4’bxx11D、 4’bzz114、 reg[7:0] mema[255:0] 正确的赋值是( A )A、 mema[5]=3 ’d0,B、 8’d0;C、 1’b1;D、 mema[5][3:0]=4 ’d15、在 code 模块中参数定义如下,请问top 模块中 d1 模块 delay1、 delay2 的值是 ( D )module code(x,y); module top;paramee delay1=1,delay2=1; .code #(1,5) d1(x1,y1);endmodule endmoduleA、( 1,1)B、(5,5)C、( 5,1)D、( 1,5)6、“ a=4’b11001,b=4 ’bx110”选出正确的运算结果( B )A、 a&b=0B、a&&b=1C、b&a=xD、 b&&a=x7、时间尺度定义为timescale 10ns/100ps ,选择正确答案( C )A、时间精度 10nsB、时间单位 100psC、时间精度 100psD、时间精度不确定8、若 a=9,执行 $display( “current value=%0b,a=%0d ”,a,a)正确显示为( B )A、 current value=1001,a=09B、current vale=1001,a=9C、 1001,9D、 current vale=00 001001,a=99、 aways begin #5 clk=0; #10 clk=~clk;end 产生的波形( A )A、占空比 1/3B、 clk=1C、 clk=0D、周期为 1010、在 Verilog 中定义了宏名`define sum a+b+c 下面宏名引用正确的是( C )A、 out= ’sum+d;B、 out=sum+d;C、 out=`sum+d;D、都正确二、填空题:(共 15 分,每小题 3 分)1、某一纯组合电路输入为in1,in2 和 in3,输入出为 out ,则该电路描述中always 的事件表达式应写为always@(in1,in2,in3 ); 若某一时序电路由时钟clk 信号上升沿触发,同步高电平复位信号rst 清零,该电路描述中always 的事件表达是应该写为always @( posedge clk )。
(完整word版)verilog考试题
西安电子科技大学考试时间分钟试题1.考试形式:闭(开)卷;2.本试卷共四大题,满分100分。
班级学号姓名任课教师一、选择题(每题2分,共18分)1. 下面哪个是可以用verilog语言进行描述,而不能用VHDL语言进行描述的级别?( A )(A) 开关级 (B)门电路级 (C) 体系结构级 (D) 寄存器传输级2.在verilog中,下列语句哪个不是分支语句?( D )(A) if-else (B) case (C) casez (D) repeat3.下列哪些Verilog的基本门级元件是多输出( D )(A) nand (B) nor (C) and (D) not4.Verilog连线类型的驱动强度说明被省略时,则默认的输出驱动强度为( B )(A) supply (B) strong (C) pull (D) weak5.元件实例语句“notif1 #(1:3:4,2:3:4,1:2:4) U1(out,in,ctrl);”中截至延迟的典型值为( B )(A) 1 (B) 2 (C) 3 (D) 46.已知“a =1b’1; b=3b'001;”那么{a,b}=( C )(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'1017.根据调用子模块的不同抽象级别,模块的结构描述可以分为(ABC )(A) 模块级 (B)门级 (C) 开关级 (D) 寄存器级8.在verilog语言中,a=4b'1011,那么 &a=(D )(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'09.在verilog语言中整型数据与( C )位寄存器数据在实际意义上是相同的。
(A) 8 (B) 16 (C) 32 (D) 64二、简答题(2题,共16分)1.Verilog HDL语言进行电路设计方法有哪几种(8分)1、自上而下的设计方法(Top-Down)2、自下而上的设计方法(Bottom-Up)3、综合设计的方法2.specparam语句和parameter语句在参数说明方面不同之处是什么(8分)。
verilog复习卷
二0—0〜二O—一学年第二学期(A )卷课程名称Verilog 硬件描述语言适用专业2008电信考试方式 (闭)卷考试时间(120)分钟备注:所有试题答案必须全部写在试卷答题纸上,试题纸上答题无效。
en dmodule四、编程(15分)编程实现带异步清0、异步置1的D触发器。
五、编程(15分)编程实现求补码的程序,输入是带符号的8位六、编程(14分)编程实现一个并行加载串行输出的程序,输入是一个.进制数。
8位的二进制数。
二0—0〜二O—一学年第二学期(B )卷课程名称Verilog 硬件描述语言适用专业2008电信考试方式(闭)卷考试时间(120)分钟备注:所有试题答案必须全部写在试卷答题纸上,试题纸上答题无效。
二0一0〜二O一一学年第二学期(A )卷参考答案及评分标准课程名称Verilog硬件描述语言填空题(共26分,每空2分)1. Verilog的基本设计单元是模块。
它是由两部分组成,一部分描述接口;另一部分描述逻辑功能,即定义输入是如何影响输出的。
2. 用assign描述的语句我们一般称之为组合逻辑,并且它们是属于并行语句,即于语句的书写次序无关。
而用always描述的语句我们一般称之为组合逻辑或时序逻辑,并且它们是属于串行语句,即于语句的书写有关。
3. 在case语句中至少要有一条default语句、简答题(共15分,每小题5分)1. 怎样理解在进程语句中,阻塞语句没有延迟这句话?答:这是因为,在进程语句中,有阻塞语句和非阻塞语句这两种,非阻塞语句是有延迟的,而阻塞语句它也是有延迟的,这是因为因果系统都有延迟的,只是阻塞语句的延迟比非阻塞语句的延迟小若干个数量级,因此可视为没有延迟。
2. 在进程中什么情况下综合为时序电路?什么情况下综合为组合电路?答:在进程中只有当敏感信号是沿触发(即上升沿或下降沿)时,此时综合为时序电路;而在进程中只有当敏感信号是电平沿触发时,此时综合为组合电路。
3. 为什么在Verilog语言中,其综合只支持次数确定的循环,而不支持次数不确定的循环?答:这是因为,在Verilog语言中,它是为电路设计而设计的一门语言,它如高级语言不同,若循环的次数不确定,则会带来不确定的延迟,而这在电路中是不允许存在的,故综合只支持次数确定的循环,即对于一个具体的芯片,其延迟是一个定值。
Verilog_HDL试卷及答案
reg[7:0]一、选择题:1、下列标示符哪些是合法的(B)A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是(D)A、xB、1C、0D、z3、现网中的值被解释为无符号数。
在连续赋值语句中,assignaddr[3:0]=-3;addr被赋予的值是(A)//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0]mema[255:0]正确的赋值是(A)A、mema[5]=3’d0,B、8’d0;C、1’b1;D、mema[5][3:0]=4’d15、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是(D)modulecode(x,y);moduletop;parameedelay1=1,delay2=1;…………….………………………………endmoduleendmoduleA、(1,1)B、(5,5)C、(5,1)D6、“a=4’b11001,b=4’bx110A、a&b=0B、a&&b=1C、b&a=xD、7、时间尺度定义为timescale10ns/100psA、时间精度10nsB、时间单位100psC、都正确in3,输入出为out,则该电路描述中always的事件表达式应写为always@(in1,in2,in3);若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always@(posedgeclk)。
//@(条件表达式)do_something;表示等待条件表达式满足,然后do_something,然后就往下走了。
通常用在testbench中,不可综合。
------------------------------------always@(aorborc)begindo_something;end表示不停地监测a、b、c,一旦它们任何一个发生变化,就立刻do_something,并且这个“监测”是始终存在的。
Verilog期末复习题
Verilog复习题一、填空题1. 用EDA技术进行电子系统设计的目标是最终完成2. 可编程器件分为CPLD和FPGA。
3. 随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL设计当中。
4. 目前国际上较大的PLD器件制造公司有ALtera和Xilinx公司。
5. 完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。
6. 阻塞性赋值符号为=,非阻塞性赋值符号为<= 。
78、EDA9.状态机常用状态编码有二进制、格雷码和独热码。
10.V erilog HDL中任务可以调用其他任务和函数。
11.系统函数和任务函数的首字符标志为$,预编译指令首字符标志为#。
12.可编程逻辑器件的优化过程主要是对速度和资源的处理过程。
13、大型数字逻辑电路设计采用的IP核有软IP、固IP和硬IP。
二、选择题1、已知“a =1b’1; b=3b'001;”那么{a,b}=(C )(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'1012、在verilog中,下列语句哪个不是分支语句?( D )(A) if-else (B) case (C) casez (D) repeat3、Verilog HDL语言进行电路设计方法有哪几种(8分)①自上而下的设计方法(Top-Down)②自下而上的设计方法(Bottom-Up)③综合设计的方法4、在verilog语言中,a=4b'1011,那么 &a=(D )(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'05、在verilog语言中整型数据与(C)位寄存器数据在实际意义上是相同的。
(A) 8 (B) 16 (C) 32 (D) 646、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C____ 。
Verilog_HDL试卷及答案
reg [7:0] q=8‘b10000000;右边是最低位,q[0]~q[6]为0,q[7]为1q[7:0]<={q[0],q[7:1]}相当于一个循环右移操作,将q[0]的值赋给q[7],q[7]~q[1]依次向右移位一位。
根据前值8‘b10000000,第一个时钟周期后变为8‘b01000000;第二个时钟周期后变为8‘b00100000;类推。
第八个时钟周期后又回到q=8‘b10000000一、选择题:1、以下标示符哪些是合法的〔B 〕A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是〔D 〕A、xB、1C、0D、z3、现网中的值被解释为无符号数。
在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是〔A 〕//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0] mema[255:0]正确的赋值是〔A 〕A、mema[5]=3’ d0,B、8’ d0;C、1’ b1;D、mema[5][3:0]=4’ d15、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D )module code(x,y); module top;paramee delay1=1,delay2=1; …………….………………………………code #(1,5) d1(x1,y1);endmodule endmoduleA、〔1,1〕B、〔5,5〕C、〔5,1〕D、〔1,5〕6、“a=4’ b11001,b=4’ bx110〞选出正确的运算结果〔B 〕A、a&b=0B、a&&b=1C、b&a=xD、b&&a=x7、时间尺度定义为timescale 10ns/100ps,选择正确答案〔C 〕A、时间精度10nsB、时间单位100psC、时间精度100psD、时间精度不确定8、假设a=9,执行$display(“current value=%0b,a=%0d〞,a,a)正确显示为〔B 〕//去除无效0A、current value=1001,a=09B、current vale=1001,a=9C、1001,9D、current vale=00…001001,a=99、always begin #5 clk=0;#10 clk=~clk;end产生的波形〔A 〕//5占15的1/3A、占空比1/3B、clk=1C、clk=0D、周期为1010、在Verilog中定义了宏名`define sum a+b+c 下面宏名引用正确的选项是〔C 〕//注意引用A、out=’sum+d;B、out=sum+d;C、out=`sum+d;D、都正确二、填空题:〔共15分,每题3分〕1、某一纯组合电路输入为in1,in2和in3,输入出为out,那么该电路描述中always的事件表达式应写为always@(in1,in2,in3 );假设某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @( posedge clk )。
verilog期末试题及答案
verilog期末试题及答案一、选择题1. Verilog是一种用于描述数字电路的语言,它是一种:A. 高级语言B. 低级语言C. 汇编语言D. 脚本语言答案:B. 低级语言2. Verilog的设计单元包括:A. 模块B. 信号C. 进程D. 任务答案:A. 模块3. Verilog的模块声明语法是:A. module 模块名(输入端口, 输出端口);B. module 模块名(input 输入端口, output 输出端口);C. 定义变量和信号D. 使用时调用模块答案:B. module 模块名(input 输入端口, output 输出端口);4. Verilog的赋值语句中,"="表示:A. 非阻塞赋值B. 阻塞赋值C. 非条件赋值D. 条件赋值答案:B. 阻塞赋值5. Verilog中的always块用于:A. 声明变量和信号B. 定义模块C. 并行执行代码块D. 顺序执行代码块答案:C. 并行执行代码块二、填空题1. Verilog的基本数据类型有______、______、______、______。
答案:wire, reg, integer, real2. Verilog中用于实现多路选择的关键字是______。
答案:case3. Verilog中用于实现循环的关键字是______。
答案:for4. Verilog中用于延迟执行的关键字是______。
答案:#(井号)5. Verilog中用于表示逻辑非的关键字是______。
答案:!三、简答题1. 请简要说明Verilog的模块和例化的概念。
答案:Verilog的模块是用于描述数字电路的基本单元,一个模块可以包含多个输入端口和输出端口,以及内部的逻辑代码。
模块可以被实例化(例化),即在其他模块中调用并使用。
例化时需要指定模块的名称,并连接相应的输入和输出端口。
2. 请简要说明Verilog中的阻塞赋值和非阻塞赋值的区别。
Verilog系统设计考试试卷与答案
一、填空题(共10分,每空1分)1、变量是在程序运行过程中其值可以改变的量。
变量分为两种,一种类型为线网类型,一般指示硬件电路的物理连接,另一种是 ,对应的是具有状态保持作用的电路元件。
2、Verilog HDL中,如果一个给定的整数没有定义大小(size),缺省为位。
3、Verilog采用四值逻辑系统,0表示低电平,1表示高电平,x表示。
4、实际组合电路中,信号经过不同的路径到达某个门电路的输入端时,有先有后,这种现象称为。
5、有限状态机是由和组合逻辑构成的硬件时序电路;其状态只能在的情况下才能从一个状态转向另一个状态;6、状态机按照输出逻辑可以分为两种,一种称为状态机,其时序逻辑的输出不仅取决于当前状态,还取决于输入;另一种称为状态机,其时序逻辑的输出只取决于当前状态。
7、`timescale用于说明程序中的时间单位和仿真精度,语句`timescale 1ns/100ps中,程序中的仿真精度为8、完成语句,使rand0产生一个(-59,59)的随机数。
reg [23:0] rand0;rand0= ;二、选择题 ( 本题共 2 0 分,每小题 1 分 )1 、任v e r i l o g H D L 的端口声明语句中,用关键字声明端口为双向方向。
A.inoutB.INOUTC.inputD. output2、在V e r i l o g H D L的逻拇运算中,设A=8'b11010001,B=8'b00011001,则表达式"A&B"的结果为。
3A.8'b00010001B.8'b11011001C.8'b11001000D.8'b001101113、已知A=3'b110,B=3'b000,则AIIB结果为A.1B.O 110 D.3'b0014 、已知 A = 4 ' b 1 0 1 0 , 则 & A = ,A.1,0B.1,1 D.0,015、不完整的IF语句,其综合结果可实现:A . 三态控制电路B .条件相或的逻辑电路C.双向控制电路D.时序逻辑电路16、下列关于同步有限状态机的描述错误的是A. 状态变化只能发生在同一个时钟跳变沿;B.状态是否变化要根据输入信号,只要输入条件满足,就会立刻转入到下一个状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 下面哪个是可以用verilog语言进行描述,而不能用VHDL语言进行描述的级别?( A )(A) 开关级 (B)门电路级 (C) 体系结构级 (D) 寄存器传输级2.在verilog中,下列语句哪个不是分支语句?( D )(A) if-else (B) case (C) casez (D) repeat3.下列哪些Verilog的基本门级元件是多输出( D )(A) nand (B) nor (C) and (D) not4.Verilog连线类型的驱动强度说明被省略时,则默认的输出驱动强度为( B )(A) supply (B) strong (C) pull (D) weak5.元件实例语句“notif1 #(1:3:4,2:3:4,1:2:4) U1(out,in,ctrl);”中截至延迟的典型值为( B )(A) 1(B) 2 (C) 3 (D) 46.已知“a =1b’1; b=3b'001;”那么{a,b}=( C )(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'1017.根据调用子模块的不同抽象级别,模块的结构描述可以分为(ABC )(A) 模块级 (B)门级 (C) 开关级 (D) 寄存器级8.在verilog语言中,a=4b'1011,那么 &a=(D )(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'09.在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分)clkin1in2module signal_gen9(clk,in1,in2);output in1,in2,clk;reg in1,in2,clk;initialbeginin1=0;in2=1; clk=0;endinitialbegin#15 in1=1 ;#10 in1=0; #5 in1=1; #10 in1=0;endinitialbegin#5 in2=0; #5 in2=1; #25 in2=0;endalwaysbegin#5 clk=~clk;endendmodule2.试用verilog 语言,利用内置基本门级元件,采用结构描述方式生成如图所示的电路(12分)S1S2D0D1D2D3T0T1T2T3Zmodule 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); endmodule3. 试用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;endmodulemodule 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 Chip2、CPLD 复杂可编程器件 Complex Programmable Logic Device3、HDL 硬件描述语言 Hardware Describe Language4、LUT 查找表 LUT ,Look Up Table5、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 =01015. 一个大型的组合电路总延时为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_SUBAdder8 (.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;3'b010: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分endcaseelsey=8'b 1111 1111; -----------------------------1分endmodule---------------------------------------1分六、设计一个有清零、使能、装载功能的四位十进制减1计数器。