13年6个月前IP:未同步
534716
8楼
实验:
实验一:
//compare.v
module compare (equal , a , b) ;
  input a , b ;
  output equal ;
  assign equal = (a == b) ? 1 : 0 ;
endmodule

//t.v
`timescale 1 ns/1 ns
`include "./compare.v"

module t ;
  reg a , b ;
  wire equal ;
  initial
  begin
    a = 0 ;
    b = 0 ;
    #100 a = 0 ; b = 1 ;
    #100 a = 1 ; b = 1 ;
    #100 a = 1 ; b = 0 ;
    #100 a = 0 ; b = 0 ;
    #100 $stop ;
  end
  
  compare m(.equal(equal),.a(a),.b(b)) ;
endmodule



实验二:
//half_clk.v
module half_clk (reset , clk_in , clk_out) ;
  input clk_in , reset ;
  output clk_out ;
  reg clk_out ;
  
  always @ (posedge clk_in)
  begin
    if (! reset)
      clk_out = 0 ;
    else
      clk_out = ~clk_out ;
  end
  
endmodule

//t.v
`timescale 1 ns/100 ps
`define clk_cycle 50

module top ;
  reg clk , reset ;
  wire clk_out ;
  
  always #`clk_cycle clk = ~clk ;
  
  initial
  begin
    clk = 0 ;
    reset = 1 ;
    #10 reset = 0 ;
    #110 reset = 1 ;
    #100000 $stop ;
  end
  
  half_clk m0(.reset(reset),.clk_in(clk),.clk_out(clk_out)) ;
endmodule



实验三:
//fdivision.v
module fdivision (RESET , F10M , F500K) ;
  input F10M , RESET ;
  output F500K ;
  reg F500K ;
  reg [7:0] j ;
  always @ (posedge F10M)
    if (! RESET)
      begin
        F500K <= 0 ;
        j <= 0 ;
      end
    else
      begin
        if (j == 19)
          begin
            j <= 0 ;
            F500K <= ~F500K ;
          end
        else
          j <= j + 1 ;
      end
endmodule

//t.v
`timescale 1ns/100ps
`define clk_cycle 50
`include "fdivision.v"

module t ;
  reg F10M , RESET ;
  wire F500K_clk ;
  
  always #`clk_cycle F10M = ~ F10M ;
  
  initial
  begin
    RESET = 1 ;
    F10M = 0 ;
    #100 RESET = 0 ;
    #100 RESET = 1 ;
    #10000 $stop ;
  end
  
  fdivision fdivision(.RESET(RESET),.F10M(F10M),.F500K(F500K_clk)) ;
  
endmodule
评论
文号 / 534716

十步芳草
名片发私信
学术分 0
总主题 17 帖总回复 140 楼拥有证书:笔友
注册于 2013/06/11 10:39:33最后登录 2018/01/10 00:58:52
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:0

个人简介

暂未填写
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的