Advertisement
Guest User

Untitled

a guest
May 14th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module alu
  2. #(parameter nsumab = 2'b00, nmulab = 2'b01, sumab1 = 2'b10, sumab = 2'b11)
  3.  
  4.     (input [7:0] a, b,
  5.     input wire clk,
  6.      input [1:0] ctrl,
  7.     output reg [15:0] f);
  8.  
  9. reg [7:0] c;
  10. always @(posedge clk)
  11. begin
  12.     case (ctrl)
  13.         nsumab:
  14.             begin
  15.                 c = a + b;
  16.                 f = ~c;
  17.             end
  18.         nmulab:
  19.             begin
  20.                 c = a * b;
  21.                 f = ~c;
  22.             end
  23.         sumab1:
  24.             begin
  25.                 c = a + b;
  26.                 f = c + 1'b1;
  27.             end
  28.         sumab:
  29.             begin
  30.                 c = ~b;
  31.                 f = (a + c) + 1'b1;
  32.             end
  33.         default: f = 0;
  34.     endcase
  35. end
  36. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement