Skip to content

Commit 03f60dd

Browse files
phsautervillanif
authored andcommitted
hw: replace apb_uart with obi_uart (pulp-platform#61)
* hw: replace apb_uart with obi_uart apb_uart implements only 16750 (larger FIFO) obi_uart was developed by students at ETHZ. It implements 16550A (smaller), with plans to add an optional 16750 mode in the future. This and native obi makes obi_uart a better fit for smaller systems like croc. * test: add uart receive check via loopback mode * sw: fix relocation truncated to fit error
1 parent 8096902 commit 03f60dd

38 files changed

+2174
-2844
lines changed

.github/scripts/check_sim.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ expected_lines=(
1212
"\[JTAG\] Halting hart 0"
1313
"\[JTAG\] Resumed hart 0"
1414
"\[UART\] Hello World!"
15+
"\[UART\] Loopback received: internal msg"
1516
"\[UART\] Result: 0x8940, Cycles: 0xBD"
1617
"\[UART\] Tick"
1718
"\[UART\] Tock"

Bender.local

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ overrides:
44
common_cells: { path: "rtl/common_cells" }
55
apb: { path: "rtl/apb" }
66
register_interface: { path: "rtl/register_interface" }
7-
apb_uart: { path: "rtl/apb_uart" }
7+
obi_peripherals: { path: "rtl/obi_uart" }
88
ibex: { path: "rtl/ibex" }
99
obi: { path: "rtl/obi" }
1010
riscv-dbg: { path: "rtl/riscv-dbg" }

croc.flist

Lines changed: 25 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,3 @@
1-
# Copyright (c) 2025 ETH Zurich and University of Bologna.
2-
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
3-
# SPDX-License-Identifier: Apache-2.0
4-
#
5-
# Authors:
6-
# - Philippe Sauter <[email protected]>
7-
8-
# List of files to synthesize the design
9-
# A file list given to the yosys-slang frontend to load the design
10-
# In this flow we use 'read_slang -F croc.flist' to load this file
11-
# All paths are relative to this file (use -f to make them relative to CWD)
12-
# It contains:
13-
# - include directores expected from SystemVerilog 'include' statements
14-
# - defines used in some SystemVerilog files
15-
# often used to guard non-synthesisable code or select some implementation
16-
# - the paths to all source files
17-
181
+incdir+rtl/apb/include
192
+incdir+rtl/common_cells/include
203
+incdir+rtl/cve2/include
@@ -108,27 +91,16 @@ rtl/common_cells/stream_arbiter.sv
10891
rtl/common_cells/stream_omega_net.sv
10992
rtl/common_cells/mem_to_banks.sv
11093
rtl/apb/apb_pkg.sv
111-
rtl/register_interface/reg_intf.sv
112-
rtl/register_interface/lowrisc_opentitan/prim_subreg_arb.sv
113-
rtl/register_interface/lowrisc_opentitan/prim_subreg_ext.sv
114-
rtl/register_interface/periph_to_reg.sv
115-
rtl/register_interface/reg_to_apb.sv
116-
rtl/register_interface/lowrisc_opentitan/prim_subreg_shadow.sv
117-
rtl/register_interface/lowrisc_opentitan/prim_subreg.sv
118-
rtl/apb_uart/slib_clock_div.sv
119-
rtl/apb_uart/slib_counter.sv
120-
rtl/apb_uart/slib_edge_detect.sv
121-
rtl/apb_uart/slib_fifo.sv
122-
rtl/apb_uart/slib_input_filter.sv
123-
rtl/apb_uart/slib_input_sync.sv
124-
rtl/apb_uart/slib_mv_filter.sv
125-
rtl/apb_uart/uart_baudgen.sv
126-
rtl/apb_uart/uart_interrupt.sv
127-
rtl/apb_uart/uart_receiver.sv
128-
rtl/apb_uart/uart_transmitter.sv
129-
rtl/apb_uart/apb_uart.sv
130-
rtl/apb_uart/apb_uart_wrap.sv
131-
rtl/apb_uart/reg_uart_wrap.sv
94+
rtl/obi/obi_pkg.sv
95+
rtl/obi/obi_intf.sv
96+
rtl/obi/obi_rready_converter.sv
97+
rtl/obi/obi_atop_resolver.sv
98+
rtl/obi/obi_cut.sv
99+
rtl/obi/obi_demux.sv
100+
rtl/obi/obi_err_sbr.sv
101+
rtl/obi/obi_mux.sv
102+
rtl/obi/obi_sram_shim.sv
103+
rtl/obi/obi_xbar.sv
132104
rtl/cve2/cve2_pkg.sv
133105
rtl/cve2/cve2_alu.sv
134106
rtl/cve2/cve2_compressed_decoder.sv
@@ -149,15 +121,21 @@ rtl/cve2/cve2_id_stage.sv
149121
rtl/cve2/cve2_prefetch_buffer.sv
150122
rtl/cve2/cve2_if_stage.sv
151123
rtl/cve2/cve2_core.sv
152-
rtl/obi/obi_pkg.sv
153-
rtl/obi/obi_intf.sv
154-
rtl/obi/obi_rready_converter.sv
155-
rtl/obi/obi_atop_resolver.sv
156-
rtl/obi/obi_demux.sv
157-
rtl/obi/obi_err_sbr.sv
158-
rtl/obi/obi_mux.sv
159-
rtl/obi/obi_sram_shim.sv
160-
rtl/obi/obi_xbar.sv
124+
rtl/obi_uart/obi_uart_pkg.sv
125+
rtl/obi_uart/obi_uart_baudgen.sv
126+
rtl/obi_uart/obi_uart_interrupts.sv
127+
rtl/obi_uart/obi_uart_modem.sv
128+
rtl/obi_uart/obi_uart_rx.sv
129+
rtl/obi_uart/obi_uart_tx.sv
130+
rtl/obi_uart/obi_uart_register.sv
131+
rtl/obi_uart/obi_uart.sv
132+
rtl/register_interface/reg_intf.sv
133+
rtl/register_interface/lowrisc_opentitan/prim_subreg_arb.sv
134+
rtl/register_interface/lowrisc_opentitan/prim_subreg_ext.sv
135+
rtl/register_interface/periph_to_reg.sv
136+
rtl/register_interface/reg_to_apb.sv
137+
rtl/register_interface/lowrisc_opentitan/prim_subreg_shadow.sv
138+
rtl/register_interface/lowrisc_opentitan/prim_subreg.sv
161139
rtl/riscv-dbg/dm_pkg.sv
162140
rtl/riscv-dbg/debug_rom/debug_rom.sv
163141
rtl/riscv-dbg/debug_rom/debug_rom_one_scratch.sv

rtl/apb_uart/Bender.yml

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)