# Add placement constraints here
+set_io clk -pinname H16 -fixed yes -DIRECTION INPUT
+set_io SW1 -pinname H12 -fixed yes -DIRECTION INPUT
+set_io SW2 -pinname H13 -fixed yes -DIRECTION INPUT
+set_io LED1 -pinname J16 -fixed yes -DIRECTION OUTPUT
+set_io LED2 -pinname M16 -fixed yes -DIRECTION OUTPUT
+set_io LED3 -pinname K16 -fixed yes -DIRECTION OUTPUT
+set_io LED4 -pinname N16 -fixed yes -DIRECTION OUTPUT
module example (
input clk,
- input EN,
+ input SW1,
+ input SW2,
output LED1,
output LED2,
output LED3,
- output LED4,
- output LED5
+ output LED4
);
- localparam BITS = 5;
+ localparam BITS = 4;
localparam LOG2DELAY = 22;
reg [BITS+LOG2DELAY-1:0] counter = 0;
reg [BITS-1:0] outcnt;
always @(posedge clk) begin
- counter <= counter + EN;
+ counter <= counter + SW1 + SW2 + 1;
outcnt <= counter >> LOG2DELAY;
end
- assign {LED1, LED2, LED3, LED4, LED5} = outcnt ^ (outcnt >> 1);
+ assign {LED1, LED2, LED3, LED4} = outcnt ^ (outcnt >> 1);
endmodule