一、问答题
1、下面哪些是正确的用户定义的标识符?对错误的标识符,指出其错误的原因。
1)Help √
2)2nd_item Χ,以数字2为首
3)cax Χ,cax是verilog的关键字
4)integer Χ,integer是verilog的关键字
5)_na36me √
6)$time Χ
7)module Χ,modul是everilog的关键字
8)‘xy_a Χ,不允许出现字符‘
为什么会有湿疹
9)7tyr Χ,以数字7为首
10)myex4 mp Χ,含有空格符
2、定义如下的变量和常量
1)32位的寄存器变量buf1 reg[31:0] buf1;
2)整数age 爱情的文案 integer age ;
3)容量为256单元、字长为16位的存储器memory
reg[15:0] memory[255:0] ;
4)长度为32的向量buf2 reg[31:0] buf2 ;陈莲河
5)值为50的参数COUNT parameter COUNT=50 ;
3、写出下列表达式的值
1) (20==5) ? 8: (26>3) ? 3 : 9 3 2) 9/6 1
3)4’b0110&4’b1100 0100 4) 4’b0110&&4’b1100 1
5)4’b0011|4’b1100 1111 6)4’b0011||4’b1100 1
7) 9%6 3 8)4’b0111>>2 0001 9)4’b0111<<2 1100
二、读程序,回答相关问题:
1、module a1(a,b,l,out) ;
input [3:0] a,b ; input [1:0] l ;
output [3:0] out ;
always @(a or b or l)
ca (l)
制冰机制冰
2’b00 : out=a+b ;
2’b01 : out=a ;
2’b10 : out=b
杭州市教育局
2’b11 : out=a-b ;
endca
;endmodule
若输入1)a=s’b0111 b=4’b0100 l=2’b00 问输出out= 1011 ;
2)a=s’b1011 b=4’b0100 l=2’b01 问输出out= 1011 ;
3)a=s’b1011 b=4’b0100 l=2’b10 问输出out= 0100 ;
4)a=s’b1011 b=4’b0100 l=2’b11 问输出out= 0111 .
2、’timescale 100ns/10ns
module gete2( a,b,out) ;
input a,b ;
a 1540ns
b
z 590ns
950ns
out
output out ;and # (10.46, 5.87) (z,a,b) ;
nor # (9.49,5.37) (out,z,a) ;
endmodule
问:仿真时,当输入a、b从11变到01时,则输出out如何变化?相对a的变化,out的变化延时多少时间? 延时1540ns
3、module a2( clk,clr,t,a, z) ;
input a,clk,clr ;
output reg z ;
reg[3:0] q ;
always @(podge clk or podge clr)
begin if (clr) q<=4’b0 ;
el if (t) q<=4`hf ; el begin q<<1 ; q[0]<=a; end
end
assign z=q[3] ;
endmodule
试判断该逻辑电路的逻辑功能;若输入信号t、clr、clk、a的波形如下,试画出输出
z的波形。(设初始输出z=1)
高等教育毛入学率4、结构描述电路如下,请画出其逻辑电路。
module (a,b,z ) ;
input a[1:0],b[1:0] ; output[1:0] z ;
and A1(t0,a[0],b[0]), A2(t1,a[1],b[1]) ;
or B (z[0],t1, t0 ) ;
bufif1(z[1],t0,t1) ;
endmodule
可控并入串出的移位寄存器:
异步并入:当输入信号read=1时,将四位数据data并行读入寄存器q。
可控移位:当l=1时,并入的数据在clk作用下,逐位右移从out输出;当l=0时,并入的数据在clk作用下,逐位左移从out输出。
5、module a3(data,clk,read,out,l) ; input[3;0] data ; input clk,l,read ;
output out ;
reg[3;0] q ;
always @(podge clk or read )
if(read) q<=data ;
相处英语
el if ( l) begin out<=q[0] ; q>>1 ; end
el begin out<.q[3] ; q<<1 ; end
endmodule
试判断该逻辑电路的逻辑功能。
三、程序改错
1、 module exaa(clk,d,z) ;
input d[7:0],clk,clr,t ; output reg z’ input[7:0] d ;
input clk,clr,t ;
output reg z ;
reg[7:0] q;
always always @(podge clk) ;
if(clr ) q<=8`b00000000 ;
el if(t) q<=8’hff ;
el q[7]=d ; z<=q[7] ; el begin q=d; z<=q[7];end
end module endmodule
2、module exab(a,b,c,d,e) module exab(a,b,c,d,e) ;
input a,b,c; output d,e;
nand(a,b,c,d); nand(d, a,b,c);
bufif0(c,d,e); bufif0(e, c,d);
not((d,e,a,b); not (d, a);
end module, 小孩子的简笔画endmodule
3 下面的程序是右下图电路的结构描述。
module exac(a,b,c,z);
input[1:0] a;
input b,c ; output[1:0] z ;
xnor A(x, a[0],a[1]);
or B(z[0], b, x) ;
nand C(y,a[1],c) ;
bufif1[z[1], y, b] ;
endmodule
moduleexac(a,b,c,z)
input a,b,c ; output z ;
nxor A(a[0],a[1],y);
or(b,z[0],x) ;
nad(x,a[1],c) ;
bufif0[z[1],b,y] ;
end module
、