Tesi Robotica Algoritmi ed architetture per la risoluzione di... | Page 135

135 wire go = ~KEY[1]; 895 wire start; wire [31:0] return_val; wire finish; reg [31:0] return_val_reg; 900 905 910 915 hex_digits hex_digits hex_digits hex_digits hex_digits hex_digits hex_digits hex_digits h7( h6( h5( h4( h3( h2( h1( h0( .x(return_val_reg[31:28]), .hex_LEDs(HEX7)); .x(return_val_reg[27:24]), .hex_LEDs(HEX6)); .x(return_val_reg[23:20]), .hex_LEDs(HEX5)); .x(return_val_reg[19:16]), .hex_LEDs(HEX4)); .x(return_val_reg[15:12]), .hex_LEDs(HEX3)); .x(return_val_reg[11:8]), .hex_LEDs(HEX2)); .x(return_val_reg[7:4]), .hex_LEDs(HEX1)); .x(return_val_reg[3:0]), .hex_LEDs(HEX0)); top top_inst ( .clk (clk), .reset (reset), .start (start), .finish (finish), .return_val (return_val) ); parameter s_WAIT = 3’b001, s_START = 3’b010, s_EXE = 3’b011, s_DONE = 3’b100; 920 // state registers reg [3:0] y_Q, Y_D; assign LEDG[3:0] = y_Q; 925 930 // next state always @(*) begin case (y_Q) s_WAIT: if (go) Y_D = s_START; else Y_D = y_Q; s_START