Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

TopRv

RV32I ソフトコアのブリングアップ用トップ (docs/riscv.md パッチ計画 #6)

既存の Top(UART エコー + LCD + PSRAM + TF カード)とは別のビットストリームで, ソフトコアだけを動かす最小構成.LUT 予算の都合で両者は同居できないため, ペリフェラルをソフトウェアへ移すまでの間はこのトップで検証する (docs/riscv.md「残課題・リスク」の LUT 予算).

flowchart LR
     ROM["RvBootRom<br>(software/hello.S)"] --> SOC
     SOC["RvSoc<br>RvCore + ROM + RAM + MMIO"] -- "stream_if" --> TX["Uart TX"] -- uart_tx --> PC["PC (COMポート)"]
     SOC -- "AXI4-Lite" --> PS["PsramSubsystem<br>rPLL + SDR phy + ctrl + bridge"] <--> RAM["内蔵 PSRAM ch0"]
     TX -. "傍受 (valid && ready)" .-> CON["TextConsole"] --> LCD["5inch LCD"]
     SOC --> LEDS["leds (active-low)"]

Parameters


OscFreq u32 オシレータ周波数 [Hz]
NumLeds u32 LED 数

Ports


i_clk input clock 27 MHz オシレータ
i_rst input reset S1 ボタン (active-low)
leds output logic LED (active-low)
uart_tx output logic UART TX
uart_rx input logic UART RX (未使用.読み捨てる)
lcd_clk output logic LCD ピクセルクロック (反転出力)
lcd_de output logic LCD データイネーブル
lcd_hsync output logic LCD 水平同期 (負極性)
lcd_vsync output logic LCD 垂直同期 (負極性)
lcd_r output logic<5> LCD R (RGB565)
lcd_g output logic<6> LCD G (RGB565)
lcd_b output logic<5> LCD B (RGB565)
O_psram_ck output logic<2> PSRAM CK (ch1:ch0)
O_psram_ck_n output logic<2> PSRAM CK# (差動)
O_psram_cs_n output logic<2> PSRAM CS#
O_psram_reset_n output logic<2> PSRAM RESET#
IO_psram_dq inout trilogic<16> PSRAM DQ (ch0=下位8bit)
IO_psram_rwds inout trilogic<2> PSRAM RWDS (ch0=bit0)
tf_sclk output logic TF SCK
tf_mosi output logic TF MOSI
tf_cs_n output logic TF CS#
tf_miso input logic TF MISO