| module mult_ireg ( | |
| input wire CLK, | |
| input wire [ 8:0] A, | |
| input wire [ 8:0] B, | |
| output wire [17:0] Z | |
| ); | |
| reg [8:0] ra; | |
| always @(posedge CLK) | |
| ra <= A; | |
| MULT9X9 # ( | |
| .REGINPUTA("BYPASS"), | |
| .REGINPUTB("BYPASS"), | |
| .REGOUTPUT("BYPASS") | |
| ) mult ( | |
| .A (ra), | |
| .B (B), | |
| .Z (Z) | |
| ); | |
| endmodule | |
| module mult_oreg ( | |
| input wire CLK, | |
| input wire [ 8:0] A, | |
| input wire [ 8:0] B, | |
| output reg [17:0] Z | |
| ); | |
| reg [17:0] z; | |
| always @(posedge CLK) | |
| Z <= z; | |
| MULT9X9 # ( | |
| .REGINPUTA("BYPASS"), | |
| .REGINPUTB("BYPASS"), | |
| .REGOUTPUT("BYPASS") | |
| ) mult ( | |
| .A (A), | |
| .B (B), | |
| .Z (z) | |
| ); | |
| endmodule | |
| module mult_all ( | |
| input wire CLK, | |
| input wire [ 8:0] A, | |
| input wire [ 8:0] B, | |
| output reg [17:0] Z | |
| ); | |
| reg [8:0] ra; | |
| always @(posedge CLK) | |
| ra <= A; | |
| reg [8:0] rb; | |
| always @(posedge CLK) | |
| rb <= B; | |
| reg [17:0] z; | |
| always @(posedge CLK) | |
| Z <= z; | |
| MULT9X9 # ( | |
| .REGINPUTA("BYPASS"), | |
| .REGINPUTB("BYPASS"), | |
| .REGOUTPUT("BYPASS") | |
| ) mult ( | |
| .A (ra), | |
| .B (rb), | |
| .Z (z) | |
| ); | |
| endmodule |