Files
retroSoC/rtl/mini/top/retrosoc_asic.sv
T
maksyuki f5b373fd65 feat: enhance build variant ID generation and regression environment setup
- Added timestamp normalization to  function in , allowing for optional timestamp input.
- Updated command-line interface to accept a timestamp argument for generating deterministic build variant IDs.
- Modified  in  to include a build timestamp in the environment variables.
- Introduced a new test suite in  to validate the pin-map generator, including tests for duplicate pads and invalid entries.
- Added a test for ensuring the regression runner uses a consistent build timestamp.
- Created a new SystemVerilog testbench for the APB4 interface bridge to verify correct signal crossing.
2026-07-21 10:59:31 +08:00

92 lines
2.2 KiB
Systemverilog

// Copyright (c) 2023-2026 Yuchi Miao <miaoyuchi@ict.ac.cn>
// retroSoC is licensed under Mulan PSL v2.
// You can use this software according to the terms and conditions of the Mulan PSL v2.
// You may obtain a copy of Mulan PSL v2 at:
// http://license.coscl.org.cn/MulanPSL2
// THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
// EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
`include "gpio_define.svh"
`include "mdd_config.svh"
module retrosoc_asic (
`include "retrosoc_asic_ports.svh"
);
logic s_ext_clk;
logic s_aud_clk;
logic s_sys_clkdiv4;
`ifdef HAVE_PLL
logic s_xtal_io;
`endif
logic s_sys_clk;
logic s_ext_rst_n;
logic s_sys_rst_n;
logic s_aud_rst_n;
`ifdef CORE_MDD
logic [`USER_CORESEL_WIDTH-1:0] s_core_sel;
`endif
`ifdef IP_MDD
gpio_if #(`USER_GPIO_NUM) u_user_gpio_if ();
`endif
`ifdef HAVE_SRAM_IF
ram_if u_ram_if ();
`endif
gpio_if u_gpio_if ();
uart_if u_uart0_if ();
xpi_if u_xpi_if ();
sdram_if u_sdram_if ();
pll_ctrl_if u_pll_ctrl_if ();
`include "retrosoc_asic_pad_bindings.svh"
rcu u_rcu (
.ext_clk_i (s_ext_clk),
.aud_clk_i (s_aud_clk),
.ext_rst_n_i (s_ext_rst_n),
`ifdef HAVE_PLL
.xtal_clk_i (s_xtal_io),
`endif
.pll_ctrl (u_pll_ctrl_if),
.sys_clk_o (s_sys_clk),
.sys_rst_n_o (s_sys_rst_n),
.aud_rst_n_o (s_aud_rst_n),
.sys_clkdiv4_o(s_sys_clkdiv4)
);
`ifdef HAVE_SRAM_IF
onchip_ram u_onchip_ram (
.clk_i(s_sys_clk),
.ram (u_ram_if)
);
`endif
retrosoc u_retrosoc (
.clk_i (s_sys_clk),
.rst_n_i (s_sys_rst_n),
.clk_aud_i (s_aud_clk),
.rst_aud_n_i(s_aud_rst_n),
.clkdiv4_i (s_sys_clkdiv4),
.pll_ctrl (u_pll_ctrl_if),
`ifdef CORE_MDD
.core_sel_i (s_core_sel),
`endif
`ifdef IP_MDD
.user_gpio (u_user_gpio_if),
`endif
`ifdef HAVE_SRAM_IF
.ram (u_ram_if),
`endif
.gpio (u_gpio_if),
.uart0 (u_uart0_if),
.xpi (u_xpi_if),
.sdram (u_sdram_if)
);
endmodule