Files
retroDE_ps2/qsys/peripheral_subsys/peripheral_subsys/peripheral_subsys.html
T
thejayman77 ec82764bef Initial commit: retroDE_ps2 — first-of-its-kind PS2 GS FPGA core (DE25-Nano / Agilex 5)
RTL (GS rasterizer, EE core stub, platform bridge, LPDDR4B path), sim regression
(272 TBs), docs, and tooling. Copyrighted PS2 content (BIOS, game code, GS dumps,
and all dump-derived textures/traces) is excluded via .gitignore and stays local.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 20:10:50 -04:00

784 lines
22 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>datasheet for peripheral_subsys</title>
<style type="text/css">
body { font-family:arial ;}
a { text-decoration:underline ; color:#003000 ;}
a:hover { text-decoration:underline ; color:0030f0 ;}
td { padding : 5px ;}
table.topTitle { width:100% ;}
table.topTitle td.l { text-align:left ; font-weight: bold ; font-size:30px ;}
table.topTitle td.r { text-align:right ; font-weight: bold ; font-size:16px ;}
table.blueBar { width : 100% ; border-spacing : 0px ;}
table.blueBar td { background:#0036ff ; font-size:12px ; color : white ; text-align : left ; font-weight : bold ;}
table.blueBar td.l { text-align : left ;}
table.blueBar td.r { text-align : right ;}
table.items { width:100% ; border-collapse:collapse ;}
table.items td.label { font-weight:bold ; font-size:16px ; vertical-align:top ;}
table.items td.mono { font-family:courier ; font-size:12px ; white-space:pre ;}
div.label { font-weight:bold ; font-size:16px ; vertical-align:top ; text-align:center ;}
table.grid { border-collapse:collapse ;}
table.grid td { border:1px solid #bbb ; font-size:12px ;}
body { font-family:arial ;}
table.x { font-family:courier ; border-collapse:collapse ; padding:2px ;}
table.x td { border:1px solid #bbb ;}
td.tableTitle { font-weight:bold ; text-align:center ;}
table.grid { border-collapse:collapse ;}
table.grid td { border:1px solid #bbb ;}
table.grid td.tableTitle { font-weight:bold ; text-align:center ;}
table.mmap { border-collapse:collapse ; text-size:11px ; border:1px solid #d8d8d8 ;}
table.mmap td { border-color:#d8d8d8 ; border-width:1px ; border-style:solid ;}
table.mmap td.empty { border-style:none ; background-color:#f0f0f0 ;}
table.mmap td.slavemodule { text-align:left ; font-size:11px ; border-style:solid solid none solid ;}
table.mmap td.slavem { text-align:right ; font-size:9px ; font-style:italic ; border-style:none solid none solid ;}
table.mmap td.slaveb { text-align:right ; font-size:9px ; font-style:italic ; border-style:none solid solid solid ;}
table.mmap td.mastermodule { text-align:center ; font-size:11px ; border-style:solid solid none solid ;}
table.mmap td.masterlr { text-align:center ; font-size:9px ; font-style:italic ; border-style:none solid solid solid ;}
table.mmap td.masterl { text-align:center ; font-size:9px ; font-style:italic ; border-style:none none solid solid ;}
table.mmap td.masterm { text-align:center ; font-size:9px ; font-style:italic ; border-style:none none solid none ;}
table.mmap td.masterr { text-align:center ; font-size:9px ; font-style:italic ; border-style:none solid solid none ;}
table.mmap td.addr { font-family:courier ; font-size:9px ; text-align:right ;}
table.connectionboxes { border-collapse:separate ; border-spacing:0px ; font-family:arial ;}
table.connectionboxes td.from { border-bottom:1px solid black ; font-size:9px ; font-style:italic ; vertical-align:bottom ; text-align:left ;}
table.connectionboxes td.to { font-size:9px ; font-style:italic ; vertical-align:top ; text-align:right ;}
table.connectionboxes td.lefthandwire { border-bottom:1px solid black ; font-size:9px ; font-style:italic ; vertical-align:bottom ; text-align:right ;}
table.connectionboxes td.righthandwire { border-bottom:1px solid black ; font-size:9px ; font-style:italic ; vertical-align:bottom ; text-align:left ;}
table.connectionboxes td.righthandlabel { font-size:11px ; vertical-align:bottom ; text-align:left ;}
table.connectionboxes td.neighbor { padding:3px ; border:1px solid black ; font-size: 11px ; background:#e8e8e8 ; vertical-align:center ; text-align:center ;}
table.connectionboxes td.main { padding:8px ; border:1px solid black ; font-size: 14px ; font-weight:bold ; background:#ffffff ; vertical-align:center ; text-align:center ;}
.parametersbox { border:1px solid #d0d0d0 ; display:inline-block ; max-height:160px ; overflow:auto ; width:360px ; font-size:10px ;}
.flowbox { display:inline-block ;}
.parametersbox table { font-size:10px ;}
td.parametername { font-style:italic ;}
td.parametervalue { font-weight:bold ;}
div.greydiv { vertical-align:top ; text-align:center ; background:#eeeeee ; border-top:1px solid #707070 ; border-bottom:1px solid #707070 ; padding:20px ; margin:20px ; width:auto ;}</style>
</head>
<body>
<table class="topTitle">
<tr>
<td class="l">peripheral_subsys</td>
<td class="r">
<br/>
<br/>
</td>
</tr>
</table>
<table class="blueBar">
<tr>
<td class="l">2026.05.11.21:03:51</td>
<td class="r">Datasheet</td>
</tr>
</table>
<div style="width:100% ; height:10px"> </div>
<div class="label">Overview</div>
<div class="greydiv">
<div style="display:inline-block ; text-align:left">
<table class="connectionboxes">
<tr style="height:6px">
<td></td>
</tr>
</table>
</div><span style="display:inline-block ; width:28px"> </span>
<div style="display:inline-block ; text-align:left"><span>
<br/>All Components
<br/>&#160;&#160;
<a href="#module_button_pio"><b>button_pio</b>
</a> altera_avalon_pio 19.2.3
<br/>&#160;&#160;
<a href="#module_dipsw_pio"><b>dipsw_pio</b>
</a> altera_avalon_pio 19.2.3
<br/>&#160;&#160;
<a href="#module_led_pio"><b>led_pio</b>
</a> altera_avalon_pio 19.2.3
<br/>&#160;&#160;
<a href="#module_pb_cpu_0"><b>pb_cpu_0</b>
</a> altera_avalon_mm_bridge 20.1.0
<br/>&#160;&#160;
<a href="#module_sysid"><b>sysid</b>
</a> altera_avalon_sysid_qsys 19.1.7</span>
</div>
</div>
<div style="width:100% ; height:10px"> </div>
<div class="label">Memory Map</div>
<table class="mmap">
<tr>
<td class="empty" rowspan="2"></td>
<td class="mastermodule" colspan="1">
<a href="#module_pb_cpu_0"><b>pb_cpu_0</b>
</a>
</td>
</tr>
<tr>
<td class="masterlr">&#160;m0</td>
</tr>
<tr>
<td class="slavemodule">&#160;
<a href="#module_button_pio"><b>button_pio</b>
</a>
</td>
<td class="empty"></td>
</tr>
<tr>
<td class="slaveb">s1&#160;</td>
<td>0x0001_0060 - 0x0001_006f</td>
</tr>
<tr>
<td class="slavemodule">&#160;
<a href="#module_dipsw_pio"><b>dipsw_pio</b>
</a>
</td>
<td class="empty"></td>
</tr>
<tr>
<td class="slaveb">s1&#160;</td>
<td>0x0001_0070 - 0x0001_007f</td>
</tr>
<tr>
<td class="slavemodule">&#160;
<a href="#module_led_pio"><b>led_pio</b>
</a>
</td>
<td class="empty"></td>
</tr>
<tr>
<td class="slaveb">s1&#160;</td>
<td>0x0001_0080 - 0x0001_008f</td>
</tr>
<tr>
<td class="slavemodule">&#160;
<a href="#module_pb_cpu_0"><b>pb_cpu_0</b>
</a>
</td>
<td class="empty"></td>
</tr>
<tr>
<td class="slaveb">s0&#160;</td>
<td class="empty"></td>
</tr>
<tr>
<td class="slavemodule">&#160;
<a href="#module_sysid"><b>sysid</b>
</a>
</td>
<td class="empty"></td>
</tr>
<tr>
<td class="slaveb">control_slave&#160;</td>
<td>0x0001_0000 - 0x0001_0007</td>
</tr>
</table>
<a name="module_button_pio"> </a>
<div>
<hr/>
<h2>button_pio</h2>altera_avalon_pio v19.2.3
<br/>
<div class="greydiv">
<table class="connectionboxes">
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_pb_cpu_0">pb_cpu_0</a>
</td>
<td class="from">m0&#160;&#160;</td>
<td class="main" rowspan="8">button_pio</td>
</tr>
<tr>
<td class="to">&#160;&#160;s1</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_periph_clk">periph_clk</a>
</td>
<td class="from">out_clk&#160;&#160;</td>
</tr>
<tr>
<td class="to">&#160;&#160;clk</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_periph_rst_in">periph_rst_in</a>
</td>
<td class="from">out_reset&#160;&#160;</td>
</tr>
<tr>
<td class="to">&#160;&#160;reset</td>
</tr>
</table>
</div>
<br/>
<br/>
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Parameters</h2>
<table>
<tr>
<td class="parametername">generateLegacySim</td>
<td class="parametervalue">false</td>
</tr>
</table>
</td>
</tr>
</table>&#160;&#160;
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Software Assignments</h2>
<table>
<tr>
<td class="parametername">BIT_CLEARING_EDGE_REGISTER</td>
<td class="parametervalue">1</td>
</tr>
<tr>
<td class="parametername">BIT_MODIFYING_OUTPUT_REGISTER</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">CAPTURE</td>
<td class="parametervalue">1</td>
</tr>
<tr>
<td class="parametername">DATA_WIDTH</td>
<td class="parametervalue">4</td>
</tr>
<tr>
<td class="parametername">DO_TEST_BENCH_WIRING</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">DRIVEN_SIM_VALUE</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">EDGE_TYPE</td>
<td class="parametervalue">FALLING</td>
</tr>
<tr>
<td class="parametername">FREQ</td>
<td class="parametervalue">100000000</td>
</tr>
<tr>
<td class="parametername">HAS_IN</td>
<td class="parametervalue">1</td>
</tr>
<tr>
<td class="parametername">HAS_OUT</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">HAS_TRI</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">IRQ_TYPE</td>
<td class="parametervalue">EDGE</td>
</tr>
<tr>
<td class="parametername">RESET_VALUE</td>
<td class="parametervalue">0</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<a name="module_dipsw_pio"> </a>
<div>
<hr/>
<h2>dipsw_pio</h2>altera_avalon_pio v19.2.3
<br/>
<div class="greydiv">
<table class="connectionboxes">
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_pb_cpu_0">pb_cpu_0</a>
</td>
<td class="from">m0&#160;&#160;</td>
<td class="main" rowspan="8">dipsw_pio</td>
</tr>
<tr>
<td class="to">&#160;&#160;s1</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_periph_clk">periph_clk</a>
</td>
<td class="from">out_clk&#160;&#160;</td>
</tr>
<tr>
<td class="to">&#160;&#160;clk</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_periph_rst_in">periph_rst_in</a>
</td>
<td class="from">out_reset&#160;&#160;</td>
</tr>
<tr>
<td class="to">&#160;&#160;reset</td>
</tr>
</table>
</div>
<br/>
<br/>
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Parameters</h2>
<table>
<tr>
<td class="parametername">generateLegacySim</td>
<td class="parametervalue">false</td>
</tr>
</table>
</td>
</tr>
</table>&#160;&#160;
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Software Assignments</h2>
<table>
<tr>
<td class="parametername">BIT_CLEARING_EDGE_REGISTER</td>
<td class="parametervalue">1</td>
</tr>
<tr>
<td class="parametername">BIT_MODIFYING_OUTPUT_REGISTER</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">CAPTURE</td>
<td class="parametervalue">1</td>
</tr>
<tr>
<td class="parametername">DATA_WIDTH</td>
<td class="parametervalue">4</td>
</tr>
<tr>
<td class="parametername">DO_TEST_BENCH_WIRING</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">DRIVEN_SIM_VALUE</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">EDGE_TYPE</td>
<td class="parametervalue">FALLING</td>
</tr>
<tr>
<td class="parametername">FREQ</td>
<td class="parametervalue">100000000</td>
</tr>
<tr>
<td class="parametername">HAS_IN</td>
<td class="parametervalue">1</td>
</tr>
<tr>
<td class="parametername">HAS_OUT</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">HAS_TRI</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">IRQ_TYPE</td>
<td class="parametervalue">EDGE</td>
</tr>
<tr>
<td class="parametername">RESET_VALUE</td>
<td class="parametervalue">0</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<a name="module_led_pio"> </a>
<div>
<hr/>
<h2>led_pio</h2>altera_avalon_pio v19.2.3
<br/>
<div class="greydiv">
<table class="connectionboxes">
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_pb_cpu_0">pb_cpu_0</a>
</td>
<td class="from">m0&#160;&#160;</td>
<td class="main" rowspan="8">led_pio</td>
</tr>
<tr>
<td class="to">&#160;&#160;s1</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_periph_clk">periph_clk</a>
</td>
<td class="from">out_clk&#160;&#160;</td>
</tr>
<tr>
<td class="to">&#160;&#160;clk</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_periph_rst_in">periph_rst_in</a>
</td>
<td class="from">out_reset&#160;&#160;</td>
</tr>
<tr>
<td class="to">&#160;&#160;reset</td>
</tr>
</table>
</div>
<br/>
<br/>
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Parameters</h2>
<table>
<tr>
<td class="parametername">generateLegacySim</td>
<td class="parametervalue">false</td>
</tr>
</table>
</td>
</tr>
</table>&#160;&#160;
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Software Assignments</h2>
<table>
<tr>
<td class="parametername">BIT_CLEARING_EDGE_REGISTER</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">BIT_MODIFYING_OUTPUT_REGISTER</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">CAPTURE</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">DATA_WIDTH</td>
<td class="parametervalue">3</td>
</tr>
<tr>
<td class="parametername">DO_TEST_BENCH_WIRING</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">DRIVEN_SIM_VALUE</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">EDGE_TYPE</td>
<td class="parametervalue">NONE</td>
</tr>
<tr>
<td class="parametername">FREQ</td>
<td class="parametervalue">100000000</td>
</tr>
<tr>
<td class="parametername">HAS_IN</td>
<td class="parametervalue">1</td>
</tr>
<tr>
<td class="parametername">HAS_OUT</td>
<td class="parametervalue">1</td>
</tr>
<tr>
<td class="parametername">HAS_TRI</td>
<td class="parametervalue">0</td>
</tr>
<tr>
<td class="parametername">IRQ_TYPE</td>
<td class="parametervalue">NONE</td>
</tr>
<tr>
<td class="parametername">RESET_VALUE</td>
<td class="parametervalue">7</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<a name="module_pb_cpu_0"> </a>
<div>
<hr/>
<h2>pb_cpu_0</h2>altera_avalon_mm_bridge v20.1.0
<br/>
<div class="greydiv">
<table class="connectionboxes">
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_periph_clk">periph_clk</a>
</td>
<td class="from">out_clk&#160;&#160;</td>
<td class="main" rowspan="16">pb_cpu_0</td>
</tr>
<tr>
<td class="to">&#160;&#160;clk</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_periph_rst_in">periph_rst_in</a>
</td>
<td class="from">out_reset&#160;&#160;</td>
</tr>
<tr>
<td class="to">&#160;&#160;reset</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="from">m0&#160;&#160;</td>
<td class="neighbor" rowspan="2">
<a href="#module_sysid">sysid</a>
</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="to">&#160;&#160;control_slave</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="from">m0&#160;&#160;</td>
<td class="neighbor" rowspan="2">
<a href="#module_led_pio">led_pio</a>
</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="to">&#160;&#160;s1</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="from">m0&#160;&#160;</td>
<td class="neighbor" rowspan="2">
<a href="#module_dipsw_pio">dipsw_pio</a>
</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="to">&#160;&#160;s1</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td class="from">m0&#160;&#160;</td>
<td class="neighbor" rowspan="2">
<a href="#module_button_pio">button_pio</a>
</td>
</tr>
<tr>
<td></td>
<td></td>
<td class="to">&#160;&#160;s1</td>
</tr>
</table>
</div>
<br/>
<br/>
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Parameters</h2>
<table>
<tr>
<td class="parametername">generateLegacySim</td>
<td class="parametervalue">false</td>
</tr>
</table>
</td>
</tr>
</table>&#160;&#160;
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Software Assignments</h2>(none)</td>
</tr>
</table>
</div>
<a name="module_periph_clk"> </a>
<div>
<hr/>
<h2>periph_clk</h2>altera_clock_bridge v19.2.0
<br/>
<br/>
<br/>
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Parameters</h2>
<table>
<tr>
<td class="parametername">generateLegacySim</td>
<td class="parametervalue">false</td>
</tr>
</table>
</td>
</tr>
</table>&#160;&#160;
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Software Assignments</h2>(none)</td>
</tr>
</table>
</div>
<a name="module_periph_rst_in"> </a>
<div>
<hr/>
<h2>periph_rst_in</h2>altera_reset_bridge v19.2.0
<br/>
<br/>
<br/>
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Parameters</h2>
<table>
<tr>
<td class="parametername">generateLegacySim</td>
<td class="parametervalue">false</td>
</tr>
</table>
</td>
</tr>
</table>&#160;&#160;
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Software Assignments</h2>(none)</td>
</tr>
</table>
</div>
<a name="module_sysid"> </a>
<div>
<hr/>
<h2>sysid</h2>altera_avalon_sysid_qsys v19.1.7
<br/>
<div class="greydiv">
<table class="connectionboxes">
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_pb_cpu_0">pb_cpu_0</a>
</td>
<td class="from">m0&#160;&#160;</td>
<td class="main" rowspan="8">sysid</td>
</tr>
<tr>
<td class="to">&#160;&#160;control_slave</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_periph_clk">periph_clk</a>
</td>
<td class="from">out_clk&#160;&#160;</td>
</tr>
<tr>
<td class="to">&#160;&#160;clk</td>
</tr>
<tr style="height:6px">
<td></td>
</tr>
<tr>
<td class="neighbor" rowspan="2">
<a href="#module_periph_rst_in">periph_rst_in</a>
</td>
<td class="from">out_reset&#160;&#160;</td>
</tr>
<tr>
<td class="to">&#160;&#160;reset</td>
</tr>
</table>
</div>
<br/>
<br/>
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Parameters</h2>
<table>
<tr>
<td class="parametername">generateLegacySim</td>
<td class="parametervalue">false</td>
</tr>
</table>
</td>
</tr>
</table>&#160;&#160;
<table class="flowbox">
<tr>
<td class="parametersbox">
<h2>Software Assignments</h2>
<table>
<tr>
<td class="parametername">ID</td>
<td class="parametervalue">-1395275010</td>
</tr>
<tr>
<td class="parametername">TIMESTAMP</td>
<td class="parametervalue">0</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<table class="blueBar">
<tr>
<td class="l">generation took 0.01 seconds</td>
<td class="r">rendering took 0.07 seconds</td>
</tr>
</table>
</body>
</html>