Holey_yan

20141016_KUAS_Verilog_Divider_Mod3

Oct 24th, 2014
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /************************************/
  2. /** 20141016 Mod 3 Divider         **/
  3. /** Maker  : Yan                   **/
  4. /** E-Mail : [email protected] **/
  5. /** Date   : 2014/10/16 pm.10:30   **/
  6. /************************************/
  7.  
  8. module Divider_Mod3(Clk, Clr, _output);
  9.     input   Clk, Clr;
  10.     output  _output;
  11.     reg [1:0] cnt_p, cnt_n;
  12.     reg clk_p, clk_n;
  13.    
  14.     assign  _output = clk_p | clk_n;
  15.     always@(posedge Clk or posedge Clr)
  16.     begin
  17.         if(Clr == 1)
  18.             cnt_p = 0;
  19.         else
  20.             if(cnt_p == 2)
  21.                 cnt_p = 0;
  22.             else
  23.                 cnt_p = cnt_p + 1;
  24.     end
  25.     always@(posedge Clk or posedge Clr)
  26.     begin
  27.         if(Clr == 1)
  28.             clk_p = 0;
  29.         else
  30.             if(cnt_p == 0)
  31.                 clk_p = 1;
  32.             else
  33.                 clk_p = 0;
  34.     end
  35.     always@(negedge Clk or posedge Clr)
  36.     begin
  37.         if(Clr == 1)
  38.             cnt_n = 0;
  39.         else
  40.             if(cnt_n == 2)
  41.                 cnt_n = 0;
  42.             else
  43.                 cnt_n = cnt_n + 1;
  44.     end
  45.     always@(negedge Clk or posedge Clr)
  46.     begin
  47.         if(Clr == 1)
  48.             clk_n = 0;
  49.         else
  50.             if(cnt_n == 0)
  51.                 clk_n = 1;
  52.             else
  53.                 clk_n = 0;
  54.     end
  55. endmodule
Advertisement
Add Comment
Please, Sign In to add comment