Advertisement
Guest User

Untitled

a guest
Nov 24th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module FXPAddSub #(parameter LATENCY = 2) (
  2.     input logic add_sub,
  3.     input logic clock,
  4.     input logic[31:0] dataa,
  5.     input logic[31:0] datab,
  6.     output logic[31:0] result
  7. );
  8.  
  9.     logic[31:0] delay_regs[LATENCY:0];
  10.     logic[31:0] add_sub_result;
  11.  
  12.     always_comb begin
  13.         if (add_sub) delay_regs[LATENCY] = dataa + datab;
  14.         else         delay_regs[LATENCY] = dataa - datab;
  15.     end
  16.  
  17.     always_ff @ (posedge clock) begin
  18.         for (int i = 0; i < LATENCY; i++) delay_regs[i] <= delay_regs[i + 1];
  19.     end
  20.  
  21.     assign result = delay_regs[0];
  22. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement