<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.libresilicon.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Leviathan</id>
	<title>LibreSilicon - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.libresilicon.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Leviathan"/>
	<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Special:Contributions/Leviathan"/>
	<updated>2026-10-28T10:32:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=837</id>
		<title>Test Die SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=837"/>
		<updated>2026-10-27T05:25:38Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://gitlab.libresilicon.com/designs/highwaytestchip/-/tree/sg13g2_1v2?ref_type=heads&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.libresilicon.com/designs/highwaytestchip.git&lt;br /&gt;
cd highwaytestchip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git yosys ngspice python3-pip&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rm -rf build flow highway.toml highway.yaml macros pads.json&lt;br /&gt;
&lt;br /&gt;
highway init --node SG13G2 --voltage &amp;quot;1.2 V&amp;quot;&lt;br /&gt;
&lt;br /&gt;
highway add src/ring8/ring8.v src/led_logic/led_logic.v src/clk_buf/clk_buf.v src/test_chip.v&lt;br /&gt;
&lt;br /&gt;
highway core add ring8 --top ring8 --top-file src/ring8/ring8.v --sources src/ring8/ring8.v --instances ring8&lt;br /&gt;
&lt;br /&gt;
highway core add led_logic --top led_logic --top-file src/led_logic/led_logic.v --sources src/led_logic/led_logic.v --instances led_logic&lt;br /&gt;
&lt;br /&gt;
highway set top test_chip&lt;br /&gt;
&lt;br /&gt;
highway pads init&lt;br /&gt;
&lt;br /&gt;
highway lib&lt;br /&gt;
&lt;br /&gt;
highway run&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=836</id>
		<title>Test Die SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=836"/>
		<updated>2026-10-26T16:47:17Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://gitlab.libresilicon.com/designs/highwaytestchip/-/tree/sg13g2_1v2?ref_type=heads&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.libresilicon.com/designs/highwaytestchip.git&lt;br /&gt;
cd highwaytestchip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git yosys ngspice python3-pip&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rm -rf build flow highway.toml highway.yaml macros pads.json&lt;br /&gt;
&lt;br /&gt;
highway init --node SG13G2 --voltage &amp;quot;1.2 V&amp;quot;&lt;br /&gt;
&lt;br /&gt;
highway add src/ring8/ring8.v src/led_logic/led_logic.v src/clk_buf/clk_buf.v src/test_chip.v&lt;br /&gt;
&lt;br /&gt;
highway core add ring8 --top ring8 --top-file src/ring8/ring8.v --sources src/ring8/ring8.v --instances ring8&lt;br /&gt;
&lt;br /&gt;
highway core add led_logic --top led_logic --top-file src/led_logic/led_logic.v --sources src/led_logic/led_logic.v --instances led_logic&lt;br /&gt;
&lt;br /&gt;
highway set top test_chip&lt;br /&gt;
&lt;br /&gt;
highway pads init&lt;br /&gt;
&lt;br /&gt;
highway lib&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=835</id>
		<title>Test Die SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=835"/>
		<updated>2026-10-26T15:36:48Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://gitlab.libresilicon.com/designs/highwaytestchip/-/tree/sg13g2_1v2?ref_type=heads&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.libresilicon.com/designs/highwaytestchip.git&lt;br /&gt;
cd highwaytestchip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git yosys ngspice python3-pip&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rm -rf build flow highway.toml highway.yaml macros pads.json&lt;br /&gt;
&lt;br /&gt;
highway init --node SG13G2 --voltage &amp;quot;1.2 V&amp;quot;&lt;br /&gt;
&lt;br /&gt;
highway add src/ring8/ring8.v src/led_logic/led_logic.v src/clk_buf/clk_buf.v src/test_chip.v&lt;br /&gt;
&lt;br /&gt;
highway core add ring8 --top ring8 --top-file src/ring8/ring8.v --sources src/ring8/ring8.v --instances ring8&lt;br /&gt;
&lt;br /&gt;
highway core add led_logic --top led_logic --top-file src/led_logic/led_logic.v --sources src/led_logic/led_logic.v --instances led_logic&lt;br /&gt;
&lt;br /&gt;
highway core add clk_buf --top clk_buf --top-file src/clk_buf/clk_buf.v --sources src/clk_buf/clk_buf.v --instances clk_buf&lt;br /&gt;
&lt;br /&gt;
highway set top test_chip&lt;br /&gt;
&lt;br /&gt;
highway pads init&lt;br /&gt;
&lt;br /&gt;
highway lib&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=834</id>
		<title>Highway</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=834"/>
		<updated>2026-10-26T05:17:47Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Highway is the LibreSilicon VLSI project manager which helps you easily manage multiple Verilog and HDL projects, add them to a die, configure a padframe and run a complete synthesis flow using [[LibrePDK]] and [https://coriolis.lip6.fr Coriolis].&lt;br /&gt;
&lt;br /&gt;
Simply create a Python 3.12 environment and install the tool with pip&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git yosys ngspice python3-pip&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test dies ==&lt;br /&gt;
Below a list of links to test die tapeouts for validating the [[Pad Frame Generator]] and [[StdCellLib CellLibraries]] generator with manufacturing nodes and technologies.&lt;br /&gt;
&lt;br /&gt;
* [[Test Die SG13G2@1.2V]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=833</id>
		<title>Test Die SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=833"/>
		<updated>2026-10-26T05:17:34Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://gitlab.libresilicon.com/designs/highwaytestchip/-/tree/sg13g2_1v2?ref_type=heads&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.libresilicon.com/designs/highwaytestchip.git&lt;br /&gt;
cd highwaytestchip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git yosys ngspice python3-pip&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
highway init --node SG13G2 --voltage &amp;quot;1.2 V&amp;quot;&lt;br /&gt;
&lt;br /&gt;
highway add src/ring8/ring8.v src/led_logic/led_logic.v src/clk_buf/clk_buf.v src/test_chip.v&lt;br /&gt;
&lt;br /&gt;
highway core add ring8 --top ring8 --top-file src/ring8/ring8.v --sources src/ring8/ring8.v --instances ring8&lt;br /&gt;
&lt;br /&gt;
highway core add led_logic --top led_logic --top-file src/led_logic/led_logic.v --sources src/led_logic/led_logic.v --instances led_logic&lt;br /&gt;
&lt;br /&gt;
highway core add clk_buf --top clk_buf --top-file src/clk_buf/clk_buf.v --sources src/clk_buf/clk_buf.v --instances clk_buf&lt;br /&gt;
&lt;br /&gt;
highway set top test_chip&lt;br /&gt;
&lt;br /&gt;
highway pads init&lt;br /&gt;
&lt;br /&gt;
highway lib&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=832</id>
		<title>Test Die SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=832"/>
		<updated>2026-10-26T05:16:34Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://gitlab.libresilicon.com/designs/highwaytestchip/-/tree/sg13g2_1v2?ref_type=heads&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.libresilicon.com/designs/highwaytestchip.git&lt;br /&gt;
cd highwaytestchip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git yosys ngspice&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
highway init --node SG13G2 --voltage &amp;quot;1.2 V&amp;quot;&lt;br /&gt;
&lt;br /&gt;
highway add src/ring8/ring8.v src/led_logic/led_logic.v src/clk_buf/clk_buf.v src/test_chip.v&lt;br /&gt;
&lt;br /&gt;
highway core add ring8 --top ring8 --top-file src/ring8/ring8.v --sources src/ring8/ring8.v --instances ring8&lt;br /&gt;
&lt;br /&gt;
highway core add led_logic --top led_logic --top-file src/led_logic/led_logic.v --sources src/led_logic/led_logic.v --instances led_logic&lt;br /&gt;
&lt;br /&gt;
highway core add clk_buf --top clk_buf --top-file src/clk_buf/clk_buf.v --sources src/clk_buf/clk_buf.v --instances clk_buf&lt;br /&gt;
&lt;br /&gt;
highway set top test_chip&lt;br /&gt;
&lt;br /&gt;
highway pads init&lt;br /&gt;
&lt;br /&gt;
highway lib&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=831</id>
		<title>Highway</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=831"/>
		<updated>2026-10-26T01:48:01Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Highway is the LibreSilicon VLSI project manager which helps you easily manage multiple Verilog and HDL projects, add them to a die, configure a padframe and run a complete synthesis flow using [[LibrePDK]] and [https://coriolis.lip6.fr Coriolis].&lt;br /&gt;
&lt;br /&gt;
Simply create a Python 3.12 environment and install the tool with pip&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git yosys ngspice&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test dies ==&lt;br /&gt;
Below a list of links to test die tapeouts for validating the [[Pad Frame Generator]] and [[StdCellLib CellLibraries]] generator with manufacturing nodes and technologies.&lt;br /&gt;
&lt;br /&gt;
* [[Test Die SG13G2@1.2V]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=830</id>
		<title>Test Die SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=830"/>
		<updated>2026-10-26T00:56:02Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://gitlab.libresilicon.com/designs/highwaytestchip/-/tree/sg13g2_1v2?ref_type=heads&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.libresilicon.com/designs/highwaytestchip.git&lt;br /&gt;
cd highwaytestchip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git yosys ngspice&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
highway init --node SG13G2 --voltage &amp;quot;1.2 V&amp;quot;&lt;br /&gt;
&lt;br /&gt;
highway add src/ring8/ring8.v src/led_logic/led_logic.v src/clk_buf/clk_buf.v src/test_chip.v&lt;br /&gt;
&lt;br /&gt;
highway core add ring8 --top ring8 --top-file src/ring8/ring8.v --sources src/ring8/ring8.v --instances ring8&lt;br /&gt;
&lt;br /&gt;
highway core add led_logic --top led_logic --top-file src/led_logic/led_logic.v --sources src/led_logic/led_logic.v --instances led_logic&lt;br /&gt;
&lt;br /&gt;
highway core add clk_buf --top clk_buf --top-file src/clk_buf/clk_buf.v --sources src/clk_buf/clk_buf.v --instances clk_buf&lt;br /&gt;
&lt;br /&gt;
highway set top test_chip&lt;br /&gt;
&lt;br /&gt;
highway pads init&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=829</id>
		<title>Test Die SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=829"/>
		<updated>2026-10-26T00:52:18Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://gitlab.libresilicon.com/designs/highwaytestchip/-/tree/sg13g2_1v2?ref_type=heads&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.libresilicon.com/designs/highwaytestchip.git&lt;br /&gt;
cd highwaytestchip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
highway init --node SG13G2 --voltage &amp;quot;1.2 V&amp;quot;&lt;br /&gt;
&lt;br /&gt;
highway add src/ring8/ring8.v src/led_logic/led_logic.v src/clk_buf/clk_buf.v src/test_chip.v&lt;br /&gt;
&lt;br /&gt;
highway core add ring8 --top ring8 --top-file src/ring8/ring8.v --sources src/ring8/ring8.v --instances ring8&lt;br /&gt;
&lt;br /&gt;
highway core add led_logic --top led_logic --top-file src/led_logic/led_logic.v --sources src/led_logic/led_logic.v --instances led_logic&lt;br /&gt;
&lt;br /&gt;
highway core add clk_buf --top clk_buf --top-file src/clk_buf/clk_buf.v --sources src/clk_buf/clk_buf.v --instances clk_buf&lt;br /&gt;
&lt;br /&gt;
highway set top test_chip&lt;br /&gt;
&lt;br /&gt;
highway pads init&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=828</id>
		<title>Test Die SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=828"/>
		<updated>2026-10-26T00:38:46Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://gitlab.libresilicon.com/designs/highwaytestchip/-/tree/sg13g2_1v2?ref_type=heads&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.libresilicon.com/designs/highwaytestchip.git&lt;br /&gt;
cd highwaytestchip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
highway init --node SG13G2 --voltage &amp;quot;1.2 V&amp;quot;&lt;br /&gt;
&lt;br /&gt;
highway core add ring8 --top ring8 --top-file src/ring8/ring8.v --sources src/ring8/ring8.v --instances ring8&lt;br /&gt;
&lt;br /&gt;
highway core add led_logic --top led_logic --top-file src/led_logic/led_logic.v --sources src/led_logic/led_logic.v --instances led_logic&lt;br /&gt;
&lt;br /&gt;
highway core add clk_buf --top clk_buf --top-file src/clk_buf/clk_buf.v --sources src/clk_buf/clk_buf.v --instances clk_buf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=827</id>
		<title>Test Die SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Test_Die_SG13G2@1.2V&amp;diff=827"/>
		<updated>2026-10-26T00:19:02Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: Created page with &amp;quot;https://gitlab.libresilicon.com/designs/highwaytestchip/-/tree/sg13g2_1v2?ref_type=heads&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://gitlab.libresilicon.com/designs/highwaytestchip/-/tree/sg13g2_1v2?ref_type=heads&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=826</id>
		<title>Highway</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=826"/>
		<updated>2026-10-26T00:18:11Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Highway is the LibreSilicon VLSI project manager which helps you easily manage multiple Verilog and HDL projects, add them to a die, configure a padframe and run a complete synthesis flow using [[LibrePDK]] and [https://coriolis.lip6.fr Coriolis].&lt;br /&gt;
&lt;br /&gt;
Simply create a Python 3.12 environment and install the tool with pip&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test dies ==&lt;br /&gt;
Below a list of links to test die tapeouts for validating the [[Pad Frame Generator]] and [[StdCellLib CellLibraries]] generator with manufacturing nodes and technologies.&lt;br /&gt;
&lt;br /&gt;
* [[Test Die SG13G2@1.2V]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=825</id>
		<title>Highway</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=825"/>
		<updated>2026-10-26T00:12:08Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Highway is the LibreSilicon VLSI project manager which helps you easily manage multiple Verilog and HDL projects, add them to a die, configure a padframe and run a complete synthesis flow using [[LibrePDK]] and [https://coriolis.lip6.fr Coriolis].&lt;br /&gt;
&lt;br /&gt;
Simply create a Python 3.12 environment and install the tool with pip&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install g++ git&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=824</id>
		<title>Highway</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=824"/>
		<updated>2026-10-26T00:00:51Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Highway is the LibreSilicon VLSI project manager which helps you easily manage multiple Verilog and HDL projects, add them to a die, configure a padframe and run a complete synthesis flow using [[LibrePDK]] and [https://coriolis.lip6.fr Coriolis].&lt;br /&gt;
&lt;br /&gt;
Simply create a Python 3.12 environment and install the tool with pip&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=823</id>
		<title>Highway</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Highway&amp;diff=823"/>
		<updated>2026-10-25T23:58:59Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: Created page with &amp;quot;Highway is the LibreSilicon VLSI project manager which helps you easily manage multiple Verilog and HDL projects, add them to a die, configure a padframe and run a complete synthesis flow using LibrePDK and Coriolis.  Simply create a Python 3.12 environment and install the tool with pip&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; python3.12 -m venv venv . venv/bin/activate pip install git+https://gitlab.libresilicon.com/leviathan/highway &amp;lt;/syntaxhighlight&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Highway is the LibreSilicon VLSI project manager which helps you easily manage multiple Verilog and HDL projects, add them to a die, configure a padframe and run a complete synthesis flow using LibrePDK and Coriolis.&lt;br /&gt;
&lt;br /&gt;
Simply create a Python 3.12 environment and install the tool with pip&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python3.12 -m venv venv&lt;br /&gt;
. venv/bin/activate&lt;br /&gt;
pip install git+https://gitlab.libresilicon.com/leviathan/highway&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Main_Page&amp;diff=822</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Main_Page&amp;diff=822"/>
		<updated>2026-10-25T23:55:38Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the knowledge DB for the [[LibreSilicon stack]]&lt;br /&gt;
&lt;br /&gt;
Please check out the [[LibreSilicon stack]] here for an overview!!&lt;br /&gt;
&lt;br /&gt;
The official website can be found here under [https://libresilicon.com/ LibreSilicon]&lt;br /&gt;
&lt;br /&gt;
The LibreSilicon knowledge DB is holding [[chemical recipes]] as well as [[software tools]] needed to build free and open source semiconductors.&lt;br /&gt;
&lt;br /&gt;
As well as the [[Danube River]] test wafer, and it&#039;s precursor the [[Pearl River]]&lt;br /&gt;
&lt;br /&gt;
The process is flexible and can be implemented with various machines from various vendors.&lt;br /&gt;
&lt;br /&gt;
There&#039;s no need to have a very specific machine from a very specific vendor, as long as you&#039;re covering the [[Basic Tooling]] you should be ready to go.&lt;br /&gt;
&lt;br /&gt;
The [[LibrePDK]] contains tools for generating everything you need in order to generate fully functional chip design based on the design rules you provide and ship the GDS2 file to the factory for manufacturing:&lt;br /&gt;
&lt;br /&gt;
* The Standard Logic Cell generator (https://pdk.libresilicon.com/)&lt;br /&gt;
* The Pad Frame Generator which assembles the [[Pad Cell]] generated based on the design rules and timings provided, using the [[Pad Cell Generator]]&lt;br /&gt;
&#039;&#039;&#039;The main VLSI project manager is [[Highway]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK&amp;diff=821</id>
		<title>LibrePDK</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK&amp;diff=821"/>
		<updated>2026-10-25T23:46:50Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TL;DR: pip install LibrePDK (https://pypi.org/project/LibrePDK/0.1.1/)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The LibrePDK is the library driving [[Danube River]] and the [[Pad Cell Generator]]&lt;br /&gt;
[[File:LibrePDK.png|none|thumb|695x695px|ALibrePDK screen shot]]&lt;br /&gt;
It is responsible for generating discrete parts with specific parameters for a specific process.&lt;br /&gt;
&lt;br /&gt;
The properties of the parts can be optimized by utilizing the calibration values extracted from the measurements of taped out Danube River test wafers.&lt;br /&gt;
&lt;br /&gt;
== Adding a new technology ==&lt;br /&gt;
Technologies currently supported can be found in the technologies subfolder.&lt;br /&gt;
&lt;br /&gt;
https://gitlab.libresilicon.com/generator-tools/librepdk/-/tree/master/LibrePDK/technologies?ref_type=heads&lt;br /&gt;
&lt;br /&gt;
New technologies can be added by modifying &#039;&#039;&#039;scripts/update_technologies.sh&#039;&#039;&#039; and adding a tech.python script to the technologies folder.&lt;br /&gt;
&lt;br /&gt;
After that, LibrePDK should be capable of auto discovering the new process after running the update script.&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
We are using Ubuntu 25.04 in our Docker containers&lt;br /&gt;
&lt;br /&gt;
Simply run&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get install -y --no-install-recommends \&lt;br /&gt;
    autoconf automake bash bison build-essential ca-certificates cargo checkinstall clang cmake \&lt;br /&gt;
    curl flex g++ gcc git git-lfs glpk-utils gosu imagemagick libblas-dev libcairo2-dev \&lt;br /&gt;
    libcurl4-gnutls-dev libeigen3-dev libfl-dev libgit2-dev libgit2-glib-1.0-dev libglpk-dev \&lt;br /&gt;
    libglu1-mesa-dev liblemon-dev libreadline-dev libsparsehash-dev libsqlite3-dev libtool \&lt;br /&gt;
    libxaw7-dev libz-dev llvm make mmv pdf2svg pkg-config python3-dev python3-full python3-pip \&lt;br /&gt;
    rsync ruby ruby-dev rustc software-properties-common sqlite3 sudo tcl tcl8.6-dev tcllib \&lt;br /&gt;
    texlive-latex-recommended time tk8.6-dev tklib unzip vim wget z3 zlib1g-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
In order for [[LibrePDK#Limbo|Limbo]] to successfully compile we need to install Boost.&lt;br /&gt;
&lt;br /&gt;
We are currently using boost 1.91.0, of which the tar ball can be obtained here https://archives.boost.io/release/1.91.0/source/boost_1_91_0.tar.gz&lt;br /&gt;
&lt;br /&gt;
With the following command Boost can be installed quickly&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./bootstrap.sh \&lt;br /&gt;
    --prefix=/usr \&lt;br /&gt;
    --with-python-version=3.13&lt;br /&gt;
&lt;br /&gt;
./b2 install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Note that the Python version we compile boost for is 3.13, because LibrePDK hasn&#039;t been tested with any later version.&lt;br /&gt;
&lt;br /&gt;
=== ngspice ===&lt;br /&gt;
For the simulation and characterization of standard cells you will need the ngspice frontend and backend library&lt;br /&gt;
&lt;br /&gt;
Currently we are using version 44.2 of ngspice, the tar ball can be obtained from here: https://download.industrysoftware.automation.siemens.com/open-source/ngspice-44.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
==== Backend configuration ====&lt;br /&gt;
The backend library is needed for Charlib in order to run characterization of our cells&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure --with-ngshared --enable-xspice --enable-cider --enable-openmp --disable-debug&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;After compilation and installation you should have a libngspice.so in your ldpath which charlib can pick up on and load it.&lt;br /&gt;
&lt;br /&gt;
==== Frontend configuration ====&lt;br /&gt;
This will compile and install the ngspice CLI binary which is needed when you wanna simulate your circuits.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./autogen.sh&lt;br /&gt;
../configure --with-x --with-readline=yes --enable-xspice&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ngspice is also used when loading and importing new technologies into LibrePDK&lt;br /&gt;
&lt;br /&gt;
=== OpenVAF models ===&lt;br /&gt;
IHP&#039;s SG13G2 technology node uses OpenVAF models for the ngspice simulation tool.&lt;br /&gt;
&lt;br /&gt;
The following script will make sure that rust and the OpenVAF tool are present and then&lt;br /&gt;
compiles the models into the osdi format and places them into the technology directory&lt;br /&gt;
ready to be used by LibrePDK.&lt;br /&gt;
&lt;br /&gt;
Simply run the following script and confirm the installation by checking for the LibrePDK/technologies/spice/SG13G2/devices/*/*.osdi files.&lt;br /&gt;
&lt;br /&gt;
This requires the LibrePDK repo to already have [[LibrePDK#Installation|been cloned and updated]] as shown in.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/update_ngspice_extensions.sh&lt;br /&gt;
&lt;br /&gt;
=== LP solver ===&lt;br /&gt;
&lt;br /&gt;
Google now officially runs the project and you can get the most recent version from GitHub&lt;br /&gt;
&lt;br /&gt;
Install is by cloning and building it&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/lp-solve/lp_solve&lt;br /&gt;
pushd lp_solve/lpsolve55&lt;br /&gt;
rm -rf bin/ux64&lt;br /&gt;
sh ccc&lt;br /&gt;
popd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;	Then you can copy the shared object file in solve/lpsolve55/bin/ux64 into your /usr/lib64 and copy the headers with&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir /usr/include/lpsolve&lt;br /&gt;
cp lp_solve/*.h /usr/include/lpsolve/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;OR, you can install the system package and devel package with your package manager&lt;br /&gt;
&lt;br /&gt;
=== Lemon ===&lt;br /&gt;
&lt;br /&gt;
That library has been developed by a Hungarian university which doesn&#039;t maintain their Mercurial setup. Best approach is to use the version you find in your distribution&lt;br /&gt;
=== Limbo ===&lt;br /&gt;
&lt;br /&gt;
The official version of Limbo has been a total mess when it comes to building libs and linking them. I had to make some severe modifications which makes CMake properly build shared object files and detects the system wide installation of the dependencies&lt;br /&gt;
using proper CMake detection functions&lt;br /&gt;
&lt;br /&gt;
Just run&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.libresilicon.com/leviathan/limbo.git&lt;br /&gt;
mkdir Limbo/build&lt;br /&gt;
pushd Limbo/build&lt;br /&gt;
cmake ..&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
popd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation with pip install ==&lt;br /&gt;
With Python 12 available you can simply install the pre-build wheel using pip (https://pypi.org/project/LibrePDK/0.1.1/)&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pip install LibrePDK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Before you start installing LibrePDK, you first need to [[LibrePDK#Dependencies|install its dependencies]] so that its C++ extensions and other C++ tools compile successfully.&lt;br /&gt;
&lt;br /&gt;
After that, please clone the repo.&lt;br /&gt;
&lt;br /&gt;
 pip install [https://gitlab.libresilicon.com/generator-tools/librepdk.git https+git://gitlab.libresilicon.com/generator-tools/librepdk.git]&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to make sure that all the submodules and their submodules are cloned&lt;br /&gt;
&lt;br /&gt;
 git submodule update --init --recursive&lt;br /&gt;
&lt;br /&gt;
For placement of discrete componentes used in more complex components like Driver Circuits, OpAmps, etc. IdeaPlaceExPy is being used.&lt;br /&gt;
&lt;br /&gt;
IdeaPlaceExPy requires the Python system headers to be installed and the virtual env has to match the Python version with which it was compiled.&lt;br /&gt;
&lt;br /&gt;
=== Using LibrePDK in a Virtual Environment (FINAL SETUP) ===&lt;br /&gt;
It is recommended to use LibrePDK in a Python virtual environment to avoid dependency conflicts with&lt;br /&gt;
system-wide Python packages.&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve installed all the below dependencies the recommended way of installing the remaining dependencies is to run&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
uv sync --no-cache&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Building your own Docker images ==&lt;br /&gt;
Inside of the LibrePDK source folder you will find a script where you can uncomment and comment specific build stages of the multistage Docker build covering all the dependencies&lt;br /&gt;
&lt;br /&gt;
Check out the script &#039;&#039;&#039;[https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/scripts/build_docker_images.sh?ref_type=heads scripts/build_docker_images.sh]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Components =&lt;br /&gt;
LibrePDK provides generators for the basic components usually found within a VLSI/ULSI design, such as resistors, capacitors, diodes and transistors.&lt;br /&gt;
&lt;br /&gt;
== Capacitors ==&lt;br /&gt;
LibrePDK can calculate the specific geometry based on the device rules and available parameters for generating any desired target capacitance value. Below a 50pF capacitor can be  seen. You will notice the enormous dimensions of the structure.&lt;br /&gt;
[[File:50pF MiMCap (GF180A, 3.3V).png|none|thumb|300x300px]]&lt;br /&gt;
Usually we deal with femto Farad in VLSI design so you should never be in a situation where you have large capacitors on your chip.&lt;br /&gt;
&lt;br /&gt;
LibrePDK still can generate you a device, you just won&#039;t be happy about it.&lt;br /&gt;
&lt;br /&gt;
== Resistors ==&lt;br /&gt;
There&#039;s two types of resistor structures available: Meander and strip resistors&lt;br /&gt;
&lt;br /&gt;
LibrePDK automatically adds a guard ring around any resistor which should be on a well&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The meander here is 200 Ohms for GF180A@3.3V&#039;&#039;&#039;[[File:LibrePDK Meander Example.png|none|thumb|300x300px]]&#039;&#039;&#039;The meander here is 500 Ohms for GF180A@3.3V&#039;&#039;&#039;[[File:Strip Resistor Example.png|none|thumb|300x300px]]&lt;br /&gt;
&lt;br /&gt;
== Diodes ==&lt;br /&gt;
[[File:Diode Example.png|none|thumb|300x300px|Example of a diode]]&lt;br /&gt;
While normal fingered diodes now have been implemented Schottky diodes still are work in progress.&lt;br /&gt;
&lt;br /&gt;
== Schottky diodes ==&lt;br /&gt;
Those are not yet implemented&lt;br /&gt;
&lt;br /&gt;
== Transistors ==&lt;br /&gt;
In order to make sure that our transistors don&#039;t go up in flame, we have to take the hot carrier migration and thermal budget into consideration when we decide what transistor to use and whether it should have only one gate or should be fingered.&lt;br /&gt;
&lt;br /&gt;
LibrePDK takes care of this and chooses the right transistor with the right amount of fingers for you based on the target operating voltage and current you plan to pump through it, you provide.&lt;br /&gt;
&lt;br /&gt;
Additionally, you can also overwrite the thermal budget which usually is assumed to be for an internal circuit which isn&#039;t bonded directly to the outside.&lt;br /&gt;
&lt;br /&gt;
When LibrePDK calculates that electron migration and thermal budget constraints don&#039;t allow for a single gate transistor it will dynamically create a fingered structure, either with bulk and source connected or not with the proper guard ring.&lt;br /&gt;
[[File:Fingered Transistor.png|none|thumb|300x300px|Example of a fingered transistor]]&lt;br /&gt;
Libre PDK may also decide to just generate a single gate transistor in cases where there&#039;s very little power involved&lt;br /&gt;
[[File:Single Gate Example.png|none|thumb|300x300px|Example of a single gate transistor]]&lt;br /&gt;
&lt;br /&gt;
== Pad Cells ==&lt;br /&gt;
Last but not least: It contains the [[Pad Cell Generator]] which produces beauties like this&lt;br /&gt;
[[File:30mA SG13G2@3V3 v2.png|none|thumb|356x356px]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Main_Page&amp;diff=820</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Main_Page&amp;diff=820"/>
		<updated>2026-10-25T23:44:00Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the knowledge DB for the [[LibreSilicon stack]]&lt;br /&gt;
&lt;br /&gt;
Please check out the [[LibreSilicon stack]] here for an overview!!&lt;br /&gt;
&lt;br /&gt;
The official website can be found here under [https://libresilicon.com/ LibreSilicon]&lt;br /&gt;
&lt;br /&gt;
The LibreSilicon knowledge DB is holding [[chemical recipes]] as well as [[software tools]] needed to build free and open source semiconductors.&lt;br /&gt;
&lt;br /&gt;
As well as the [[Danube River]] test wafer, and it&#039;s precursor the [[Pearl River]]&lt;br /&gt;
&lt;br /&gt;
The process is flexible and can be implemented with various machines from various vendors.&lt;br /&gt;
&lt;br /&gt;
There&#039;s no need to have a very specific machine from a very specific vendor, as long as you&#039;re covering the [[Basic Tooling]] you should be ready to go.&lt;br /&gt;
&lt;br /&gt;
The [[LibrePDK]] contains tools for generating everything you need in order to generate fully functional chip design based on the design rules you provide and ship the GDS2 file to the factory for manufacturing:&lt;br /&gt;
&lt;br /&gt;
* The Standard Logic Cell generator (https://pdk.libresilicon.com/)&lt;br /&gt;
* The Pad Frame Generator which assembles the [[Pad Cell]] generated based on the design rules and timings provided, using the [[Pad Cell Generator]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Software_tools&amp;diff=819</id>
		<title>Software tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Software_tools&amp;diff=819"/>
		<updated>2026-10-25T23:43:33Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* LibrePDK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;That&#039;s a collection of tools involved in using the [[LibreSilicon stack]], with links and examples on how to use them.&lt;br /&gt;
&lt;br /&gt;
== LibrePDK ==&lt;br /&gt;
The new unified LibrePDK which can be found here https://gitlab.libresilicon.com/generator-tools/librepdk now aims at also produce logic standard cells and the pad cells in addition to discrete components.&lt;br /&gt;
&lt;br /&gt;
LibrePDK is licensed under the GNU Affero General Public License and aims to replace StdCellLib in its functionality due to the developer not having the same Free Software Foundation definition of Free Software as I do and has re-licensed his tool under frigging Apache license.&lt;br /&gt;
&lt;br /&gt;
It can be installed with pip install, the wheel is published: https://pypi.org/project/LibrePDK/0.1.1/&lt;br /&gt;
&lt;br /&gt;
==Standard Cell Library Generator==&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
&lt;br /&gt;
https://github.com/thesourcerer8/StdCellLib/&lt;br /&gt;
&lt;br /&gt;
https://pdk.libresilicon.com/&lt;br /&gt;
&lt;br /&gt;
Presentation: &lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/presentation/u/1/d/1VU5A2k5RY_2Vs5rvHyQRUOtLdJkZSH3QALwC1RIvg3A/&lt;br /&gt;
&lt;br /&gt;
Test-Chip:&lt;br /&gt;
&lt;br /&gt;
https://github.com/thesourcerer8/caravel_stdcelllib_stdcells_project&lt;br /&gt;
&lt;br /&gt;
Example Cells:&lt;br /&gt;
&lt;br /&gt;
https://pdk.libresilicon.com/librecell-latest/&lt;br /&gt;
&lt;br /&gt;
https://pdk.libresilicon.com/dist/StdCellLib_20211027/Catalog/buildreport.html&lt;br /&gt;
&lt;br /&gt;
Work Reports:&lt;br /&gt;
&lt;br /&gt;
https://pdk.libresilicon.com/PhilippPadCellWork-2025-09.pdf&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=818</id>
		<title>LibrePDK Padframe SPICE Verification Report GF180A@3.3V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=818"/>
		<updated>2026-09-01T16:40:39Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* 4. Full Dynamic Loopback */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 3.3 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:01:45 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 4.30 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 2.84 V, High: 0.65 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 3.3V → 2.87 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 3.3V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 1.40V / 1.37V | Rx: 2.85V / -0.01V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:Sim 1 esd clamping GF180A@3.3V.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:Sim 2 signal write GF180A@3.3V.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 3.3V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:Sim 3 signal read hiz GF180A@3.3V.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
[[File:Sim 4 pad to pad loopback GF180A@3.3V.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=817</id>
		<title>LibrePDK Padframe SPICE Verification Report GF180A@3.3V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=817"/>
		<updated>2026-09-01T16:39:56Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 3.3 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:01:45 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 4.30 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 2.84 V, High: 0.65 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 3.3V → 2.87 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 3.3V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 1.40V / 1.37V | Rx: 2.85V / -0.01V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:Sim 1 esd clamping GF180A@3.3V.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:Sim 2 signal write GF180A@3.3V.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 3.3V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:Sim 3 signal read hiz GF180A@3.3V.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
[[File:File:Sim 4 pad to pad loopback GF180A@3.3V.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=816</id>
		<title>LibrePDK Padframe SPICE Verification Report GF180A@3.3V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=816"/>
		<updated>2026-09-01T16:39:29Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* 4. Full Dynamic Loopback */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 3.3 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:01:45 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 4.30 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 2.84 V, High: 0.65 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 3.3V → 2.87 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 3.3V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 1.40V / 1.37V | Rx: 2.85V / -0.01V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:Sim 1 esd clamping GF180A@3.3V.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:Sim 2 signal write GF180A@3.3V.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 3.3V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
☢&lt;br /&gt;
[[File:Sim 3 signal read hiz GF180A@3.3V.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
☢&lt;br /&gt;
[[File:File:Sim 4 pad to pad loopback GF180A@3.3V.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=815</id>
		<title>LibrePDK Padframe SPICE Verification Report GF180A@3.3V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=815"/>
		<updated>2026-09-01T16:39:11Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* 3. Digital Input Sensing (Read / Hi-Z) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 3.3 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:01:45 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 4.30 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 2.84 V, High: 0.65 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 3.3V → 2.87 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 3.3V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 1.40V / 1.37V | Rx: 2.85V / -0.01V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:Sim 1 esd clamping GF180A@3.3V.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:Sim 2 signal write GF180A@3.3V.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 3.3V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
☢&lt;br /&gt;
[[File:Sim 3 signal read hiz GF180A@3.3V.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
&lt;br /&gt;
[[File:Sim 4 pad to pad loopback GF180A@3.3V.png|none|thumb]]&lt;br /&gt;
☢&lt;br /&gt;
&lt;br /&gt;
[[File:sim_4_pad_to_pad_loopback.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=814</id>
		<title>LibrePDK Padframe SPICE Verification Report GF180A@3.3V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=814"/>
		<updated>2026-09-01T16:38:55Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* 2. Digital Output Drive (Write) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 3.3 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:01:45 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 4.30 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 2.84 V, High: 0.65 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 3.3V → 2.87 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 3.3V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 1.40V / 1.37V | Rx: 2.85V / -0.01V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:Sim 1 esd clamping GF180A@3.3V.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:Sim 2 signal write GF180A@3.3V.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 3.3V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:Sim 3 signal read hiz GF180A@3.3V.png|none|thumb]]&lt;br /&gt;
☢&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:sim_3_signal_read_hiz.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
&lt;br /&gt;
[[File:Sim 4 pad to pad loopback GF180A@3.3V.png|none|thumb]]&lt;br /&gt;
☢&lt;br /&gt;
&lt;br /&gt;
[[File:sim_4_pad_to_pad_loopback.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=813</id>
		<title>LibrePDK Padframe SPICE Verification Report GF180A@3.3V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=813"/>
		<updated>2026-09-01T16:38:39Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* 2. Digital Output Drive (Write) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 3.3 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:01:45 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 4.30 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 2.84 V, High: 0.65 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 3.3V → 2.87 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 3.3V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 1.40V / 1.37V | Rx: 2.85V / -0.01V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:Sim 1 esd clamping GF180A@3.3V.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:Sim 2 signal write GF180A@3.3V.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
[[File:sim_2_signal_write.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 3.3V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:Sim 3 signal read hiz GF180A@3.3V.png|none|thumb]]&lt;br /&gt;
☢&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:sim_3_signal_read_hiz.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
&lt;br /&gt;
[[File:Sim 4 pad to pad loopback GF180A@3.3V.png|none|thumb]]&lt;br /&gt;
☢&lt;br /&gt;
&lt;br /&gt;
[[File:sim_4_pad_to_pad_loopback.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=File:Sim_4_pad_to_pad_loopback_GF180A@3.3V.png&amp;diff=812</id>
		<title>File:Sim 4 pad to pad loopback GF180A@3.3V.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=File:Sim_4_pad_to_pad_loopback_GF180A@3.3V.png&amp;diff=812"/>
		<updated>2026-09-01T16:38:30Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sim 4 pad to pad loopback GF180A@3.3V&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=File:Sim_3_signal_read_hiz_GF180A@3.3V.png&amp;diff=811</id>
		<title>File:Sim 3 signal read hiz GF180A@3.3V.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=File:Sim_3_signal_read_hiz_GF180A@3.3V.png&amp;diff=811"/>
		<updated>2026-09-01T16:38:06Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sim 3 signal read hiz GF180A@3.3V&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=File:Sim_2_signal_write_GF180A@3.3V.png&amp;diff=810</id>
		<title>File:Sim 2 signal write GF180A@3.3V.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=File:Sim_2_signal_write_GF180A@3.3V.png&amp;diff=810"/>
		<updated>2026-09-01T16:37:41Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sim 2 signal write GF180A@3.3V&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=809</id>
		<title>LibrePDK Padframe SPICE Verification Report GF180A@3.3V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=809"/>
		<updated>2026-09-01T16:37:12Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 3.3 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:01:45 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 4.30 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 2.84 V, High: 0.65 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 3.3V → 2.87 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 3.3V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 1.40V / 1.37V | Rx: 2.85V / -0.01V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:Sim 1 esd clamping GF180A@3.3V.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
&lt;br /&gt;
[[File:sim_2_signal_write.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 3.3V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
&lt;br /&gt;
[[File:sim_3_signal_read_hiz.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
&lt;br /&gt;
[[File:sim_4_pad_to_pad_loopback.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=808</id>
		<title>LibrePDK Padframe SPICE Verification Report GF180A@3.3V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=808"/>
		<updated>2026-09-01T16:36:44Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sim 1 esd clamping GF180A@3.3V.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 3.3 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:01:45 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 4.30 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 2.84 V, High: 0.65 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 3.3V → 2.87 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 3.3V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 1.40V / 1.37V | Rx: 2.85V / -0.01V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:sim_1_esd_clamping.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:sim_2_signal_write.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 3.3V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:sim_3_signal_read_hiz.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
[[File:sim_4_pad_to_pad_loopback.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=File:Sim_1_esd_clamping_GF180A@3.3V.png&amp;diff=807</id>
		<title>File:Sim 1 esd clamping GF180A@3.3V.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=File:Sim_1_esd_clamping_GF180A@3.3V.png&amp;diff=807"/>
		<updated>2026-09-01T16:36:27Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sim 1 esd clamping GF180A@3.3V&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=806</id>
		<title>Pad Frame Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=806"/>
		<updated>2026-09-01T16:35:51Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* Test cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Padframe Example.png|thumb|Example of a pad frame for SG13G2@1.2V]]&lt;br /&gt;
The Pad Frame Generator is part of the [[LibrePDK]] and provides the [[Pad Cell Generator]] functionality.&lt;br /&gt;
&lt;br /&gt;
It&#039;s job is to assemble a ready to use pad frame harness, with ESD protection and power rail wire width properly adjusted for accommodating the intended current driving capacity as well as the intended voltage levels to be used.&lt;br /&gt;
&lt;br /&gt;
== Types of Pad Cells produced ==&lt;br /&gt;
Currently we support only simple IO [[Pad Cell]], analog cells, and power cells, complex pad cells still are being in development.&lt;br /&gt;
&lt;br /&gt;
The very special impedance compensated pad cell in the works ([[High-Speed Impedance-Compensated Pad Cell]]) is needed in order to hook up DDR4 RAM to our chips or build a PCIe device.&lt;br /&gt;
&lt;br /&gt;
== How to use ==&lt;br /&gt;
There are two options on how you can run the Pad Frame Generator on your machine, you can go the easy route and use a docker container or you can [[Pad Frame Generator#Installation|set up LibrePDK locally]].&lt;br /&gt;
&lt;br /&gt;
An example for a paframe config can be found here [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_sg13g2_1v2.json?ref_type=heads padframe_sg13g2_1v2.json]&lt;br /&gt;
&lt;br /&gt;
=== Docker ===&lt;br /&gt;
First pull the docker image for the [[LibrePDK]] in order to make sure the image is up to date by running&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull leviathanch/librepdk:latest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then you can feed your JSON config for the padframe you have configured to the pad frame generator script contained in the docker image.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker run -it --rm \&lt;br /&gt;
    -e HOST_UID=$(id -u) -e HOST_GID=$(id -g) \&lt;br /&gt;
    -v &amp;quot;$(pwd)&amp;quot;:/workspace leviathanch/librepdk:latest \&lt;br /&gt;
    librepdk_padframe_generator -i padframe_config.json \&lt;br /&gt;
    -o my_padframe&amp;lt;/syntaxhighlight&amp;gt;After running the generator you should have a folder named my_padframe containing the LEF, DEF, Magic and all the other files you need for running a full synthesis flow of your designs.&lt;br /&gt;
&lt;br /&gt;
=== Run Locally ===&lt;br /&gt;
After [[Pad Frame Generator#Installation|seting up LibrePDK locally]] you can generate your pad frame by running&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;uv run \&lt;br /&gt;
    librepdk_padframe_generator -i padframe_config.json \&lt;br /&gt;
    -o my_padframe&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test cases ==&lt;br /&gt;
Proper ESD and switching behavior has been verified for all supported technologies in LibrePDK and reports for two of the most important test cases have been put onto our wiki page.&lt;br /&gt;
&lt;br /&gt;
SG13G2 is important because it&#039;s a complex high frequency process with many metal layers plus there is an opportunity for cooperating in a tapeout.&lt;br /&gt;
&lt;br /&gt;
GF180A only has 3 metal layers which best represents low tech nodes, so it was important to verify that we also can produce working pad frames for such a low metal count process.&lt;br /&gt;
&lt;br /&gt;
Tests have been performed for the sample pad frame configurations for [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_gf180a_3v3.json?ref_type=heads IHP&#039;s SG13G2 at 1.2V] and the [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_gf180a_3v3.json?ref_type=heads GF180A process at 3.3V] (by Global Foundries).&lt;br /&gt;
&lt;br /&gt;
Please look at [[LibrePDK Padframe SPICE Verification Report SG13G2@1.2V]] and [[LibrePDK Padframe SPICE Verification Report GF180A@3.3V]] for the simulation verification results and wave forms.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Since the Pad Frame Generator is part of [[LibrePDK]] you can find the guide on how to install all the dependencies in the [[LibrePDK#Installation|Installation section of the LibrePDK]] page&lt;br /&gt;
&lt;br /&gt;
== Benchmarks ==&lt;br /&gt;
Generating all those individual geometries takes a lot of time, an initial generation run can take up to half an hour due to the complexity and size of a pad frame and its pad cells, which is why we introduced component caching.&lt;br /&gt;
&lt;br /&gt;
=== Initial run ===&lt;br /&gt;
The initial run for GF180A takes around 20 minutes, IHP and Skywater with even more layers can take up to 32 minutes&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    20m48.886s&lt;br /&gt;
user    20m46.885s&lt;br /&gt;
sys     0m3.880s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Further runs ===&lt;br /&gt;
During the second run that generation time is cut in half when assembling the padframe and writing it out.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    8m43.972s&lt;br /&gt;
user    8m40.889s&lt;br /&gt;
sys     0m4.139s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=805</id>
		<title>LibrePDK Padframe SPICE Verification Report SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=805"/>
		<updated>2026-09-01T16:17:03Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* Physical Verification &amp;amp; GDS Delivery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 1.2 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:47:40 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 2.75 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 0.00 V, High: 1.15 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 1.2V → 1.15 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 1.2V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 0.12V / 1.20V | Rx: 0.00V / 1.15V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
☢&lt;br /&gt;
[[File:Sim 1 esd clamping SG13G2@1.2V.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
☢&lt;br /&gt;
[[File:Sim 2 signal write SG13G2@1.2V.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 1.2V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:Sim 3 signal read hiz SG13G2@1.2V.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
[[File:Sim 4 pad to pad loopback SG13G2@1.2V.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=804</id>
		<title>LibrePDK Padframe SPICE Verification Report SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=804"/>
		<updated>2026-09-01T16:16:46Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 1.2 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:47:40 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 2.75 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 0.00 V, High: 1.15 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 1.2V → 1.15 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 1.2V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 0.12V / 1.20V | Rx: 0.00V / 1.15V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
☢&lt;br /&gt;
[[File:Sim 1 esd clamping SG13G2@1.2V.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
☢&lt;br /&gt;
[[File:Sim 2 signal write SG13G2@1.2V.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 1.2V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:Sim 3 signal read hiz SG13G2@1.2V.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
[[File:Sim 4 pad to pad loopback SG13G2@1.2V.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=803</id>
		<title>LibrePDK Padframe SPICE Verification Report SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=803"/>
		<updated>2026-09-01T16:15:06Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* 3. Digital Input Sensing (Read / Hi-Z) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 1.2 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:47:40 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 2.75 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 0.00 V, High: 1.15 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 1.2V → 1.15 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 1.2V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 0.12V / 1.20V | Rx: 0.00V / 1.15V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:Sim 1 esd clamping SG13G2@1.2V.png|none|thumb]]&lt;br /&gt;
☢&lt;br /&gt;
[[File:sim_1_esd_clamping.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:Sim 2 signal write SG13G2@1.2V.png|none|thumb]]&lt;br /&gt;
☢&lt;br /&gt;
[[File:sim_2_signal_write.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 1.2V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:Sim 3 signal read hiz SG13G2@1.2V.png|none|thumb]]&lt;br /&gt;
File:Sim 2 signal write.pngSignal Write: Core OUT driving Bonding Pad (0V to 1.2V)&lt;br /&gt;
[[File:sim_3_signal_read_hiz.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
[[File:Sim 4 pad to pad loopback SG13G2@1.2V.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=File:Sim_1_esd_clamping_SG13G2@1.2V.png&amp;diff=802</id>
		<title>File:Sim 1 esd clamping SG13G2@1.2V.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=File:Sim_1_esd_clamping_SG13G2@1.2V.png&amp;diff=802"/>
		<updated>2026-09-01T16:14:53Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sim 1 esd clamping SG13G2@1.2V&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=File:Sim_2_signal_write_SG13G2@1.2V.png&amp;diff=801</id>
		<title>File:Sim 2 signal write SG13G2@1.2V.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=File:Sim_2_signal_write_SG13G2@1.2V.png&amp;diff=801"/>
		<updated>2026-09-01T16:14:27Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sim 2 signal write SG13G2@1.2V&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=File:Sim_3_signal_read_hiz_SG13G2@1.2V.png&amp;diff=800</id>
		<title>File:Sim 3 signal read hiz SG13G2@1.2V.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=File:Sim_3_signal_read_hiz_SG13G2@1.2V.png&amp;diff=800"/>
		<updated>2026-09-01T16:13:53Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sim 3 signal read hiz SG13G2@1.2V&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=799</id>
		<title>LibrePDK Padframe SPICE Verification Report SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=799"/>
		<updated>2026-09-01T16:12:50Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 1.2 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:47:40 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 2.75 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 0.00 V, High: 1.15 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 1.2V → 1.15 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 1.2V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 0.12V / 1.20V | Rx: 0.00V / 1.15V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:sim_1_esd_clamping.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:sim_2_signal_write.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 1.2V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:sim_3_signal_read_hiz.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
[[File:Sim 4 pad to pad loopback SG13G2@1.2V.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=798</id>
		<title>LibrePDK Padframe SPICE Verification Report SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=798"/>
		<updated>2026-09-01T16:12:24Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 1.2 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:47:40 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 2.75 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 0.00 V, High: 1.15 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 1.2V → 1.15 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 1.2V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 0.12V / 1.20V | Rx: 0.00V / 1.15V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:sim_1_esd_clamping.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:sim_2_signal_write.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 1.2V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:sim_3_signal_read_hiz.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
[[File:sim_4_pad_to_pad_loopback.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
[[File:Sim 4 pad to pad loopback SG13G2@1.2V.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[index.php?title=Category:LibrePDK]]&lt;br /&gt;
[[index.php?title=Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=File:Sim_4_pad_to_pad_loopback_SG13G2@1.2V.png&amp;diff=797</id>
		<title>File:Sim 4 pad to pad loopback SG13G2@1.2V.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=File:Sim_4_pad_to_pad_loopback_SG13G2@1.2V.png&amp;diff=797"/>
		<updated>2026-09-01T16:10:08Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sim 4 pad to pad loopback SG13G2@1.2V&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=796</id>
		<title>LibrePDK Padframe SPICE Verification Report GF180A@3.3V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_GF180A@3.3V&amp;diff=796"/>
		<updated>2026-09-01T16:08:57Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: Created page with &amp;quot;= LibrePDK Padframe SPICE Verification Report =  &amp;#039;&amp;#039;&amp;#039;Technology:&amp;#039;&amp;#039;&amp;#039; IHP SG13G2 (130nm BiCMOS)   &amp;#039;&amp;#039;&amp;#039;Operating Voltage:&amp;#039;&amp;#039;&amp;#039; 3.3 V   &amp;#039;&amp;#039;&amp;#039;Verification Date:&amp;#039;&amp;#039;&amp;#039; 2026-09-01 16:01:45 UTC   &amp;#039;&amp;#039;&amp;#039;Extracted Netlist:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)    == Executive Summary == {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot; ! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status |- | style=&amp;quot;text-align:left;&amp;quot; |...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 3.3 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:01:45 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 4.30 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 2.84 V, High: 0.65 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 3.3V → 2.87 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 3.3V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 1.40V / 1.37V | Rx: 2.85V / -0.01V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:sim_1_esd_clamping.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:sim_2_signal_write.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 3.3V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:sim_3_signal_read_hiz.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
[[File:sim_4_pad_to_pad_loopback.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[Category:LibrePDK]]&lt;br /&gt;
[[Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=795</id>
		<title>LibrePDK Padframe SPICE Verification Report SG13G2@1.2V</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=LibrePDK_Padframe_SPICE_Verification_Report_SG13G2@1.2V&amp;diff=795"/>
		<updated>2026-09-01T16:08:24Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: Created page with &amp;quot;= LibrePDK Padframe SPICE Verification Report =  &amp;#039;&amp;#039;&amp;#039;Technology:&amp;#039;&amp;#039;&amp;#039; IHP SG13G2 (130nm BiCMOS)   &amp;#039;&amp;#039;&amp;#039;Operating Voltage:&amp;#039;&amp;#039;&amp;#039; 1.2 V   &amp;#039;&amp;#039;&amp;#039;Verification Date:&amp;#039;&amp;#039;&amp;#039; 2026-09-01 16:47:40 UTC   &amp;#039;&amp;#039;&amp;#039;Extracted Netlist:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)    == Executive Summary == {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot; ! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status |- | style=&amp;quot;text-align:left;&amp;quot; |...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LibrePDK Padframe SPICE Verification Report =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technology:&#039;&#039;&#039; IHP SG13G2 (130nm BiCMOS)  &lt;br /&gt;
&#039;&#039;&#039;Operating Voltage:&#039;&#039;&#039; 1.2 V  &lt;br /&gt;
&#039;&#039;&#039;Verification Date:&#039;&#039;&#039; 2026-09-01 16:47:40 UTC  &lt;br /&gt;
&#039;&#039;&#039;Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt; (Magic VLSI Hierarchical Extraction)  &lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:90%;&amp;quot;&lt;br /&gt;
! Test Scenario !! Target Net / Pad !! Measured Values !! Design Specification !! Status&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;ESD Clamping Transient&#039;&#039;&#039; || PAD_GPIO_0 (ESD Clamps) || Peak Clamped: 2.75 V || &amp;lt; 15.0 V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Output Drive (Write)&#039;&#039;&#039; || gpio_out_0 → PAD_GPIO_0 || Low: 0.00 V, High: 1.15 V || Rail-to-rail driver transition || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Digital Input Sensing (Read / Hi-Z)&#039;&#039;&#039; || PAD_GPIO_1 → gpio_in_1 || Pad 0V → 0.00 V, Pad 1.2V → 1.15 V || Pad 0V -&amp;gt; Core &amp;gt; 0.8V, Pad 1.2V -&amp;gt; Core &amp;lt; 0.2V || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;&#039;Pad-to-Pad Dynamic Loopback&#039;&#039;&#039; || PAD_GPIO_0 → PAD_GPIO_1 || Bus: 0.12V / 1.20V | Rx: 0.00V / 1.15V || Full rail-to-rail dynamic loopback across frame || style=&amp;quot;background:#d4edda; color:#155724; font-weight:bold;&amp;quot; | PASS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Core Signal &amp;amp; Bonding Pad Interface Mapping ==&lt;br /&gt;
The LibrePDK padframe generator exposed unique net names defined in the JSON configuration for seamless Coriolis LEF/DEF digital core integration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:90%; font-family:monospace;&amp;quot;&lt;br /&gt;
! Subcircuit Port Name !! Direction !! Interface Type !! Associated Physical Layer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VDD&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VSS&#039;&#039;&#039; || Power Supply || Power / Ground Rail Tap || metal7 / multi-rail&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_0&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_0&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_0&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_in_1&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_out_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;gpio_en_1&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_GPIO_1&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_miso_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MISO&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_cs_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_CS&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_tx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_TX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;uart_rx_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_UART_RX&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_sclk_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_SCLK&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_in&#039;&#039;&#039; || Core Output (Pad -&amp;gt; Core) || Core Input Buffer (From Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_out&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Core Output Driver (To Pad) || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;spi_mosi_en&#039;&#039;&#039; || Core Input (Core -&amp;gt; Pad) || Output Driver Tristate Enable || metal1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAD_SPI_MOSI&#039;&#039;&#039; || Bidirectional / Analog || Bonding Pad (Top Metal) || metal7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Transient Simulation Waveforms ==&lt;br /&gt;
&lt;br /&gt;
=== 1. ESD Clamping Event ===&lt;br /&gt;
Transient simulation applying a 2kV / 1.33A peak Human Body Model (HBM) current pulse directly to the bonding pad:&lt;br /&gt;
[[File:sim_1_esd_clamping.png|thumb|center|700px|ESD Diode and Rail Clamping Response under 1.33A Transient Current Pulse]]&lt;br /&gt;
&lt;br /&gt;
=== 2. Digital Output Drive (Write) ===&lt;br /&gt;
Driving output data from the digital core logic through the pad cell driver transistors onto the external bonding pad:&lt;br /&gt;
[[File:sim_2_signal_write.png|thumb|center|700px|Signal Write: Core OUT driving Bonding Pad (0V to 1.2V)]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Digital Input Sensing (Read / Hi-Z) ===&lt;br /&gt;
External signal applied to the bonding pad in tristate / Hi-Z mode, sensed by the internal core input buffer:&lt;br /&gt;
[[File:sim_3_signal_read_hiz.png|thumb|center|700px|Signal Read: External Bonding Pad voltage sensed at Core IN]]&lt;br /&gt;
&lt;br /&gt;
=== 4. Full Dynamic Loopback ===&lt;br /&gt;
End-to-end signal transmission across the entire chip: Core Transmitter (Pad A) drives the shared bonding wire bus, sensed by Core Receiver (Pad B):&lt;br /&gt;
[[File:sim_4_pad_to_pad_loopback.png|thumb|center|700px|Pad-to-Pad Dynamic Loopback: Transmitter OUT to Receiver IN]]&lt;br /&gt;
&lt;br /&gt;
== Physical Verification &amp;amp; GDS Delivery ==&lt;br /&gt;
* &#039;&#039;&#039;GDSII Top Level:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.raw.gds&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;padframe.gds&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Magic Layout:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.mag&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SPICE Extracted Netlist:&#039;&#039;&#039; &amp;lt;code&amp;gt;padframe.spice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Simulation Models:&#039;&#039;&#039; &amp;lt;code&amp;gt;model.spice&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;design_header.ngspice&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:LibreSilicon Verification Reports]]&lt;br /&gt;
[[Category:LibrePDK]]&lt;br /&gt;
[[Category:SG13G2]]&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=794</id>
		<title>Pad Frame Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=794"/>
		<updated>2026-09-01T16:07:08Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Padframe Example.png|thumb|Example of a pad frame for SG13G2@1.2V]]&lt;br /&gt;
The Pad Frame Generator is part of the [[LibrePDK]] and provides the [[Pad Cell Generator]] functionality.&lt;br /&gt;
&lt;br /&gt;
It&#039;s job is to assemble a ready to use pad frame harness, with ESD protection and power rail wire width properly adjusted for accommodating the intended current driving capacity as well as the intended voltage levels to be used.&lt;br /&gt;
&lt;br /&gt;
== Types of Pad Cells produced ==&lt;br /&gt;
Currently we support only simple IO [[Pad Cell]], analog cells, and power cells, complex pad cells still are being in development.&lt;br /&gt;
&lt;br /&gt;
The very special impedance compensated pad cell in the works ([[High-Speed Impedance-Compensated Pad Cell]]) is needed in order to hook up DDR4 RAM to our chips or build a PCIe device.&lt;br /&gt;
&lt;br /&gt;
== How to use ==&lt;br /&gt;
There are two options on how you can run the Pad Frame Generator on your machine, you can go the easy route and use a docker container or you can [[Pad Frame Generator#Installation|set up LibrePDK locally]].&lt;br /&gt;
&lt;br /&gt;
An example for a paframe config can be found here [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_sg13g2_1v2.json?ref_type=heads padframe_sg13g2_1v2.json]&lt;br /&gt;
&lt;br /&gt;
=== Docker ===&lt;br /&gt;
First pull the docker image for the [[LibrePDK]] in order to make sure the image is up to date by running&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull leviathanch/librepdk:latest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then you can feed your JSON config for the padframe you have configured to the pad frame generator script contained in the docker image.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker run -it --rm \&lt;br /&gt;
    -e HOST_UID=$(id -u) -e HOST_GID=$(id -g) \&lt;br /&gt;
    -v &amp;quot;$(pwd)&amp;quot;:/workspace leviathanch/librepdk:latest \&lt;br /&gt;
    librepdk_padframe_generator -i padframe_config.json \&lt;br /&gt;
    -o my_padframe&amp;lt;/syntaxhighlight&amp;gt;After running the generator you should have a folder named my_padframe containing the LEF, DEF, Magic and all the other files you need for running a full synthesis flow of your designs.&lt;br /&gt;
&lt;br /&gt;
=== Run Locally ===&lt;br /&gt;
After [[Pad Frame Generator#Installation|seting up LibrePDK locally]] you can generate your pad frame by running&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;uv run \&lt;br /&gt;
    librepdk_padframe_generator -i padframe_config.json \&lt;br /&gt;
    -o my_padframe&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test cases ==&lt;br /&gt;
Tests have been performed for the sample pad frame configurations for [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_gf180a_3v3.json?ref_type=heads IHP&#039;s SG13G2 at 1.2V] and the [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_gf180a_3v3.json?ref_type=heads GF180A process at 3.3V] (by Global Foundries).&lt;br /&gt;
&lt;br /&gt;
Please look at [[LibrePDK Padframe SPICE Verification Report SG13G2@1.2V]] and [[LibrePDK Padframe SPICE Verification Report GF180A@3.3V]] for the simulation verification results and wave forms.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Since the Pad Frame Generator is part of [[LibrePDK]] you can find the guide on how to install all the dependencies in the [[LibrePDK#Installation|Installation section of the LibrePDK]] page&lt;br /&gt;
&lt;br /&gt;
== Benchmarks ==&lt;br /&gt;
Generating all those individual geometries takes a lot of time, an initial generation run can take up to half an hour due to the complexity and size of a pad frame and its pad cells, which is why we introduced component caching.&lt;br /&gt;
&lt;br /&gt;
=== Initial run ===&lt;br /&gt;
The initial run for GF180A takes around 20 minutes, IHP and Skywater with even more layers can take up to 32 minutes&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    20m48.886s&lt;br /&gt;
user    20m46.885s&lt;br /&gt;
sys     0m3.880s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Further runs ===&lt;br /&gt;
During the second run that generation time is cut in half when assembling the padframe and writing it out.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    8m43.972s&lt;br /&gt;
user    8m40.889s&lt;br /&gt;
sys     0m4.139s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=793</id>
		<title>Pad Frame Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=793"/>
		<updated>2026-08-31T16:00:32Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* How to use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Padframe Example.png|thumb|Example of a pad frame for SG13G2@1.2V]]&lt;br /&gt;
The Pad Frame Generator is part of the [[LibrePDK]] and provides the [[Pad Cell Generator]] functionality.&lt;br /&gt;
&lt;br /&gt;
It&#039;s job is to assemble a ready to use pad frame harness, with ESD protection and power rail wire width properly adjusted for accommodating the intended current driving capacity as well as the intended voltage levels to be used.&lt;br /&gt;
&lt;br /&gt;
== Types of Pad Cells produced ==&lt;br /&gt;
Currently we support only simple IO [[Pad Cell]], analog cells, and power cells, complex pad cells still are being in development.&lt;br /&gt;
&lt;br /&gt;
The very special impedance compensated pad cell in the works ([[High-Speed Impedance-Compensated Pad Cell]]) is needed in order to hook up DDR4 RAM to our chips or build a PCIe device.&lt;br /&gt;
&lt;br /&gt;
== How to use ==&lt;br /&gt;
There are two options on how you can run the Pad Frame Generator on your machine, you can go the easy route and use a docker container or you can [[Pad Frame Generator#Installation|set up LibrePDK locally]].&lt;br /&gt;
&lt;br /&gt;
An example for a paframe config can be found here [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_sg13g2_1v2.json?ref_type=heads padframe_sg13g2_1v2.json]&lt;br /&gt;
&lt;br /&gt;
=== Docker ===&lt;br /&gt;
First pull the docker image for the [[LibrePDK]] in order to make sure the image is up to date by running&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull leviathanch/librepdk:latest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then you can feed your JSON config for the padframe you have configured to the pad frame generator script contained in the docker image.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker run -it --rm \&lt;br /&gt;
    -e HOST_UID=$(id -u) -e HOST_GID=$(id -g) \&lt;br /&gt;
    -v &amp;quot;$(pwd)&amp;quot;:/workspace leviathanch/librepdk:latest \&lt;br /&gt;
    librepdk_padframe_generator -i padframe_config.json \&lt;br /&gt;
    -o my_padframe&amp;lt;/syntaxhighlight&amp;gt;After running the generator you should have a folder named my_padframe containing the LEF, DEF, Magic and all the other files you need for running a full synthesis flow of your designs.&lt;br /&gt;
&lt;br /&gt;
=== Run Locally ===&lt;br /&gt;
After [[Pad Frame Generator#Installation|seting up LibrePDK locally]] you can generate your pad frame by running&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;uv run \&lt;br /&gt;
    librepdk_padframe_generator -i padframe_config.json \&lt;br /&gt;
    -o my_padframe&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Installation ==&lt;br /&gt;
Since the Pad Frame Generator is part of [[LibrePDK]] you can find the guide on how to install all the dependencies in the [[LibrePDK#Installation|Installation section of the LibrePDK]] page&lt;br /&gt;
&lt;br /&gt;
== Benchmarks ==&lt;br /&gt;
Generating all those individual geometries takes a lot of time, an initial generation run can take up to half an hour due to the complexity and size of a pad frame and its pad cells, which is why we introduced component caching.&lt;br /&gt;
&lt;br /&gt;
=== Initial run ===&lt;br /&gt;
The initial run for GF180A takes around 20 minutes, IHP and Skywater with even more layers can take up to 32 minutes&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    20m48.886s&lt;br /&gt;
user    20m46.885s&lt;br /&gt;
sys     0m3.880s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Further runs ===&lt;br /&gt;
During the second run that generation time is cut in half when assembling the padframe and writing it out.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    8m43.972s&lt;br /&gt;
user    8m40.889s&lt;br /&gt;
sys     0m4.139s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=792</id>
		<title>Pad Frame Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=792"/>
		<updated>2026-08-31T15:58:52Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* How to use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Padframe Example.png|thumb|Example of a pad frame for SG13G2@1.2V]]&lt;br /&gt;
The Pad Frame Generator is part of the [[LibrePDK]] and provides the [[Pad Cell Generator]] functionality.&lt;br /&gt;
&lt;br /&gt;
It&#039;s job is to assemble a ready to use pad frame harness, with ESD protection and power rail wire width properly adjusted for accommodating the intended current driving capacity as well as the intended voltage levels to be used.&lt;br /&gt;
&lt;br /&gt;
== Types of Pad Cells produced ==&lt;br /&gt;
Currently we support only simple IO [[Pad Cell]], analog cells, and power cells, complex pad cells still are being in development.&lt;br /&gt;
&lt;br /&gt;
The very special impedance compensated pad cell in the works ([[High-Speed Impedance-Compensated Pad Cell]]) is needed in order to hook up DDR4 RAM to our chips or build a PCIe device.&lt;br /&gt;
&lt;br /&gt;
== How to use ==&lt;br /&gt;
There are two options on how you can run the Pad Frame Generator on your machine, you can go the easy route and use a docker container or you can [[Pad Frame Generator#Installation|set up LibrePDK locally]]&lt;br /&gt;
&lt;br /&gt;
=== Docker ===&lt;br /&gt;
First pull the docker image for the [[LibrePDK]] in order to make sure the image is up to date by running&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull leviathanch/librepdk:latest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then you can feed your JSON config for the padframe you have configured to the pad frame generator script contained in the docker image.&lt;br /&gt;
&lt;br /&gt;
An example for a paframe config can be found here [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_sg13g2_1v2.json?ref_type=heads padframe_sg13g2_1v2.json]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker run -it --rm \&lt;br /&gt;
    -e HOST_UID=$(id -u) -e HOST_GID=$(id -g) \&lt;br /&gt;
    -v &amp;quot;$(pwd)&amp;quot;:/workspace leviathanch/librepdk:latest \&lt;br /&gt;
    librepdk_padframe_generator -i padframe_config.json \&lt;br /&gt;
    -o my_padframe&amp;lt;/syntaxhighlight&amp;gt;After running the generator you should have a folder named my_padframe containing the LEF, DEF, Magic and all the other files you need for running a full synthesis flow of your designs.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Since the Pad Frame Generator is part of [[LibrePDK]] you can find the guide on how to install all the dependencies in the [[LibrePDK#Installation|Installation section of the LibrePDK]] page&lt;br /&gt;
&lt;br /&gt;
== Benchmarks ==&lt;br /&gt;
Generating all those individual geometries takes a lot of time, an initial generation run can take up to half an hour due to the complexity and size of a pad frame and its pad cells, which is why we introduced component caching.&lt;br /&gt;
&lt;br /&gt;
=== Initial run ===&lt;br /&gt;
The initial run for GF180A takes around 20 minutes, IHP and Skywater with even more layers can take up to 32 minutes&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    20m48.886s&lt;br /&gt;
user    20m46.885s&lt;br /&gt;
sys     0m3.880s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Further runs ===&lt;br /&gt;
During the second run that generation time is cut in half when assembling the padframe and writing it out.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    8m43.972s&lt;br /&gt;
user    8m40.889s&lt;br /&gt;
sys     0m4.139s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=791</id>
		<title>Pad Frame Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=791"/>
		<updated>2026-08-31T13:38:54Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* How to use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Padframe Example.png|thumb|Example of a pad frame for SG13G2@1.2V]]&lt;br /&gt;
The Pad Frame Generator is part of the [[LibrePDK]] and provides the [[Pad Cell Generator]] functionality.&lt;br /&gt;
&lt;br /&gt;
It&#039;s job is to assemble a ready to use pad frame harness, with ESD protection and power rail wire width properly adjusted for accommodating the intended current driving capacity as well as the intended voltage levels to be used.&lt;br /&gt;
&lt;br /&gt;
== Types of Pad Cells produced ==&lt;br /&gt;
Currently we support only simple IO [[Pad Cell]], analog cells, and power cells, complex pad cells still are being in development.&lt;br /&gt;
&lt;br /&gt;
The very special impedance compensated pad cell in the works ([[High-Speed Impedance-Compensated Pad Cell]]) is needed in order to hook up DDR4 RAM to our chips or build a PCIe device.&lt;br /&gt;
&lt;br /&gt;
== How to use ==&lt;br /&gt;
First pull the docker image for the [[LibrePDK]] in order to make sure the image is up to date by running&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull leviathanch/librepdk:latest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then you can feed your JSON config for the padframe you have configured to the pad frame generator script contained in the docker image.&lt;br /&gt;
&lt;br /&gt;
An example for a paframe config can be found here [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_sg13g2_1v2.json?ref_type=heads padframe_sg13g2_1v2.json]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker run -it --rm \&lt;br /&gt;
    -e HOST_UID=$(id -u) -e HOST_GID=$(id -g) \&lt;br /&gt;
    -v &amp;quot;$(pwd)&amp;quot;:/workspace leviathanch/librepdk:latest \&lt;br /&gt;
    librepdk_padframe_generator -i padframe_config.json \&lt;br /&gt;
    -o my_padframe&amp;lt;/syntaxhighlight&amp;gt;After running the generator you should have a folder named my_padframe containing the LEF, DEF, Magic and all the other files you need for running a full synthesis flow of your designs.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Since the Pad Frame Generator is part of [[LibrePDK]] you can find the guide on how to install all the dependencies in the [[LibrePDK#Installation|Installation section of the LibrePDK]] page&lt;br /&gt;
&lt;br /&gt;
== Benchmarks ==&lt;br /&gt;
Generating all those individual geometries takes a lot of time, an initial generation run can take up to half an hour due to the complexity and size of a pad frame and its pad cells, which is why we introduced component caching.&lt;br /&gt;
&lt;br /&gt;
=== Initial run ===&lt;br /&gt;
The initial run for GF180A takes around 20 minutes, IHP and Skywater with even more layers can take up to 32 minutes&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    20m48.886s&lt;br /&gt;
user    20m46.885s&lt;br /&gt;
sys     0m3.880s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Further runs ===&lt;br /&gt;
During the second run that generation time is cut in half when assembling the padframe and writing it out.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    8m43.972s&lt;br /&gt;
user    8m40.889s&lt;br /&gt;
sys     0m4.139s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=790</id>
		<title>Pad Frame Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=790"/>
		<updated>2026-08-31T13:38:26Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* Types of Pad Cells produced */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Padframe Example.png|thumb|Example of a pad frame for SG13G2@1.2V]]&lt;br /&gt;
The Pad Frame Generator is part of the [[LibrePDK]] and provides the [[Pad Cell Generator]] functionality.&lt;br /&gt;
&lt;br /&gt;
It&#039;s job is to assemble a ready to use pad frame harness, with ESD protection and power rail wire width properly adjusted for accommodating the intended current driving capacity as well as the intended voltage levels to be used.&lt;br /&gt;
&lt;br /&gt;
== Types of Pad Cells produced ==&lt;br /&gt;
Currently we support only simple IO [[Pad Cell]], analog cells, and power cells, complex pad cells still are being in development.&lt;br /&gt;
&lt;br /&gt;
The very special impedance compensated pad cell in the works ([[High-Speed Impedance-Compensated Pad Cell]]) is needed in order to hook up DDR4 RAM to our chips or build a PCIe device.&lt;br /&gt;
&lt;br /&gt;
== How to use ==&lt;br /&gt;
First pull the docker image for the [[LibrePDK]] in order to make sure the image is up to date by running&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull leviathanch/librepdk:latest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then you can feed your JSON config for the padframe you have configured to the pad frame generator script contained in the docker image.&lt;br /&gt;
An example for a paframe config can be found here [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_sg13g2_1v2.json?ref_type=heads padframe_sg13g2_1v2.json]&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker run -it --rm \&lt;br /&gt;
    -e HOST_UID=$(id -u) -e HOST_GID=$(id -g) \&lt;br /&gt;
    -v &amp;quot;$(pwd)&amp;quot;:/workspace leviathanch/librepdk:latest \&lt;br /&gt;
    librepdk_padframe_generator -i padframe_config.json \&lt;br /&gt;
    -o my_padframe&amp;lt;/syntaxhighlight&amp;gt;After running the generator you should have a folder named my_padframe containing the LEF, DEF, Magic and all the other files you need for running a full synthesis flow of your designs.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Since the Pad Frame Generator is part of [[LibrePDK]] you can find the guide on how to install all the dependencies in the [[LibrePDK#Installation|Installation section of the LibrePDK]] page&lt;br /&gt;
&lt;br /&gt;
== Benchmarks ==&lt;br /&gt;
Generating all those individual geometries takes a lot of time, an initial generation run can take up to half an hour due to the complexity and size of a pad frame and its pad cells, which is why we introduced component caching.&lt;br /&gt;
&lt;br /&gt;
=== Initial run ===&lt;br /&gt;
The initial run for GF180A takes around 20 minutes, IHP and Skywater with even more layers can take up to 32 minutes&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    20m48.886s&lt;br /&gt;
user    20m46.885s&lt;br /&gt;
sys     0m3.880s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Further runs ===&lt;br /&gt;
During the second run that generation time is cut in half when assembling the padframe and writing it out.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    8m43.972s&lt;br /&gt;
user    8m40.889s&lt;br /&gt;
sys     0m4.139s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=789</id>
		<title>Pad Frame Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=789"/>
		<updated>2026-08-31T13:38:14Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* How to use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Padframe Example.png|thumb|Example of a pad frame for SG13G2@1.2V]]&lt;br /&gt;
The Pad Frame Generator is part of the [[LibrePDK]] and provides the [[Pad Cell Generator]] functionality.&lt;br /&gt;
&lt;br /&gt;
It&#039;s job is to assemble a ready to use pad frame harness, with ESD protection and power rail wire width properly adjusted for accommodating the intended current driving capacity as well as the intended voltage levels to be used.&lt;br /&gt;
&lt;br /&gt;
== Types of Pad Cells produced ==&lt;br /&gt;
Currently we support only simple IO [[Pad Cell]], analog cells, and power cells, complex pad cells still are being in development.&lt;br /&gt;
&lt;br /&gt;
The very special impedance compensated pad cell in the works ([[High-Speed Impedance-Compensated Pad Cell]]) is needed in order to hook up DDR4 RAM to our chips or build a PCIe device.&lt;br /&gt;
&lt;br /&gt;
== How to use ==&lt;br /&gt;
First pull the docker image for the [[LibrePDK]] in order to make sure the image is up to date by running&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull leviathanch/librepdk:latest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then you can feed your JSON config for the padframe you have configured to the pad frame generator script contained in the docker image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example for a paframe config can be found here [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_sg13g2_1v2.json?ref_type=heads padframe_sg13g2_1v2.json]&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker run -it --rm \&lt;br /&gt;
    -e HOST_UID=$(id -u) -e HOST_GID=$(id -g) \&lt;br /&gt;
    -v &amp;quot;$(pwd)&amp;quot;:/workspace leviathanch/librepdk:latest \&lt;br /&gt;
    librepdk_padframe_generator -i padframe_config.json \&lt;br /&gt;
    -o my_padframe&amp;lt;/syntaxhighlight&amp;gt;After running the generator you should have a folder named my_padframe containing the LEF, DEF, Magic and all the other files you need for running a full synthesis flow of your designs.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Since the Pad Frame Generator is part of [[LibrePDK]] you can find the guide on how to install all the dependencies in the [[LibrePDK#Installation|Installation section of the LibrePDK]] page&lt;br /&gt;
&lt;br /&gt;
== Benchmarks ==&lt;br /&gt;
Generating all those individual geometries takes a lot of time, an initial generation run can take up to half an hour due to the complexity and size of a pad frame and its pad cells, which is why we introduced component caching.&lt;br /&gt;
&lt;br /&gt;
=== Initial run ===&lt;br /&gt;
The initial run for GF180A takes around 20 minutes, IHP and Skywater with even more layers can take up to 32 minutes&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    20m48.886s&lt;br /&gt;
user    20m46.885s&lt;br /&gt;
sys     0m3.880s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Further runs ===&lt;br /&gt;
During the second run that generation time is cut in half when assembling the padframe and writing it out.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    8m43.972s&lt;br /&gt;
user    8m40.889s&lt;br /&gt;
sys     0m4.139s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
	<entry>
		<id>https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=788</id>
		<title>Pad Frame Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.libresilicon.com/index.php?title=Pad_Frame_Generator&amp;diff=788"/>
		<updated>2026-08-31T13:37:38Z</updated>

		<summary type="html">&lt;p&gt;Leviathan: /* How to use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Padframe Example.png|thumb|Example of a pad frame for SG13G2@1.2V]]&lt;br /&gt;
The Pad Frame Generator is part of the [[LibrePDK]] and provides the [[Pad Cell Generator]] functionality.&lt;br /&gt;
&lt;br /&gt;
It&#039;s job is to assemble a ready to use pad frame harness, with ESD protection and power rail wire width properly adjusted for accommodating the intended current driving capacity as well as the intended voltage levels to be used.&lt;br /&gt;
&lt;br /&gt;
== Types of Pad Cells produced ==&lt;br /&gt;
Currently we support only simple IO [[Pad Cell]], analog cells, and power cells, complex pad cells still are being in development.&lt;br /&gt;
&lt;br /&gt;
The very special impedance compensated pad cell in the works ([[High-Speed Impedance-Compensated Pad Cell]]) is needed in order to hook up DDR4 RAM to our chips or build a PCIe device.&lt;br /&gt;
&lt;br /&gt;
== How to use ==&lt;br /&gt;
First pull the docker image for the [[LibrePDK]] in order to make sure the image is up to date by running&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull leviathanch/librepdk:latest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Then you can feed your JSON config for the padframe you have configured to the pad frame generator script contained in the docker image&lt;br /&gt;
&lt;br /&gt;
An example for a paframe config can be found here [https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_sg13g2_1v2.json?ref_type=heads padframe_sg13g2_1v2.json]&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker run -it --rm \&lt;br /&gt;
    -e HOST_UID=$(id -u) -e HOST_GID=$(id -g) \&lt;br /&gt;
    -v &amp;quot;$(pwd)&amp;quot;:/workspace leviathanch/librepdk:latest \&lt;br /&gt;
    librepdk_padframe_generator -i padframe_config.json \&lt;br /&gt;
    -o my_padframe&amp;lt;/syntaxhighlight&amp;gt;After running the generator you should have a folder named my_padframe containing the LEF, DEF, Magic and all the other files you need for running a full synthesis flow of your designs.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Since the Pad Frame Generator is part of [[LibrePDK]] you can find the guide on how to install all the dependencies in the [[LibrePDK#Installation|Installation section of the LibrePDK]] page&lt;br /&gt;
&lt;br /&gt;
== Benchmarks ==&lt;br /&gt;
Generating all those individual geometries takes a lot of time, an initial generation run can take up to half an hour due to the complexity and size of a pad frame and its pad cells, which is why we introduced component caching.&lt;br /&gt;
&lt;br /&gt;
=== Initial run ===&lt;br /&gt;
The initial run for GF180A takes around 20 minutes, IHP and Skywater with even more layers can take up to 32 minutes&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    20m48.886s&lt;br /&gt;
user    20m46.885s&lt;br /&gt;
sys     0m3.880s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Further runs ===&lt;br /&gt;
During the second run that generation time is cut in half when assembling the padframe and writing it out.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
real    8m43.972s&lt;br /&gt;
user    8m40.889s&lt;br /&gt;
sys     0m4.139s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leviathan</name></author>
	</entry>
</feed>