mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	merged lza back into main
This commit is contained in:
		
						commit
						06c4f18cd1
					
				@ -85,8 +85,7 @@ module fma(
 | 
				
			|||||||
        
 | 
					        
 | 
				
			||||||
    fmaadd add(.Am, .Pm, .Ze, .Pe, .Ps, .As, .KillProd, .ZmSticky, .AmInv, .PmKilled, .NegSum, .InvA, .Sm, .Se, .Ss);
 | 
					    fmaadd add(.Am, .Pm, .Ze, .Pe, .Ps, .As, .KillProd, .ZmSticky, .AmInv, .PmKilled, .NegSum, .InvA, .Sm, .Se, .Ss);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   
 | 
					    fmalza #(3*`NF+6) lza(.A(AmInv), .Pm({PmKilled, 1'b0, InvA&Ps&ZmSticky&KillProd}), .Cin(InvA & ~(ZmSticky & ~KillProd)), .sub(InvA), .SCnt);
 | 
				
			||||||
    fmalza lza(.A(AmInv), .Pm({PmKilled, 1'b0, InvA&Ps&ZmSticky&KillProd}), .Cin(InvA & ~(ZmSticky & ~KillProd)), .sub(InvA), .SCnt);
 | 
					 | 
				
			||||||
endmodule
 | 
					endmodule
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -29,17 +29,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
`include "wally-config.vh"
 | 
					`include "wally-config.vh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module fmalza( // [Schmookler & Nowka, Leading zero anticipation and detection, IEEE Sym. Computer Arithmetic, 2001]
 | 
					module fmalza #(WIDTH) ( // [Schmookler & Nowka, Leading zero anticipation and detection, IEEE Sym. Computer Arithmetic, 2001]
 | 
				
			||||||
    input logic [3*`NF+5:0] 	       A, // addend
 | 
					    input logic [WIDTH-1:0] 	       A, // addend
 | 
				
			||||||
    input logic [2*`NF+3:0] 	       Pm, // product
 | 
					    input logic [2*`NF+3:0] 	       Pm, // product
 | 
				
			||||||
    input logic 		       Cin, // carry in
 | 
					    input logic 		       Cin, // carry in
 | 
				
			||||||
    input logic sub,
 | 
					    input logic sub,
 | 
				
			||||||
    output logic [$clog2(3*`NF+7)-1:0] SCnt   // normalization shift count for the positive result
 | 
					    output logic [$clog2(WIDTH+1)-1:0] SCnt   // normalization shift count for the positive result
 | 
				
			||||||
    ); 
 | 
					    ); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    localparam WIDTH = 3*`NF+6;
 | 
					   logic [WIDTH:0] 	       F;
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
   logic [WIDTH:0] 		       F;
 | 
					 | 
				
			||||||
   logic [WIDTH-1:0]  B, P, G, K;
 | 
					   logic [WIDTH-1:0]  B, P, G, K;
 | 
				
			||||||
    logic [WIDTH-1:0] Pp1, Gm1, Km1;
 | 
					    logic [WIDTH-1:0] Pp1, Gm1, Km1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user