/* top.v - Implements FPGA and Board specific circuitry This file is part of the 9086 project. Copyright (c) 2023 Efthymios Kritikos This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ `include "error_header.v" module fpga_top( input clk48, input user_button, // output reset_n, output rgb_led0_r, output rgb_led0_g, output rgb_led0_b, ); wire HALT; wire [`ERROR_BITS-1:0]ERROR; wire [19:0] address_bus; wire [15:0] data_bus_read,data_bus_write; wire rd,wr,BHE,IOMEM; system system( /* MISC */ clk48,user_button /* MEMORY / IO */ ,address_bus,data_bus_read,data_bus_write,BHE,rd,wr,IOMEM,HALT,ERROR ); reg [2:0]rgb_led_color; assign rgb_led0_r=rgb_led_color[0]; assign rgb_led0_g=rgb_led_color[1]; assign rgb_led0_b=rgb_led_color[2]; always @(HALT or ERROR or user_button) begin if (HALT==0) begin /* yellow */ rgb_led_color<=3'b100; end else if (ERROR != `ERROR_BITS'b0) begin /* red */ rgb_led_color<=3'b110; end else begin /* green */ rgb_led_color<=3'b101; end end endmodule