Verilog练习参考答案

更新时间:2023-05-18 20:02:05 阅读: 评论:0

一、问答题
  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)
clk
clr
t
a
z
 
高等教育毛入学率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
                                      、       

本文发布于:2023-05-18 20:02:05,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/914022.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:变化   程序   并入   输出   寄存器   数据   标识符   错误
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图