mirror of
https://github.com/retroSoC/retroSoC.git
synced 2026-11-06 22:55:14 +00:00
- 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.
92 lines
2.2 KiB
Systemverilog
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
|