| module top (input ci, input cyinit, input s0, output o0); |
| wire [3:0] o, passthru_co, passthru_o; |
| |
| CARRY4 carry4_inst ( |
| // This will produce the following warning, but will still generate a bitstream.. needs some testing in hardware. |
| // WARNING: [DRC REQP-16] virt5_carry4_input_rule1: CYINIT and CI of carry4_inst cannot be used at the same time. |
| .CI(passthru_co[3]), |
| .CYINIT(cyinit), |
| .DI(4'b0000), |
| .S({3'b000, s0}), |
| .O(o) |
| ); |
| |
| CARRY4 carry4_passthru ( |
| .CI(1'b1), |
| .CYINIT(1'b1), |
| .DI({ci, 3'b000}), |
| .S(4'b0000), |
| .CO(passthru_co) |
| ); |
| |
| assign o0 = o[0]; |
| endmodule |