SHARE
TWEET

Untitled

a guest Jun 29th, 2019 76 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module count(
  2.   input wire reset,
  3.   input wire clk,
  4.   output reg [5:0]counter
  5. );
  6. always @(posedge clk or posedge reset)
  7.   if(reset)
  8.     counter <= 6'd0;
  9.   else
  10.     counter <= counter + 1'd1;
  11. endmodule
  12.  
  13.  
  14. module decoder(
  15.   input wire [2:0]in,
  16.   output reg [7:0]out
  17. );
  18.  
  19. always @*
  20. begin
  21.   case(in)
  22.    3'd0: out=8'b00000001;
  23.    3'd1: out=8'b00000010;
  24.    3'd2: out=8'b00000100;
  25.    3'd3: out=8'b00001000;
  26.    3'd4: out=8'b00010000;
  27.    3'd5: out=8'b00100000;
  28.    3'd6: out=8'b01000000;
  29.    3'd7: out=8'b10000000;
  30.   endcase
  31. end
  32. endmodule
  33.  
  34. module selector(
  35.   input wire [5:0]sig,
  36.   input wire [7:0]sel,
  37.   input wire sig1,
  38.   output reg out;
  39. );
  40.  
  41. always @*
  42. begin
  43. case(sel)        // 2 4 8  F
  44.    3'd0: out=sig1;   // 0 0 0  1
  45.    3'd1: out=sig[0]; // 1 0 0  2
  46.    3'd2: out=sig[1]; // 0 1 0  4
  47.    3'd3: out=sig[2]; // 1 1 0  8
  48.    3'd4: out=sig[2]; // 0 0 1  8
  49.    3'd5: out=sig[3]; // 1 0 1  16
  50.    3'd6: out=sig[4]; // 0 1 1  32
  51.    3'd7: out=sig[5]; // 1 1 1  64
  52.   endcase
  53. end
  54. endmodule
  55.  
  56. module task(
  57.   input wire [2:0]selector,
  58.   input wire clk,
  59.   input wire reset,
  60.   output wire signal
  61. );
  62. wire [5:0]c,
  63. wire [7:0]d;
  64.  
  65. always @(posedge clk or posedge reset)
  66. begin
  67.    count(.clk (clk) , .reset (reset), .counter (c));
  68.    decoder(.in (selector), .out (d));
  69.    selector(.sig (c), .sel (d), .sig1 (clk), .out(signal));
  70. end
  71. endmodule
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top