Delete everything

This commit is contained in:
Byron Lathi
2024-03-02 20:10:50 -08:00
parent 273484b994
commit 0a0394ae33
293 changed files with 1 additions and 94765 deletions

View File

@@ -1,228 +0,0 @@
# This file is a template, and might need editing before it works on your project.
# This is a sample GitLab CI/CD configuration file that should run without any modifications.
# It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts,
# it uses echo commands to simulate the pipeline execution.
#
# A pipeline is composed of independent jobs that run scripts, grouped into stages.
# Stages run in sequential order, but jobs within stages run in parallel.
#
# For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages
#
# You can copy and paste this template into a new `.gitlab-ci.yml` file.
# You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword.
#
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml
variables:
GIT_SUBMODULE_PATHS: ":(exclude)hw/kicad_library"
GIT_SUBMODULE_STRATEGY: recursive
stages: # List of stages for jobs, and their order of execution
- toolchain
- build_sw
- build_hw
- simulate
build toolchain:
retry: 2
tags:
- linux
stage: toolchain
script:
- source init_env.sh
- cd sw/cc65
- make -j 12
artifacts:
paths:
- sw/cc65/bin
- sw/cc65/lib
build bios:
tags:
- linux
stage: build_sw
needs:
- job: build toolchain
artifacts: true
artifacts:
paths:
- hw/efinix_fpga/init_hex.mem
script:
- source init_env.sh
- cd sw/
- make bios
build kernel:
tags:
- linux
stage: build_sw
needs:
- job: build toolchain
artifacts: true
script:
- source init_env.sh
- cd sw/
- make kernel
build fpga: # This job runs in the build stage, which runs first.
tags:
- efinity
- linux
stage: build_hw
needs:
- job: build bios
artifacts: true
script:
- source init_env.sh
- cd hw/efinix_fpga
- make
full sim:
when: manual
tags:
- linux
- iverilog
stage: simulate
artifacts:
paths:
- hw/efinix_fpga/simulation/sim_top.vcd
- hw/efinix_fpga/simulation/fs.fat
script:
- source init_env.sh
- cd hw/efinix_fpga/simulation
- make clean
- TEST_PROGRAM=$REPO_TOP/sw/bios/bios.hex TEST_FOLDER=$REPO_TOP/sw/bios make full_sim
needs:
- job: build toolchain
artifacts: true
- job: build bios
artifacts: true
- job: build kernel
artifacts: true
mapper sim:
tags:
- linux
- iverilog
stage: simulate
needs:
- job: build toolchain
artifacts: true
artifacts:
paths:
- hw/efinix_fpga/simulation/mapper_tb.vcd
script:
- source init_env.sh
- cd hw/efinix_fpga/simulation
- make clean
- make mapper_tb
- ./mapper_tb
mapper_code sim:
tags:
- linux
- iverilog
stage: simulate
needs:
- job: build toolchain
artifacts: true
artifacts:
paths:
- hw/efinix_fpga/simulation/mapper_code_tb.vcd
script:
- source init_env.sh
- cd hw/efinix_fpga/simulation
- make clean
- TEST_PROGRAM_NAME=mapper_test make mapper_code_tb
- ./mapper_code_tb
multiplier_code sim:
tags:
- linux
- iverilog
stage: simulate
needs:
- job: build toolchain
artifacts: true
artifacts:
paths:
- hw/efinix_fpga/simulation/mapper_code_tb.vcd
script:
- source init_env.sh
- cd hw/efinix_fpga/simulation
- make clean
- TEST_PROGRAM_NAME=multiplier_test make mapper_code_tb
- ./mapper_code_tb
interrupt_controller sim:
tags:
- linux
- iverilog
stage: simulate
needs:
- job: build toolchain
artifacts: true
artifacts:
paths:
- hw/efinix_fpga/simulation/interrupt_controller.vcd
script:
- source init_env.sh
- cd hw/efinix_fpga/simulation
- make clean
- TEST_PROGRAM_NAME=mapper_test make interrupt_controller_tb
- ./interrupt_controller_tb
interrupt_controller_code sim:
tags:
- linux
- iverilog
stage: simulate
needs:
- job: build toolchain
artifacts: true
artifacts:
paths:
- hw/efinix_fpga/simulation/interrupt_controller_code.vcd
script:
- source init_env.sh
- cd hw/efinix_fpga/simulation
- make clean
- TEST_PROGRAM_NAME=mapper_test make interrupt_controller_code_tb
- ./interrupt_controller_code_tb
rtc_code sim:
tags:
- linux
- iverilog
stage: simulate
needs:
- job: build toolchain
artifacts: true
artifacts:
paths:
- hw/efinix_fpga/simulation/interrupt_controller_code.vcd
script:
- source init_env.sh
- cd hw/efinix_fpga/simulation
- make clean
- TEST_PROGRAM_NAME=rtc_test make rtc_code_tb
- ./rtc_code_tb
devices_setup_code sim:
tags:
- linux
- iverilog
stage: simulate
needs:
- job: build toolchain
artifacts: true
script:
- source init_env.sh
- cd hw/efinix_fpga/simulation
- make clean
- TEST_PROGRAM_NAME=devices_setup_test make devices_setup_code_tb
- ./devices_setup_code_tb

12
.gitmodules vendored
View File

@@ -1,12 +0,0 @@
[submodule "sw/cc65"]
path = sw/cc65
url = https://git.byronlathi.com/bslathi19/cc65
[submodule "hw/efinix_fpga/simulation/src/verilog-6502"]
path = hw/efinix_fpga/simulation/src/verilog-6502
url = https://git.byronlathi.com/bslathi19/verilog-6502
[submodule "hw/efinix_fpga/simulation/src/verilog-sd-emulator"]
path = hw/efinix_fpga/simulation/src/verilog-sd-emulator
url = https://git.byronlathi.com/bslathi19/verilog-sd-emulator
[submodule "hw/kicad_library"]
path = hw/kicad_library
url = https://git.byronlathi.com/bslathi19/kicad_library.git

View File

@@ -27,46 +27,7 @@ Along the way, there are a few milestones that I want to reach:
* HDMI Display output
* Ethernet
## Details
Currently, the project is built around an Efinix Trion T20F256 Development board.
I also have a breakout board with an SD card slot, a MAX3421E, and an audio codec
(that I forget the pn) which I got at school. Right now I only use the SD card.
The development board is sparse, but it includes SDRAM and enough headers to add
any other peripherals.
I designed a board to plug into one of the headers which exposes nearly all the pins
of a 65C02 directly to the FPGA, with no external circuitry except for 2 pull-up
resistors.
The heart of the project is `super6502.sv`. This file contains all of the various
parts of the project. It contains a small boot rom, but the rest of the code is
loaded from an SD card. All of the peripherals are also instantiated here, and there
is a block at the top for address decoding. It currently contains a very simple MMU
which allows the CPU access to the full 32MB address space. Other peripherals include
a timer, leds, hardware multiplier and divider, a uart, an spi controller (for the sd
card), an interrupt controller, and the SDRAM controller.
The SDRAM controller is the one supplied by the FPGA manufacturer, efinix, but contained
in a wrapper which adapts the native bus to the 6502 bus.
One aspect of the project that I want to improve on is bus interoperability. There is
a huge world of IP that is available if I support AXI or WishBone, but at the moment
I do not.
## Simulation Effort
Because I mostly work on this project while on the bus going to/from work, I can't be
iteratively testing on the hardware. I was inspired by the simulation setup we have at
work for the Starlink ASICs and decided to try and implement something similar, albeit
with only free tools at my disposal. It mostly works, but is very slow. Booting the
kernel takes nearly an hour(!), and that is with no kernel features or functionality.
For this reason, the IP blocks have standalone simulations as well as full system
simulations
## Contributing
While I appreciate feedback, this my own personal project and I will not accept
external contributions.
external contributions.

View File

@@ -1,293 +0,0 @@
<mxfile host="Electron" modified="2023-11-22T16:14:07.032Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.2.8 Chrome/112.0.5615.165 Electron/24.2.0 Safari/537.36" etag="cZrfsaYxYDLctKnBPGYN" version="21.2.8" type="device">
<diagram name="Page-1" id="GhyEJFUGB68-PMfAT87G">
<mxGraphModel dx="2408" dy="1069" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="NXSZnqqENL-7S4XXd65T-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;shape=flexArrow;fillColor=none;" parent="1" source="NXSZnqqENL-7S4XXd65T-1" target="NXSZnqqENL-7S4XXd65T-58" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-1" value="MM00" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="240" y="400" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-60" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;shape=flexArrow;" parent="1" source="NXSZnqqENL-7S4XXd65T-3" target="NXSZnqqENL-7S4XXd65T-58" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="450" y="460" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-3" value="MM01" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="240" y="440" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-61" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;shape=flexArrow;" parent="1" source="NXSZnqqENL-7S4XXd65T-4" target="NXSZnqqENL-7S4XXd65T-58" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="420" y="540" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-4" value="MMnn" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="240" y="520" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-15" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="1" source="NXSZnqqENL-7S4XXd65T-12" target="NXSZnqqENL-7S4XXd65T-14" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-28" value="ADDR[15:0]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-15" vertex="1" connectable="0">
<mxGeometry x="-0.2088" y="-1" relative="1" as="geometry">
<mxPoint x="-8" y="-21" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-12" value="" style="triangle;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="290" y="120" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shape=flexArrow;" parent="1" source="NXSZnqqENL-7S4XXd65T-14" target="NXSZnqqENL-7S4XXd65T-35" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="585" y="345" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-27" value="ADDR[15:12]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-26" vertex="1" connectable="0">
<mxGeometry x="-0.0783" relative="1" as="geometry">
<mxPoint y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-37" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="1" source="NXSZnqqENL-7S4XXd65T-14" target="NXSZnqqENL-7S4XXd65T-36" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-38" value="ADDR[11:0" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-37" vertex="1" connectable="0">
<mxGeometry x="0.1934" y="4" relative="1" as="geometry">
<mxPoint x="-18" y="-16" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="NXSZnqqENL-7S4XXd65T-64" target="NXSZnqqENL-7S4XXd65T-47" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-10" y="630" />
<mxPoint x="-10" y="390" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-14" value="n-4&lt;br&gt;4" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="490" y="210" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-32" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=default;" parent="1" source="NXSZnqqENL-7S4XXd65T-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="480" y="430" as="sourcePoint" />
<mxPoint x="520" y="420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-33" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=default;" parent="1" source="NXSZnqqENL-7S4XXd65T-3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="480" y="430" as="sourcePoint" />
<mxPoint x="520" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-34" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=default;" parent="1" source="NXSZnqqENL-7S4XXd65T-4" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="480" y="430" as="sourcePoint" />
<mxPoint x="520" y="540" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;shape=flexArrow;" parent="1" source="NXSZnqqENL-7S4XXd65T-35" target="NXSZnqqENL-7S4XXd65T-36" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-42" value="ADDR[24:12]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-40" vertex="1" connectable="0">
<mxGeometry x="-0.5389" y="-2" relative="1" as="geometry">
<mxPoint x="7" y="-17" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-35" value="" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;rotation=90;size=55;" parent="1" vertex="1">
<mxGeometry x="465" y="445" width="170" height="60" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="1" source="NXSZnqqENL-7S4XXd65T-36" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="890" y="250" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-43" value="ADDR[24:0]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-41" vertex="1" connectable="0">
<mxGeometry x="-0.3158" relative="1" as="geometry">
<mxPoint x="6" y="-20" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-36" value="+" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="690" y="210" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-45" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" parent="1" target="NXSZnqqENL-7S4XXd65T-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="320" y="320" as="sourcePoint" />
<mxPoint x="310" y="320" as="targetPoint" />
<Array as="points">
<mxPoint x="320" y="360" />
<mxPoint x="280" y="360" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-50" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shape=arrow;" parent="1" source="NXSZnqqENL-7S4XXd65T-47" target="NXSZnqqENL-7S4XXd65T-49" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-47" value="Decoder" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;rotation=-90;size=30;" parent="1" vertex="1">
<mxGeometry x="-10" y="370" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="NXSZnqqENL-7S4XXd65T-49" target="NXSZnqqENL-7S4XXd65T-1" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="220" y="360" />
<mxPoint x="220" y="420" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-81" value="we[1:0]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-55" vertex="1" connectable="0">
<mxGeometry x="-0.3218" relative="1" as="geometry">
<mxPoint x="-17" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-56" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="NXSZnqqENL-7S4XXd65T-49" target="NXSZnqqENL-7S4XXd65T-3" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="210" y="390" />
<mxPoint x="210" y="460" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-82" value="we[1:0]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-56" vertex="1" connectable="0">
<mxGeometry x="-0.7003" relative="1" as="geometry">
<mxPoint x="8" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-57" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="NXSZnqqENL-7S4XXd65T-49" target="NXSZnqqENL-7S4XXd65T-4" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="190" y="420" />
<mxPoint x="190" y="540" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-83" value="we[1:0]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-57" vertex="1" connectable="0">
<mxGeometry x="-0.7895" y="1" relative="1" as="geometry">
<mxPoint x="9" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-49" value="&amp;amp;" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="120" y="330" width="40" height="120" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-51" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" parent="1" target="NXSZnqqENL-7S4XXd65T-49" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="130" y="300" as="sourcePoint" />
<mxPoint x="210" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-52" value="CS" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-51" vertex="1" connectable="0">
<mxGeometry x="-0.7662" relative="1" as="geometry">
<mxPoint y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-53" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" parent="1" target="NXSZnqqENL-7S4XXd65T-49" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="150" y="300" as="sourcePoint" />
<mxPoint x="210" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-54" value="WE" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-53" vertex="1" connectable="0">
<mxGeometry x="-0.7143" relative="1" as="geometry">
<mxPoint y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-63" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="1" source="NXSZnqqENL-7S4XXd65T-58" target="NXSZnqqENL-7S4XXd65T-62" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-71" value="data[15:0]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="NXSZnqqENL-7S4XXd65T-63" vertex="1" connectable="0">
<mxGeometry x="-0.258" y="-1" relative="1" as="geometry">
<mxPoint x="31" y="-5" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-58" value="" style="shape=trapezoid;perimeter=trapezoidPerimeter;fixedSize=1;size=20;rotation=-180;html=1;whiteSpace=wrap;horizontal=1;" parent="1" vertex="1">
<mxGeometry x="390" y="610" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;shape=flexArrow;" parent="1" source="NXSZnqqENL-7S4XXd65T-62" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="450" y="780" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-73" value="DATA_OUT[7:0]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-72" vertex="1" connectable="0">
<mxGeometry x="0.3305" y="-2" relative="1" as="geometry">
<mxPoint x="52" y="-13" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-62" value="" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;size=20;rotation=-180;" parent="1" vertex="1">
<mxGeometry x="390" y="690" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-66" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="NXSZnqqENL-7S4XXd65T-77" target="NXSZnqqENL-7S4XXd65T-62" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="250" y="630" />
<mxPoint x="250" y="710" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-68" value="ADDR[0]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-66" vertex="1" connectable="0">
<mxGeometry x="0.4898" relative="1" as="geometry">
<mxPoint x="3" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-64" value="" style="triangle;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-160" y="590" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-65" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;fillColor=default;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="NXSZnqqENL-7S4XXd65T-64" target="NXSZnqqENL-7S4XXd65T-77" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="200" y="630" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-67" value="ADDR[4:0]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="NXSZnqqENL-7S4XXd65T-65" vertex="1" connectable="0">
<mxGeometry x="0.1394" relative="1" as="geometry">
<mxPoint x="-115" y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-69" value="WORD MUX" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="410" y="615" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-70" value="BYTE MUX" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="410" y="695" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-74" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;fillColor=default;" parent="1" target="NXSZnqqENL-7S4XXd65T-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="320" y="310" as="sourcePoint" />
<mxPoint x="340" y="380" as="targetPoint" />
<Array as="points">
<mxPoint x="320" y="360" />
<mxPoint x="360" y="360" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-75" value="DATA_IN[7:0]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-74" vertex="1" connectable="0">
<mxGeometry x="-0.5016" y="-1" relative="1" as="geometry">
<mxPoint x="41" y="-2" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-77" value="4&lt;br&gt;1" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="190" y="590" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-78" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;shape=flexArrow;fillColor=default;" parent="1" source="NXSZnqqENL-7S4XXd65T-77" target="NXSZnqqENL-7S4XXd65T-58" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-79" value="ADDR[4:1]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NXSZnqqENL-7S4XXd65T-78" vertex="1" connectable="0">
<mxGeometry x="0.1248" relative="1" as="geometry">
<mxPoint x="-11" y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-85" value="&lt;h1&gt;MM Registers&lt;/h1&gt;&lt;p&gt;MM Registers are 16 bit.&lt;/p&gt;&lt;p&gt;There are 16 MM registers&lt;/p&gt;&lt;p&gt;There are 2 write enables, one for the high byte and one for the low byte.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;For reading, first the register is selected, then the byte in the register is selected&lt;/p&gt;" style="text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
<mxGeometry x="610" y="570" width="230" height="210" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-86" value="" style="triangle;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
<mxGeometry x="290" y="240" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-87" value="" style="triangle;whiteSpace=wrap;html=1;rotation=90;" parent="1" vertex="1">
<mxGeometry x="420" y="770" width="60" height="80" as="geometry" />
</mxCell>
<mxCell id="NXSZnqqENL-7S4XXd65T-88" value="" style="triangle;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="890" y="210" width="60" height="80" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

View File

@@ -1,70 +0,0 @@
# Memory Mapper
## Overview
The memory mapper gives expands the CPU's address space from 16 bits to 25.
It can be expanded to be 28 bits, but only 25 are needed to access all of
sdram.
Its architecture is show below:
![memory_mapper.drawio.png](memory_mapper.drawio.png)
There are 32 16 bit registers: One for each 4k page in the virtual address
space. The memory mapper is always enabled, but at reset it is identity
mapped, i.e. register _n_ will be reset to value _n_.
## Interface
The Memory mapper is composed of 32 identical 16 bit mapping registers
The chip select should be calculated based on the virtual address. If not,
it will be possible for the CPU to map away access to the mapper, at which
point it is impossible to change the mappings without a reset.
## Registers
### Register Map
| Address | Read | Write |
|--------- |-------------- |-------------- |
| 00 | MM0 Low | MM0 Low |
| 01 | MM0 High | MM0 High |
| 02 | MM1 Low | MM1 Low |
| 03 | MM1 High | MM1 High |
| 04 | MM2 Low | MM2 Low |
| 05 | MM2 High | MM2 High |
| 06 | MM3 Low | MM3 Low |
| 07 | MM3 High | MM3 High |
| 08 | MM4 Low | MM4 Low |
| 09 | MM4 High | MM4 High |
| 0A | MM5 Low | MM5 Low |
| 0B | MM5 High | MM5 High |
| 0C | MM6 Low | MM6 Low |
| 0D | MM6 High | MM6 High |
| 0E | MM7 Low | MM7 Low |
| 0F | MM7 High | MM7 High |
| 10 | MM8 Low | MM8 Low |
| 11 | MM8 High | MM8 High |
| 12 | MM9 Low | MM9 Low |
| 13 | MM9 High | MM9 High |
| 14 | MM10 Low | MM10 Low |
| 15 | MM10 High | MM10 High |
| 16 | MM11 Low | MM11 Low |
| 17 | MM11 High | MM11 High |
| 18 | MM12 Low | MM12 Low |
| 19 | MM12 High | MM12 High |
| 1A | MM13 Low | MM13 Low |
| 1B | MM13 High | MM13 High |
| 1C | MM14 Low | MM14 Low |
| 1D | MM14 High | MM14 High |
| 1E | MM15 Low | MM15 Low |
| 1F | MM15 High | MM15 High |
### MMn Low
Low memory map data. Becomes bits [19:12] of physical address.
### MMn High
High memory map data. Becomes bits [27:20] of physical address.

View File

@@ -1,405 +0,0 @@
<mxfile host="Electron" modified="2023-11-01T06:11:06.013Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.2.8 Chrome/112.0.5615.165 Electron/24.2.0 Safari/537.36" etag="4tOil3yPLSnD9o39OaK8" version="21.2.8" type="device">
<diagram name="Page-1" id="aqkBykuImbnj1wh3Ue84">
<mxGraphModel dx="2096" dy="855" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="3cJaNxErLRnUAumjy6m_-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-1" target="3cJaNxErLRnUAumjy6m_-32">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-1" value="priority encoder" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="440" y="430" width="80" height="160" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-2" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="3.552713678800501e-15" y="470" as="sourcePoint" />
<mxPoint x="80" y="470" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-7" value="irq[0]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-2">
<mxGeometry x="-0.6683" relative="1" as="geometry">
<mxPoint x="-33" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-3" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.188;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="3.552713678800501e-15" y="490" as="sourcePoint" />
<mxPoint x="80" y="490" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-8" value="irq[1]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-3">
<mxGeometry x="-0.4849" y="-1" relative="1" as="geometry">
<mxPoint x="-41" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-4" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.188;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="3.552713678800501e-15" y="510" as="sourcePoint" />
<mxPoint x="80" y="510" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-9" value="irq[2]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-4">
<mxGeometry x="-0.8014" relative="1" as="geometry">
<mxPoint x="-28" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-5" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.188;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="3.552713678800501e-15" y="560" as="sourcePoint" />
<mxPoint x="80" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-10" value="irq[n]" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-5">
<mxGeometry x="-0.7326" relative="1" as="geometry">
<mxPoint x="-31" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-6" value="..." style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="20.000000000000004" y="520" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-103" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-11" target="3cJaNxErLRnUAumjy6m_-102">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="240" y="660" />
<mxPoint x="710" y="660" />
<mxPoint x="710" y="500" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-11" value="edge/&lt;br&gt;level/&lt;br&gt;trigger" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="430" width="80" height="160" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-12" value="register" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="320" y="430" width="80" height="160" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-13" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="470" as="sourcePoint" />
<mxPoint x="320" y="470" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-15" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="490" as="sourcePoint" />
<mxPoint x="320" y="490" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-16" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="509.86" as="sourcePoint" />
<mxPoint x="320" y="509.86" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-17" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="560" as="sourcePoint" />
<mxPoint x="320" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-18" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="470" as="sourcePoint" />
<mxPoint x="440" y="470" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-19" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="490" as="sourcePoint" />
<mxPoint x="440" y="490" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-20" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="509.86" as="sourcePoint" />
<mxPoint x="440" y="509.86" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-21" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="560" as="sourcePoint" />
<mxPoint x="440" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-22" value="..." style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="280" y="520" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-23" value="..." style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="400" y="520" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-24" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="3cJaNxErLRnUAumjy6m_-11">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="220" y="400" as="sourcePoint" />
<mxPoint x="260" y="360" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-25" value="clk" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-24">
<mxGeometry x="-0.7388" relative="1" as="geometry">
<mxPoint y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-26" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="340" y="400" as="sourcePoint" />
<mxPoint x="340" y="430" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-27" value="clk" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-26">
<mxGeometry x="-0.7388" relative="1" as="geometry">
<mxPoint y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-64" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-32" target="3cJaNxErLRnUAumjy6m_-102">
<mxGeometry relative="1" as="geometry">
<mxPoint x="720" y="470" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-66" value="irq_val_out" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-64">
<mxGeometry x="0.2445" y="5" relative="1" as="geometry">
<mxPoint x="-11" y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-32" target="3cJaNxErLRnUAumjy6m_-109">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="710" y="470" />
<mxPoint x="710" y="120" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-32" value="irq_val" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="560" y="440" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-34" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="600" y="540" as="sourcePoint" />
<mxPoint x="600" y="550" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-35" value="irq_out" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-34">
<mxGeometry x="0.5991" y="-1" relative="1" as="geometry">
<mxPoint x="52" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-36" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;exitX=0.75;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-99" target="3cJaNxErLRnUAumjy6m_-11">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="260" y="400" as="sourcePoint" />
<mxPoint x="310" y="350" as="targetPoint" />
<Array as="points">
<mxPoint x="310" y="200" />
<mxPoint x="310" y="340" />
<mxPoint x="260" y="340" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-44" value="trigger_type" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-36">
<mxGeometry x="-0.5646" y="-2" relative="1" as="geometry">
<mxPoint x="-28" y="107" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-104" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-38" target="3cJaNxErLRnUAumjy6m_-102">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="120" y="700" />
<mxPoint x="760" y="700" />
<mxPoint x="760" y="530" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-38" value="enable" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="80" y="430" width="80" height="160" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-39" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="470" as="sourcePoint" />
<mxPoint x="200" y="470" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-40" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="490" as="sourcePoint" />
<mxPoint x="200" y="490" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-41" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="509.86" as="sourcePoint" />
<mxPoint x="200" y="509.86" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-42" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="560" as="sourcePoint" />
<mxPoint x="200" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-43" value="..." style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="160" y="520" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-45" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="99.88999999999999" y="400" as="sourcePoint" />
<mxPoint x="99.88999999999999" y="430" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-46" value="clk" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-45">
<mxGeometry x="-0.7388" relative="1" as="geometry">
<mxPoint y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-47" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;exitX=0.25;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-99">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="139.89" y="400" as="sourcePoint" />
<mxPoint x="139.89" y="430" as="targetPoint" />
<Array as="points">
<mxPoint x="290" y="260" />
<mxPoint x="290" y="310" />
<mxPoint x="140" y="310" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-48" value="int_en" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-47">
<mxGeometry x="-0.5646" y="-2" relative="1" as="geometry">
<mxPoint x="-147" y="83" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-98" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-90" target="3cJaNxErLRnUAumjy6m_-96">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-101" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-90" target="3cJaNxErLRnUAumjy6m_-99">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-90" value="data_in mux" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="15.030000000000015" y="119.74000000000001" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-91" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="3cJaNxErLRnUAumjy6m_-90">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-34.969999999999985" y="149.74" as="sourcePoint" />
<mxPoint x="-24.969999999999985" y="109.74000000000001" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-92" value="data_in" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-91">
<mxGeometry x="-0.5289" y="-1" relative="1" as="geometry">
<mxPoint x="-49" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-93" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="3cJaNxErLRnUAumjy6m_-90">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="75.03000000000002" y="39.739999999999995" as="sourcePoint" />
<mxPoint x="85.03000000000002" y="-10.260000000000005" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-94" value="addr" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-93">
<mxGeometry x="-0.8263" y="1" relative="1" as="geometry">
<mxPoint x="-1" y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-100" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-96" target="3cJaNxErLRnUAumjy6m_-99">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-105" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-96" target="3cJaNxErLRnUAumjy6m_-102">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="245" y="160" />
<mxPoint x="840" y="160" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-112" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-96" target="3cJaNxErLRnUAumjy6m_-109">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-118" value="cmd=EOI" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-112">
<mxGeometry x="-0.2899" relative="1" as="geometry">
<mxPoint x="16" y="-20" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-120" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-96" target="3cJaNxErLRnUAumjy6m_-38">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="215" y="160" />
<mxPoint x="120" y="160" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-121" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-96" target="3cJaNxErLRnUAumjy6m_-11">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="215" y="160" />
<mxPoint x="120" y="160" />
<mxPoint x="120" y="370" />
<mxPoint x="240" y="370" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-122" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-96" target="3cJaNxErLRnUAumjy6m_-12">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="215" y="160" />
<mxPoint x="120" y="160" />
<mxPoint x="120" y="370" />
<mxPoint x="360" y="370" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-123" value="byte_en" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-122">
<mxGeometry x="-0.7727" relative="1" as="geometry">
<mxPoint y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-96" value="CMD register" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="185.03000000000003" y="89.74000000000001" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-99" value="data_sel_mux" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="185.03" y="200" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;shape=flexArrow;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-102">
<mxGeometry relative="1" as="geometry">
<mxPoint x="920" y="499.85185185185173" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-107" value="data_out" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="3cJaNxErLRnUAumjy6m_-106">
<mxGeometry x="0.3413" y="-9" relative="1" as="geometry">
<mxPoint y="-39" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-102" value="" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;rotation=90;" vertex="1" parent="1">
<mxGeometry x="780" y="470" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-114" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-109" target="3cJaNxErLRnUAumjy6m_-113">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-109" value="EOI shifter" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="90" width="90" height="59.74" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-115" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-113" target="3cJaNxErLRnUAumjy6m_-12">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="365" y="360" />
<mxPoint x="380" y="360" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-113" value="&amp;amp;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="340" y="280" width="50" height="50" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-116" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.138;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="3cJaNxErLRnUAumjy6m_-12" target="3cJaNxErLRnUAumjy6m_-113">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="452" as="sourcePoint" />
<mxPoint x="460" y="330" as="targetPoint" />
<Array as="points">
<mxPoint x="420" y="452" />
<mxPoint x="420" y="305" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-117" value="&lt;h1&gt;EOI shifter&lt;/h1&gt;&lt;p&gt;EOI shifter will do 1 &amp;lt;&amp;lt; IRQN&amp;nbsp;&lt;span style=&quot;background-color: initial;&quot;&gt;and then clear that interrupt in the register&lt;/span&gt;&lt;/p&gt;" style="text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;" vertex="1" parent="1">
<mxGeometry x="420" y="170" width="190" height="120" as="geometry" />
</mxCell>
<mxCell id="3cJaNxErLRnUAumjy6m_-119" value="&lt;h1&gt;data_sel_mux&lt;/h1&gt;&lt;p&gt;The upper 3 bits of CMD determine where data goes. The lower 5 bits of cmd determine which of the 32 8 bit registers gets updated. The registers below all of byte enable signals that this is passed to.&lt;/p&gt;" style="text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;" vertex="1" parent="1">
<mxGeometry x="-160" y="210" width="220" height="150.26" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

View File

@@ -1,60 +0,0 @@
# PIC
## Overview
The PIC (Programmable Interrupt Controller) supports 256 edge or level
triggered interrupts.
Interrupts can only be rising edge or positive level trigger. Negative edge or
low level trigger can be accomplished by inverting the input to this module.
When an interrupt is triggered, it remains triggered until cleared with an
`EOI`. Currently, only the highest priority interrupt can be cleared. This
is bad design and will be fixed soon(tm).
![pic.drawio.png](pic.drawio.png)
## Interface
The PIC is controlled through two 8-bit registers, `CMD` and `DAT`.
The upepr 3 bits of `CMD` control which register is accessed, and the lower 5
bits control the byte select.
`EOI` is a special case: when `CMD` is 0xFF, the highest priority interrupt is
cleared.
### CMD
| [7:5] | [4:0] |
|------------------ |------------- |
| Register Address | Byte Select |
### DAT
| [7:0] |
|----------------------- |
| Data[8*Byte_sel +: 8] |
## Registers
### Register Map
| Address | Read | Write |
|--------- |------------ |-------- |
| 0 | IRQ Number | ~ |
| 1 | Enable | Enable |
| 2 | Type | Type |
### IRQ Number
8 bit register outputs the highest priority interrupt currently active. When
no interrupt is active, it will output 255.
### Enable
256 bit enable register. When bit _n_ is set to 1, the corresponding interrupt
_n_.
### Type
256 bit type register. When bit _n_ is set to 0, the corresponding interrupt
_n_ will be edge triggered. If the bit is set to 1, the interrupt will be level
triggered.

View File

@@ -1,159 +0,0 @@
<mxfile host="Electron" modified="2023-11-18T04:11:39.306Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.2.8 Chrome/112.0.5615.165 Electron/24.2.0 Safari/537.36" etag="eYrFa9NU5guZXVUdtYRa" version="21.2.8" type="device">
<diagram name="Page-1" id="63FCqJR16r1iN9e5nhDj">
<mxGraphModel dx="916" dy="629" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="k1zQWelyq6vxBJ3jjw4w-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.007;entryY=0.57;entryDx=0;entryDy=0;entryPerimeter=0;shape=flexArrow;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-1" target="k1zQWelyq6vxBJ3jjw4w-3">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="60" y="380" />
<mxPoint x="60" y="463" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.065;entryY=0.493;entryDx=0;entryDy=0;entryPerimeter=0;shape=flexArrow;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-1" target="k1zQWelyq6vxBJ3jjw4w-11">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-1" value="counter" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="80" y="360" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-3" target="k1zQWelyq6vxBJ3jjw4w-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-3" value="+" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="120" y="440" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-4" target="k1zQWelyq6vxBJ3jjw4w-3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-4" value="increment" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="440" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-8" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="k1zQWelyq6vxBJ3jjw4w-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="140" y="320" as="sourcePoint" />
<mxPoint x="180" y="320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-9" value="CLK" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="k1zQWelyq6vxBJ3jjw4w-8">
<mxGeometry x="-0.4884" y="1" relative="1" as="geometry">
<mxPoint x="-1" y="-30" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-10" target="k1zQWelyq6vxBJ3jjw4w-11">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-10" target="k1zQWelyq6vxBJ3jjw4w-1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="170" y="300" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-44" value="reset" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="k1zQWelyq6vxBJ3jjw4w-43">
<mxGeometry x="-0.4039" y="-1" relative="1" as="geometry">
<mxPoint y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-10" value="threshold" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-17" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-11" target="k1zQWelyq6vxBJ3jjw4w-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-11" target="k1zQWelyq6vxBJ3jjw4w-23">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-38" value="tick" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="k1zQWelyq6vxBJ3jjw4w-24">
<mxGeometry x="-0.3931" y="2" relative="1" as="geometry">
<mxPoint x="-11" y="-8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-11" value="&amp;gt;=" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="240" y="360" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.919;exitY=0.977;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;shape=flexArrow;exitPerimeter=0;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-15" target="k1zQWelyq6vxBJ3jjw4w-16">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="630" y="460" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;shape=flexArrow;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-15">
<mxGeometry relative="1" as="geometry">
<mxPoint x="680" y="380.0567375886525" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-42" value="time" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="k1zQWelyq6vxBJ3jjw4w-41">
<mxGeometry x="0.562" y="2" relative="1" as="geometry">
<mxPoint x="-11" y="-28" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-15" value="output" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="360" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.25;entryY=1;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-16" target="k1zQWelyq6vxBJ3jjw4w-15">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="550" y="460" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-16" value="+1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="560" y="440" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-22" target="k1zQWelyq6vxBJ3jjw4w-23">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-37" value="reset" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="k1zQWelyq6vxBJ3jjw4w-35">
<mxGeometry x="0.1138" relative="1" as="geometry">
<mxPoint y="10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-22" value="irq_threshold" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.083;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shape=flexArrow;exitPerimeter=0;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-23" target="k1zQWelyq6vxBJ3jjw4w-26">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="370" y="220" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-23" target="k1zQWelyq6vxBJ3jjw4w-22">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-36" value="val" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="k1zQWelyq6vxBJ3jjw4w-34">
<mxGeometry x="-0.1015" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-23" value="irq_counter" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-26" target="k1zQWelyq6vxBJ3jjw4w-23">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="450" y="220" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-26" value="+1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="400" y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-39" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="k1zQWelyq6vxBJ3jjw4w-22">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="610" y="350" as="sourcePoint" />
<mxPoint x="680" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="k1zQWelyq6vxBJ3jjw4w-40" value="irq" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="k1zQWelyq6vxBJ3jjw4w-39">
<mxGeometry x="-0.3025" y="-1" relative="1" as="geometry">
<mxPoint y="-11" as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

View File

@@ -1,82 +0,0 @@
# RTC
## Overview
The RTC is capable of keeping track of elapsed time as well as generating
periodic interrupts. Its input frequency is (currently) the same as the CPU
frequency. The architecture is shown below:
![rtc.drawio.png](rtc.drawio.png)
The `counter` register is a 32 bit register which increments by `increment`
every clock tick. When this value reaches `threshold`, both `output` and
`irq_counter` are incremented by 1. When `irq_counter` reaches `irq_threshold`,
an interrupt is generated.
The interrupt frequency can be calculated with the following equations:
$$ F_{out}=\frac{F_{in}\cdot{increment}}{threshold} $$
$$ F_{irq}=\frac{F_{out}}{irq\_threshold} $$
Where $ F_{out} $ is the frequency at which the output changes and $ F_{irq} $
is the frequency at which interrupts occur.
## Interface
The RTC is controlled through two 8-bit registers, `CMD` and `DAT`.
The upepr 4 bits of `CMD` control which register is accessed, and the lower 4
bits control the byte select. The RTC uses 32 bit registers, so only values of
0-3 are supported.
### CMD
| [7:4] | [3:2 | [1:0] |
|------------------ |---------- |------------- |
| Register Address | Reserved | Byte Select |
### DAT
| [7:0] |
|----------------------- |
| Data[8*Byte_sel +: 8] |
## Registers
### Register Map
| Address | Read | Write |
|--------- |--------------- |--------------- |
| 0 | Threshold | Threshold |
| 1 | Increment | Increment |
| 2 | IRQ Threshold | IRQ Threshold |
| 3 | Output | Control |
### Threshold
32 bit threshold register. When `counter` reaches this value, `output` and
`irq_counter` are incremented by 1, and `counter` is reset back to 0.
### Increment
32 bit increment register. Every clock cycle, `counter` is incremented by
`increment`
### IRQ Threshold
32 bit IRQ threshold register. When `irq_counter` reaches this value, and IRQ
is generated and `irq_counter` is reset back to 0.
### Output
32 bit output register. This value ticks up.
### Control
| [7:2] | [1] | [0] |
|---------- |------------ |-------- |
| Reserved | IRQ Enable | Enable |
8 bit Control register. Regardless of Byte Select, any write to address 3 will
write to this register. `IRQ Enable` controls interrupt generation. `Enable` is
a global enable. When 0, all counter registers are set to 0.

View File

@@ -1,107 +0,0 @@
<mxfile host="Electron" modified="2023-09-08T06:35:22.343Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.2.8 Chrome/112.0.5615.165 Electron/24.2.0 Safari/537.36" etag="Vup8A8Ew0YNgsrP0aR2d" version="21.2.8" type="device">
<diagram name="Page-1" id="W38x1XGtULFemG_pfs-W">
<mxGraphModel dx="528" dy="362" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="qp9JQkSkVBdRz7zZg5ij-1" value="65C02" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="400" y="470" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-2" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;" vertex="1" parent="1">
<mxGeometry x="560" y="400" width="410" height="300" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-3" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="560" y="440" width="130" height="120" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-4" value="Control Registers" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="595" y="450" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeColor=#FF0000;" edge="1" parent="1" source="qp9JQkSkVBdRz7zZg5ij-5" target="qp9JQkSkVBdRz7zZg5ij-7">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-5" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;M&lt;/font&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="510" y="495" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeColor=#FF0000;" edge="1" parent="1" source="qp9JQkSkVBdRz7zZg5ij-7" target="qp9JQkSkVBdRz7zZg5ij-4">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="580" y="500" />
<mxPoint x="580" y="470" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeColor=#FF0000;" edge="1" parent="1" source="qp9JQkSkVBdRz7zZg5ij-7" target="qp9JQkSkVBdRz7zZg5ij-9">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="580" y="500" />
<mxPoint x="580" y="530" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-7" value="&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 8px;&quot;&gt;S&lt;/font&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;fillColor=#000000;" vertex="1" parent="1">
<mxGeometry x="560" y="495" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#FF0000;endArrow=none;endFill=0;" edge="1" parent="1" source="qp9JQkSkVBdRz7zZg5ij-9" target="qp9JQkSkVBdRz7zZg5ij-40">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-9" value="MMU" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="595" y="510" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-18" value="Boot Rom" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="600" y="610" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="qp9JQkSkVBdRz7zZg5ij-19" target="qp9JQkSkVBdRz7zZg5ij-32">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-19" value="SDRAM" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="850" y="427.5" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-26" value="UART" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="850" y="520" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-28" value="&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 8px;&quot;&gt;S&lt;/font&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;fillColor=#000000;" vertex="1" parent="1">
<mxGeometry x="710" y="635" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-29" value="&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 8px;&quot;&gt;S&lt;/font&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;fillColor=#000000;" vertex="1" parent="1">
<mxGeometry x="850" y="545" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-30" value="&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 8px;&quot;&gt;S&lt;/font&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;fillColor=#000000;" vertex="1" parent="1">
<mxGeometry x="850" y="452.5" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-32" value="SDRAM" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1000" y="427.5" width="80" height="60" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-35" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="770" y="427.5" width="30" height="242.5" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeColor=#FF0000;" edge="1" parent="1" source="qp9JQkSkVBdRz7zZg5ij-36" target="qp9JQkSkVBdRz7zZg5ij-28">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-36" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;M&lt;/font&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="770" y="635" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeColor=#FF0000;" edge="1" parent="1" source="qp9JQkSkVBdRz7zZg5ij-37" target="qp9JQkSkVBdRz7zZg5ij-29">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-37" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;M&lt;/font&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="790" y="545" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeColor=#FF0000;" edge="1" parent="1" source="qp9JQkSkVBdRz7zZg5ij-38" target="qp9JQkSkVBdRz7zZg5ij-30">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-38" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;M&lt;/font&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="790" y="452.5" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-39" value="&lt;font color=&quot;#ffffff&quot; style=&quot;font-size: 8px;&quot;&gt;S&lt;/font&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;fillColor=#000000;" vertex="1" parent="1">
<mxGeometry x="770" y="525" width="10" height="10" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;strokeColor=#FF0000;" edge="1" parent="1" source="qp9JQkSkVBdRz7zZg5ij-40" target="qp9JQkSkVBdRz7zZg5ij-39">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="qp9JQkSkVBdRz7zZg5ij-40" value="&lt;font style=&quot;font-size: 8px;&quot;&gt;M&lt;/font&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
<mxGeometry x="680" y="525" width="10" height="10" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -1,31 +0,0 @@
# For PCBs designed using KiCad: https://www.kicad.org/
# Format documentation: https://kicad.org/help/file-formats/
# Temporary files
*.000
*.bak
*.bck
*.kicad_pcb-bak
*.kicad_sch-bak
*-backups
*.kicad_prl
*.sch-bak
*~
_autosave-*
*.tmp
*-save.pro
*-save.kicad_pcb
fp-info-cache
# Netlist files (exported from Eeschema)
*.net
# Autorouter files (exported from Pcbnew)
*.dsn
*.ses
# Exported BOM files
*.xml
*.csv
gerbers*

File diff suppressed because it is too large Load Diff

View File

@@ -1,420 +0,0 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.15,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": true,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"use_height_for_length_calcs": true
},
"track_widths": [],
"via_dimensions": [],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "385_adapter.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"36ae02c6-b94d-4534-8741-8bf96ade3612",
""
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

30
hw/board/.gitignore vendored
View File

@@ -1,30 +0,0 @@
# Temporary files
*.000
*.bak
*.bck
*.kicad_pcb-bak
*.kicad_sch-bak
*.kicad_prl
*.sch-bak
*~
_autosave-*
*.tmp
*-save.pro
*-save.kicad_pcb
fp-info-cache
# Netlist files (exported from Eeschema)
*.net
# Autorouter files (exported from Pcbnew)
*.dsn
*.ses
# Exported BOM files
*.xml
*.csv
# kicad 8 backups
*-backups
output/
output*

File diff suppressed because it is too large Load Diff

View File

@@ -1,517 +0,0 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.15,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.7999999999999999,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.09999999999999999,
"min_via_diameter": 0.5,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 5,
"td_on_pad_in_zone": false,
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"conflicting_netclasses": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
"missing_unit": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"simulation_model_issue": "ignore",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "board.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6
}
],
"meta": {
"version": 3
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "",
"spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"",
"spice_model_current_sheet_as_root": true,
"spice_save_all_currents": false,
"spice_save_all_voltages": false,
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"0c7bd276-5f73-4ef8-a8a2-874fce123825",
""
],
[
"03abecec-4724-420e-920e-986ba2580308",
"power"
],
[
"a28bae45-a41d-48aa-8dee-a2333866db3d",
"cpu"
],
[
"240fb45c-362d-4cf9-bead-d17ef15bf7d9",
"ddr"
],
[
"337f91b2-5935-41a8-adab-77c6de100854",
"vga"
],
[
"d1b08bf9-d018-4d88-92a5-af0d22dce754",
"hdmi"
],
[
"0e586220-674f-4460-8339-5e3e7edc244c",
"ethernet"
],
[
"97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2",
"board_io"
],
[
"40603e20-84c6-45bc-99e6-f7272e6c1ac0",
"fpga"
],
[
"95d69960-5749-4bf0-ba13-8cc427d1e8e9",
"ftdi"
],
[
"608a5705-96be-4a71-b2b6-c4625a5aee39",
"usb"
]
],
"text_variables": {}
}

View File

@@ -1,330 +0,0 @@
(kicad_sch (version 20230121) (generator eeschema)
(uuid 0c7bd276-5f73-4ef8-a8a2-874fce123825)
(paper "A4")
(lib_symbols
)
(wire (pts (xy 63.5 53.34) (xy 90.17 53.34))
(stroke (width 0) (type default))
(uuid 008388b7-e286-41e2-98d3-859a0b5369f8)
)
(wire (pts (xy 63.5 55.88) (xy 90.17 55.88))
(stroke (width 0) (type default))
(uuid 2261869c-1c77-44bd-aee0-cfe3b3da475f)
)
(wire (pts (xy 63.5 71.12) (xy 90.17 71.12))
(stroke (width 0) (type default))
(uuid 3e233d59-69b3-411e-9830-97fa84fbddb6)
)
(wire (pts (xy 63.5 58.42) (xy 90.17 58.42))
(stroke (width 0) (type default))
(uuid 4e269b2c-00fa-46c8-965b-c5ba2e68b6ed)
)
(wire (pts (xy 63.5 60.96) (xy 90.17 60.96))
(stroke (width 0) (type default))
(uuid 59f49177-a7d1-427f-8fe3-c3ca256dd087)
)
(bus (pts (xy 63.5 80.01) (xy 90.17 80.01))
(stroke (width 0) (type default))
(uuid 6b8f54d8-c3f2-410b-9279-d7cf549fccd8)
)
(wire (pts (xy 63.5 73.66) (xy 90.17 73.66))
(stroke (width 0) (type default))
(uuid 748dee28-2e6d-43f1-aa7c-e267a029ef65)
)
(wire (pts (xy 63.5 68.58) (xy 90.17 68.58))
(stroke (width 0) (type default))
(uuid a22bbd21-6f8a-41ff-b42e-28aa33b59881)
)
(wire (pts (xy 63.5 63.5) (xy 90.17 63.5))
(stroke (width 0) (type default))
(uuid ac1dd615-247e-4f04-b2e0-f45873530c8b)
)
(wire (pts (xy 63.5 50.8) (xy 90.17 50.8))
(stroke (width 0) (type default))
(uuid b5058f1a-f1b3-4f66-a76e-8c1b11b043dc)
)
(wire (pts (xy 63.5 66.04) (xy 90.17 66.04))
(stroke (width 0) (type default))
(uuid ba7bd311-c234-49f2-b541-d3493b0900c7)
)
(bus (pts (xy 63.5 82.55) (xy 90.17 82.55))
(stroke (width 0) (type default))
(uuid ba94b7d9-2894-40be-98aa-e162216bb687)
)
(sheet (at 19.05 22.86) (size 44.45 16.51) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 03abecec-4724-420e-920e-986ba2580308)
(property "Sheetname" "power" (at 19.05 22.1484 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "power.kicad_sch" (at 19.05 39.9546 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825" (page "2"))
)
)
)
(sheet (at 210.82 71.12) (size 54.61 31.75) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 0e586220-674f-4460-8339-5e3e7edc244c)
(property "Sheetname" "ethernet" (at 210.82 70.4084 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "ethernet.kicad_sch" (at 210.82 103.4546 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825" (page "7"))
)
)
)
(sheet (at 19.05 97.79) (size 43.18 22.86) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 240fb45c-362d-4cf9-bead-d17ef15bf7d9)
(property "Sheetname" "ddr" (at 19.05 97.0784 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "ddr.kicad_sch" (at 19.05 121.2346 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825" (page "4"))
)
)
)
(sheet (at 19.05 154.94) (size 45.72 26.67) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 337f91b2-5935-41a8-adab-77c6de100854)
(property "Sheetname" "vga" (at 19.05 154.2284 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "vga.kicad_sch" (at 19.05 182.1946 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825" (page "5"))
)
)
)
(sheet (at 90.17 26.67) (size 95.25 118.11) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 40603e20-84c6-45bc-99e6-f7272e6c1ac0)
(property "Sheetname" "fpga" (at 90.17 25.9584 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "fpga.kicad_sch" (at 90.17 145.3646 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(pin "CPU_ADDR[0..15]" input (at 90.17 80.01 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid 92d46dd2-210f-417c-924e-8e3e7a462837)
)
(pin "CPU_DATA[0..7]" bidirectional (at 90.17 82.55 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid f9061681-baf2-4f04-9540-f94c3b00c880)
)
(pin "~{CPU_NMIB}" bidirectional (at 90.17 55.88 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid c62abe08-5d2c-40a6-8ef3-0d5eedbe0315)
)
(pin "CPU_PHI2" output (at 90.17 50.8 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid 7e8085bd-3d2e-4ea4-9d0d-13fa6e0420c1)
)
(pin "~{CPU_RESB}" output (at 90.17 53.34 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid 1674fe24-0f6a-473c-93d6-866bbf66f7d3)
)
(pin "~{CPU_IRQB}" output (at 90.17 58.42 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid 0e2770e6-afe1-4caf-832c-7fae89e33d63)
)
(pin "CPU_SYNC" input (at 90.17 71.12 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid 40478b51-995c-42f7-9bd8-3235a08e7111)
)
(pin "~{CPU_MLB}" input (at 90.17 66.04 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid 5c78e067-44c5-495f-a7e9-632fd7618cc8)
)
(pin "~{CPU_VPB}" input (at 90.17 68.58 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid dfb1f06a-bae9-41a2-8ce6-a224ade65306)
)
(pin "~{CPU_RWB}" input (at 90.17 73.66 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid 5553885b-2429-4cdb-95bd-7016cc2bef6d)
)
(pin "CPU_BE" output (at 90.17 63.5 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid c8ca61fc-cfba-4d38-9d74-1f9b11719929)
)
(pin "CPU_RDY" output (at 90.17 60.96 180)
(effects (font (size 1.27 1.27)) (justify left))
(uuid 7c1a3182-07fa-49f9-8768-f8063a3191b2)
)
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825" (page "9"))
)
)
)
(sheet (at 20.32 127) (size 43.18 17.78) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 608a5705-96be-4a71-b2b6-c4625a5aee39)
(property "Sheetname" "usb" (at 20.32 126.2884 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "usb.kicad_sch" (at 20.32 145.3646 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825" (page "11"))
)
)
)
(sheet (at 205.74 24.13) (size 52.07 15.24) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 95d69960-5749-4bf0-ba13-8cc427d1e8e9)
(property "Sheetname" "ftdi" (at 205.74 23.4184 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "ftdi.kicad_sch" (at 205.74 39.9546 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825" (page "10"))
)
)
)
(sheet (at 212.09 116.84) (size 52.07 29.21) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid 97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2)
(property "Sheetname" "board_io" (at 212.09 116.1284 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "board_io.kicad_sch" (at 212.09 146.6346 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825" (page "8"))
)
)
)
(sheet (at 16.51 46.99) (size 46.99 39.37) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid a28bae45-a41d-48aa-8dee-a2333866db3d)
(property "Sheetname" "cpu" (at 16.51 46.2784 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "cpu.kicad_sch" (at 16.51 86.9446 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(pin "CPU_PHI2" input (at 63.5 50.8 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid ee10f224-c270-4c8d-8882-acedf70aeca1)
)
(pin "CPU_ADDR[0..15]" output (at 63.5 80.01 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid e9b64dda-105d-4cff-b716-49c32f93bda8)
)
(pin "~{CPU_VPB}" output (at 63.5 68.58 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid ccbb4e47-569f-466d-b5a4-f1fbda622568)
)
(pin "~{CPU_MLB}" output (at 63.5 66.04 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid ea544acf-f5d4-4fda-bbf2-ef54d3777f7b)
)
(pin "CPU_SYNC" output (at 63.5 71.12 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid ab7af733-5227-4e19-9076-91cbd88c525d)
)
(pin "~{CPU_IRQB}" input (at 63.5 58.42 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid 66d0f332-5526-471f-9b29-c676ccf1b9a7)
)
(pin "CPU_RDY" output (at 63.5 60.96 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid 26663299-1ce9-4578-834f-abda53c02b3a)
)
(pin "~{CPU_NMIB}" input (at 63.5 55.88 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid a33ede0d-9995-4e67-9f0d-55a594d9b207)
)
(pin "CPU_BE" input (at 63.5 63.5 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid ed0b2fc9-2ccb-401a-ba14-a5d42a69fd49)
)
(pin "~{CPU_RESB}" input (at 63.5 53.34 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid a3f34474-1565-4437-a147-69d566445849)
)
(pin "~{CPU_RWB}" output (at 63.5 73.66 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid 12b81d8d-309d-4851-98e0-622b3a454fd6)
)
(pin "CPU_DATA[0..7]" bidirectional (at 63.5 82.55 0)
(effects (font (size 1.27 1.27)) (justify right))
(uuid 5034d43f-b7ba-4768-bccc-6884b0f6586f)
)
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825" (page "3"))
)
)
)
(sheet (at 208.28 45.72) (size 50.8 15.24) (fields_autoplaced)
(stroke (width 0.1524) (type solid))
(fill (color 0 0 0 0.0000))
(uuid d1b08bf9-d018-4d88-92a5-af0d22dce754)
(property "Sheetname" "hdmi" (at 208.28 45.0084 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Sheetfile" "hdmi.kicad_sch" (at 208.28 61.5446 0)
(effects (font (size 1.27 1.27)) (justify left top))
)
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825" (page "6"))
)
)
)
(sheet_instances
(path "/" (page "1"))
)
)

View File

@@ -1,936 +0,0 @@
(kicad_sch (version 20230121) (generator eeschema)
(uuid b388bdbc-0a0d-4830-881c-8c4ce96bf01e)
(paper "A4")
(lib_symbols
(symbol "Device:LED" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "D" (at 0 2.54 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "LED" (at 0 -2.54 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "LED diode" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "Light emitting diode" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "LED* LED_SMD:* LED_THT:*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "LED_0_1"
(polyline
(pts
(xy -1.27 -1.27)
(xy -1.27 1.27)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.27 0)
(xy 1.27 0)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 1.27 -1.27)
(xy 1.27 1.27)
(xy -1.27 0)
(xy 1.27 -1.27)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -3.048 -0.762)
(xy -4.572 -2.286)
(xy -3.81 -2.286)
(xy -4.572 -2.286)
(xy -4.572 -1.524)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.778 -0.762)
(xy -3.302 -2.286)
(xy -2.54 -2.286)
(xy -3.302 -2.286)
(xy -3.302 -1.524)
)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "LED_1_1"
(pin passive line (at -3.81 0 0) (length 2.54)
(name "K" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 3.81 0 180) (length 2.54)
(name "A" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Display_Character:LTS-4802BJR-H1" (in_bom yes) (on_board yes)
(property "Reference" "U" (at 1.27 1.27 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "" (at 0 0 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Display_7Segment:LTS-4802B" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "LTS-4802BJR-H1_1_1"
(rectangle (start 0 0) (end 10.16 -15.24)
(stroke (width 0) (type default))
(fill (type background))
)
(pin passive line (at -5.08 -2.54 0) (length 5.08)
(name "CA" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 15.24 -2.54 180) (length 5.08)
(name "A" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 -5.08 0) (length 5.08)
(name "F" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 -7.62 0) (length 5.08)
(name "G" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 -10.16 0) (length 5.08)
(name "E" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 -12.7 0) (length 5.08)
(name "D" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 15.24 -12.7 180) (length 5.08)
(name "CA" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 15.24 -10.16 180) (length 5.08)
(name "DP" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 15.24 -7.62 180) (length 5.08)
(name "C" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 15.24 -5.08 180) (length 5.08)
(name "B" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Switch:SW_DIP_x08" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
(property "Reference" "SW" (at 0 13.97 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "SW_DIP_x08" (at 0 -11.43 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "dip switch" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "8x DIP Switch, Single Pole Single Throw (SPST) switch, small symbol" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "SW?DIP?x8*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "SW_DIP_x08_0_0"
(circle (center -2.032 -7.62) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center -2.032 -5.08) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center -2.032 -2.54) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center -2.032 0) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center -2.032 2.54) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center -2.032 5.08) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center -2.032 7.62) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center -2.032 10.16) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.524 -7.4676)
(xy 2.3622 -6.4262)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.524 -4.9276)
(xy 2.3622 -3.8862)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.524 -2.3876)
(xy 2.3622 -1.3462)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.524 0.127)
(xy 2.3622 1.1684)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.524 2.667)
(xy 2.3622 3.7084)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.524 5.207)
(xy 2.3622 6.2484)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.524 7.747)
(xy 2.3622 8.7884)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.524 10.287)
(xy 2.3622 11.3284)
)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 2.032 -7.62) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 2.032 -5.08) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 2.032 -2.54) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 2.032 0) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 2.032 2.54) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 2.032 5.08) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 2.032 7.62) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 2.032 10.16) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "SW_DIP_x08_0_1"
(rectangle (start -3.81 12.7) (end 3.81 -10.16)
(stroke (width 0.254) (type default))
(fill (type background))
)
)
(symbol "SW_DIP_x08_1_1"
(pin passive line (at -7.62 10.16 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 -5.08 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 -2.54 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 0 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 2.54 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 5.08 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 7.62 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 10.16 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 7.62 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 5.08 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 2.54 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 0 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 -2.54 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 -5.08 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 -7.62 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 -7.62 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Switch:SW_Push" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "SW" (at 1.27 2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "SW_Push" (at 0 -1.524 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 5.08 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 5.08 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "switch normally-open pushbutton push-button" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "Push button switch, generic, two pins" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "SW_Push_0_1"
(circle (center -2.032 0) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0 1.27)
(xy 0 3.048)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 2.54 1.27)
(xy -2.54 1.27)
)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 2.032 0) (radius 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(pin passive line (at -5.08 0 0) (length 2.54)
(name "1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 5.08 0 180) (length 2.54)
(name "2" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
)
(symbol (lib_id "Device:LED") (at 67.31 137.16 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 1b6b6b4d-d070-46c8-861b-0daecfe35386)
(property "Reference" "D4" (at 65.7225 130.81 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "LED" (at 65.7225 133.35 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder" (at 67.31 137.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 67.31 137.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 87ee6f84-4b24-4864-af3d-b8daa4355d1e))
(pin "2" (uuid 187799ae-7417-47a7-aef4-649396de1b6c))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "D4") (unit 1)
)
)
)
)
(symbol (lib_id "Device:LED") (at 97.79 137.16 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 243667fb-9878-4eaa-a3d8-45e388be62d3)
(property "Reference" "D7" (at 96.2025 130.81 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "LED" (at 96.2025 133.35 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder" (at 97.79 137.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 97.79 137.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 4b5de97f-6676-480a-9bea-75220b47fa13))
(pin "2" (uuid 3db194f4-78cd-4eb2-b018-ba07e111ce30))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "D7") (unit 1)
)
)
)
)
(symbol (lib_id "Display_Character:LTS-4802BJR-H1") (at 166.37 55.88 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 2479b6f1-63bd-4d7e-89df-43651605954f)
(property "Reference" "U14" (at 171.45 53.34 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "~" (at 166.37 55.88 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Display_7Segment:LTS-4802B" (at 166.37 55.88 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 166.37 55.88 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid c4fddd93-4933-4a56-aab6-485ba3aeb16f))
(pin "10" (uuid b655f4be-6b29-4a8c-a45d-f02b2d3a240b))
(pin "2" (uuid b2ebfcdb-84a3-478e-9cff-8443c454965d))
(pin "3" (uuid 95899209-b349-483f-b86c-7ff1dd9e03ba))
(pin "4" (uuid 330d74e1-29f8-4f30-807a-277d46f39358))
(pin "5" (uuid b8b25bd9-1ea2-47be-bd8c-976facd36fb6))
(pin "6" (uuid e77e2fae-cc06-4680-aa86-deb30d895abe))
(pin "7" (uuid eef1e7a5-10ef-4dfb-9b17-6082d01e17f5))
(pin "8" (uuid f4df0fe6-53d0-43b4-84da-8f1460f16a8d))
(pin "9" (uuid cae7523d-49a0-42dc-b9e4-fa20381e1c13))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "U14") (unit 1)
)
)
)
)
(symbol (lib_id "Switch:SW_Push") (at 109.22 113.03 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 2e5bc80e-61f2-449b-bd47-345c91fbc33a)
(property "Reference" "SW3" (at 109.22 105.41 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "SW_Push" (at 109.22 107.95 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Button_Switch_THT:SW_PUSH_6mm_H5mm" (at 109.22 107.95 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 109.22 107.95 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid a59c306d-1c26-4d4a-a924-1e5b9c89c1aa))
(pin "2" (uuid 53d03842-56b1-40be-a8e4-5198fa3a50d5))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "SW3") (unit 1)
)
)
)
)
(symbol (lib_id "Device:LED") (at 87.63 137.16 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 3010f977-fe60-4c95-88eb-4a33b03d6cee)
(property "Reference" "D6" (at 86.0425 130.81 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "LED" (at 86.0425 133.35 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder" (at 87.63 137.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 87.63 137.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 37a338f5-1b1c-47d8-a5d6-deee02dec292))
(pin "2" (uuid 9602c107-deb1-4c87-b8b4-f63f0f5cee28))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "D6") (unit 1)
)
)
)
)
(symbol (lib_id "Device:LED") (at 39.37 137.16 90) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 37a0c1b2-33b9-482f-a773-bb5dbfe1c4b4)
(property "Reference" "D1" (at 43.18 137.4775 90)
(effects (font (size 1.27 1.27)) (justify right))
)
(property "Value" "LED" (at 43.18 140.0175 90)
(effects (font (size 1.27 1.27)) (justify right))
)
(property "Footprint" "LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder" (at 39.37 137.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 39.37 137.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 75ace709-5959-427d-b187-1bc2109181d1))
(pin "2" (uuid 1a6490ea-d94a-4365-b353-7056a9ccc570))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "D1") (unit 1)
)
)
)
)
(symbol (lib_id "Display_Character:LTS-4802BJR-H1") (at 198.12 115.57 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 40f2559a-79d8-423b-8462-953cc6e6de48)
(property "Reference" "U13" (at 203.2 113.03 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "~" (at 198.12 115.57 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Display_7Segment:LTS-4802B" (at 198.12 115.57 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 198.12 115.57 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 22caae15-9f6e-4bb7-bb38-31046141005f))
(pin "10" (uuid 7631d03c-10b5-400a-9f22-79730394515b))
(pin "2" (uuid 2a8b1773-86b0-485c-bf73-14845e75b3c1))
(pin "3" (uuid 5304c3d4-3e95-41cc-90f4-eab10c3da6c7))
(pin "4" (uuid c5031c04-683d-46d5-98c2-ad0cf68ee5ba))
(pin "5" (uuid 61d1e8a0-dc96-4fc6-8eba-0f8ac21bb500))
(pin "6" (uuid 19eabdea-db1a-4a17-a01c-94e1b5449935))
(pin "7" (uuid 0c38aaed-63ea-4546-a139-7b1e8fc0d119))
(pin "8" (uuid 68db3140-4c0a-43e5-b76e-e47e71587b79))
(pin "9" (uuid 029528d8-cca6-4aa4-ac37-8c50ae72ea65))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "U13") (unit 1)
)
)
)
)
(symbol (lib_id "Device:LED") (at 48.26 137.16 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 4fe8e3e2-20ff-434d-9204-17289a42ea52)
(property "Reference" "D2" (at 46.6725 130.81 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "LED" (at 46.6725 133.35 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder" (at 48.26 137.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 48.26 137.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid bf587bf6-fc94-4de7-b6a8-66a9f6c8d3c3))
(pin "2" (uuid a8f65e36-219d-4396-a854-b5c22a647fb5))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "D2") (unit 1)
)
)
)
)
(symbol (lib_id "Display_Character:LTS-4802BJR-H1") (at 166.37 83.82 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 54d244b9-38de-4dbb-b74e-677d10e595c2)
(property "Reference" "U15" (at 171.45 81.28 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "~" (at 166.37 83.82 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Display_7Segment:LTS-4802B" (at 166.37 83.82 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 166.37 83.82 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 2d7927d5-4878-45b1-a1db-b2a5fbd65769))
(pin "10" (uuid 6f1e53fd-1acc-4619-8a2a-38eac774c8ef))
(pin "2" (uuid 0c3fa208-af65-4635-8275-2d22da2c8fad))
(pin "3" (uuid 81f80378-f1dd-4bc3-8678-8bd230b54fd0))
(pin "4" (uuid 211643e7-9cf1-4b97-9709-34fbf7b8075a))
(pin "5" (uuid b727208b-4684-48b9-b599-395630f29404))
(pin "6" (uuid 2a1b8498-9962-4116-b7c2-de03d8c24a07))
(pin "7" (uuid 0e2b2dc6-565e-485f-866c-4d87d6764a34))
(pin "8" (uuid fe47c06e-e744-481e-8662-3812cf405f64))
(pin "9" (uuid 05e98e31-147a-462f-9d7b-379870502547))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "U15") (unit 1)
)
)
)
)
(symbol (lib_id "Device:LED") (at 57.15 138.43 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 5e5c290b-200b-4e49-8985-c67f2c5b3450)
(property "Reference" "D3" (at 55.5625 132.08 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "LED" (at 55.5625 134.62 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder" (at 57.15 138.43 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 57.15 138.43 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 186182d9-4320-4b5c-81c3-de75a0e69e67))
(pin "2" (uuid 09ef1241-a26b-4afe-b8ce-2e92c5640b12))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "D3") (unit 1)
)
)
)
)
(symbol (lib_id "Device:LED") (at 77.47 138.43 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 79317d0b-dc8d-4a2d-ad5c-a7badfbfeaab)
(property "Reference" "D5" (at 75.8825 132.08 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "LED" (at 75.8825 134.62 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder" (at 77.47 138.43 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 77.47 138.43 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid dd9793c4-a236-4f2f-b985-57b88a343b35))
(pin "2" (uuid 7c6beab4-e7ec-459f-8d97-1fde54f93760))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "D5") (unit 1)
)
)
)
)
(symbol (lib_id "Display_Character:LTS-4802BJR-H1") (at 198.12 40.64 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 87ddf1e7-2662-46dd-b789-79c2788da4da)
(property "Reference" "U10" (at 203.2 38.1 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "~" (at 198.12 40.64 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Display_7Segment:LTS-4802B" (at 198.12 40.64 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 198.12 40.64 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 00c78c11-3dcf-4912-9c44-08039d26a529))
(pin "10" (uuid fdb0fb82-aa73-4567-937d-43c102f49860))
(pin "2" (uuid 6b7ee325-5404-4a9d-85fb-87d21e113cb2))
(pin "3" (uuid 377d4da4-ebb3-4707-8da3-d0c7c80b90ea))
(pin "4" (uuid df129e18-6891-4ccb-ae4a-021c76bb7dce))
(pin "5" (uuid c79d2b6e-d782-4b51-a01c-50ebf76924e7))
(pin "6" (uuid 16c0288a-54f3-4e42-961b-ae87fa324e48))
(pin "7" (uuid 6fbc8e9e-da2d-4f93-bba2-9d7bae0aca95))
(pin "8" (uuid f48a1954-b37e-42cb-91c5-02c1c8890284))
(pin "9" (uuid 8157db50-4d0d-45b2-a48e-0dd7f30a47a2))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "U10") (unit 1)
)
)
)
)
(symbol (lib_id "Display_Character:LTS-4802BJR-H1") (at 198.12 63.5 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 986d55df-5cbd-4b55-90d5-bdcef9364103)
(property "Reference" "U11" (at 203.2 60.96 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "~" (at 198.12 63.5 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Display_7Segment:LTS-4802B" (at 198.12 63.5 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 198.12 63.5 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 88b94f46-7087-4f9a-b023-06edd87b2cd6))
(pin "10" (uuid ee1e4f96-69d8-4188-8968-ceedf97b0c67))
(pin "2" (uuid fb4ba703-99bc-4113-84be-d14366b9e974))
(pin "3" (uuid 38e2ed25-4e02-47a9-b991-11bfae5ab16a))
(pin "4" (uuid c39882a5-899d-4d6c-aec2-c33aa0d1a4e9))
(pin "5" (uuid b7009cba-3e9d-455f-9ff4-3f1192a72148))
(pin "6" (uuid f4b94cec-92e1-4eaf-8109-d225e7873567))
(pin "7" (uuid c1027851-cf1e-42cb-8079-e6c4cbd2c98d))
(pin "8" (uuid c5bdcbda-cb93-4bbf-882f-4be2d78df6c7))
(pin "9" (uuid eeff1a96-e2b8-444c-ad8e-c99119207363))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "U11") (unit 1)
)
)
)
)
(symbol (lib_id "Device:LED") (at 106.68 138.43 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 9c5f308a-fbc1-4d42-81c6-42f9a5ec35ec)
(property "Reference" "D8" (at 105.0925 132.08 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "LED" (at 105.0925 134.62 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder" (at 106.68 138.43 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 106.68 138.43 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 2d6f9d19-54ab-4943-bbd0-a2918a927fc2))
(pin "2" (uuid f86222b7-d7cd-435d-aaf6-8950d2337882))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "D8") (unit 1)
)
)
)
)
(symbol (lib_id "Switch:SW_Push") (at 109.22 100.33 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid b36eb261-dd9c-4a8f-9dab-abcc0de977a2)
(property "Reference" "SW2" (at 109.22 92.71 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "SW_Push" (at 109.22 95.25 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Button_Switch_THT:SW_PUSH_6mm_H5mm" (at 109.22 95.25 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 109.22 95.25 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid dc545d81-d05d-4134-b1e7-e81a93b22e82))
(pin "2" (uuid d9e56b89-e949-4a05-b248-8f43b28daa8a))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "SW2") (unit 1)
)
)
)
)
(symbol (lib_id "Switch:SW_DIP_x08") (at 54.61 109.22 90) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid d0e637f6-3f43-43a9-a187-c0b47d7eadaf)
(property "Reference" "SW1" (at 66.04 107.95 90)
(effects (font (size 1.27 1.27)) (justify right))
)
(property "Value" "SW_DIP_x08" (at 66.04 110.49 90)
(effects (font (size 1.27 1.27)) (justify right))
)
(property "Footprint" "Button_Switch_THT:SW_DIP_SPSTx08_Slide_6.7x21.88mm_W7.62mm_P2.54mm_LowProfile" (at 54.61 109.22 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 54.61 109.22 0)
(effects (font (size 1.27 1.27)))
)
(pin "1" (uuid 50ec9fc5-014e-48f4-90bf-29fadce74e8b))
(pin "10" (uuid f249df4f-aab0-44a6-9202-3e51d0e82e45))
(pin "11" (uuid 0ebd3977-f14b-4679-8320-b3f7019d14fe))
(pin "12" (uuid cb8a76a6-c45b-465f-8a62-70dc7d84c6f6))
(pin "13" (uuid 71a6d068-e83c-4296-80e7-b1ec79d0f246))
(pin "14" (uuid 33016bd9-68bf-4b84-a41e-a60a18642ad2))
(pin "15" (uuid 33ead4d4-4c4a-4cb0-b510-c2038cf295f9))
(pin "16" (uuid d42e5570-d5fb-464b-9f2b-40010ea8edf9))
(pin "2" (uuid 60024acf-976b-4feb-9c77-40bb2ffce6e6))
(pin "3" (uuid e56e939b-b960-4f9c-a7c5-cec8646eaad8))
(pin "4" (uuid c78cbb3e-ca7b-42c4-933d-3a39afa30b4e))
(pin "5" (uuid eb82c0e6-3895-4aab-bd68-9f14b42f5e74))
(pin "6" (uuid 1eb8e934-fa58-462e-a6ca-4dd9dcae7944))
(pin "7" (uuid c02cfc01-0756-47dd-b01a-a8664d271b7a))
(pin "8" (uuid a2314d87-cafc-4260-86cd-b6009eb31ca9))
(pin "9" (uuid c7794a30-3381-452e-93f7-7d4a9c97736d))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "SW1") (unit 1)
)
)
)
)
(symbol (lib_id "Display_Character:LTS-4802BJR-H1") (at 198.12 91.44 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid d5138fe2-6cd8-4f18-9d2f-24f6fa6c5e83)
(property "Reference" "U12" (at 203.2 88.9 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "~" (at 198.12 91.44 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Display_7Segment:LTS-4802B" (at 198.12 91.44 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 198.12 91.44 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 849098cf-6095-4510-87fc-d2862a37dbc5))
(pin "10" (uuid 0ac67b24-418d-4180-9f44-68adbdf41853))
(pin "2" (uuid f3ed243f-ce1a-43cb-92b9-146cfd99fd93))
(pin "3" (uuid 80eb4ba7-4935-4608-8da7-668f59760633))
(pin "4" (uuid acc43266-12b5-4a96-80c8-1aed6c8bc17e))
(pin "5" (uuid 81564a15-8406-49fe-8fa8-7b502f1edb56))
(pin "6" (uuid 23424a32-f820-43d4-bc1b-4cf510d33d18))
(pin "7" (uuid 87b807df-4665-4a84-97e3-4dae4cd9a2f0))
(pin "8" (uuid 972fb867-579b-4ec2-a92b-baa9a8e7ba09))
(pin "9" (uuid a7554a07-ad9e-493c-93dc-7671c87461f0))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/97b7ebae-6d0e-40d9-8e3a-8f6a0baafdc2"
(reference "U12") (unit 1)
)
)
)
)
)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,654 +0,0 @@
(kicad_sch (version 20230121) (generator eeschema)
(uuid a2d9605e-3a8e-42a1-861c-9d8120788518)
(paper "A4")
(lib_symbols
(symbol "Connector:SI-50170-F" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "J" (at -7.62 18.542 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Value" "SI-50170-F" (at -7.62 -22.86 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Footprint" "Connector_RJ:BEL_SI-50170-F" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "PARTREV" "07" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "STANDARD" "Manufacturer Recommendations" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MAXIMUM_PACKAGE_HEIGHT" "13.97mm" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MANUFACTURER" "Bel Fuse" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(symbol "SI-50170-F_0_0"
(rectangle (start -7.62 -20.32) (end 7.62 17.78)
(stroke (width 0.1524) (type default))
(fill (type background))
)
(polyline
(pts
(xy -7.62 -10.16)
(xy -2.54 -10.16)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -7.62 -5.08)
(xy -2.54 -5.08)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -3.683 -12.192)
(xy -2.54 -12.192)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -3.683 -7.112)
(xy -2.54 -7.112)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -3.556 -10.541)
(xy -2.54 -12.192)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -3.556 -10.541)
(xy -1.524 -10.541)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -3.556 -5.461)
(xy -2.54 -7.112)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -3.556 -5.461)
(xy -1.524 -5.461)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.54 -12.7)
(xy -7.62 -12.7)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.54 -12.319)
(xy -2.54 -12.7)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.54 -12.192)
(xy -1.524 -10.541)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.54 -12.192)
(xy -1.27 -12.192)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.54 -10.16)
(xy -2.54 -10.414)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.54 -7.62)
(xy -7.62 -7.62)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.54 -7.239)
(xy -2.54 -7.62)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.54 -7.112)
(xy -1.524 -5.461)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.54 -7.112)
(xy -1.27 -7.112)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.54 -5.08)
(xy -2.54 -5.334)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.762 -11.557)
(xy 0.254 -12.573)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.762 -6.477)
(xy 0.254 -7.493)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.635 -10.414)
(xy 0.381 -11.43)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.635 -5.334)
(xy 0.381 -6.35)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.254 -12.573)
(xy -0.127 -11.684)
(xy -0.635 -12.192)
(xy 0.254 -12.573)
)
(stroke (width 0.1524) (type default))
(fill (type outline))
)
(polyline
(pts
(xy 0.254 -7.493)
(xy -0.127 -6.604)
(xy -0.635 -7.112)
(xy 0.254 -7.493)
)
(stroke (width 0.1524) (type default))
(fill (type outline))
)
(polyline
(pts
(xy 0.381 -11.43)
(xy 0 -10.541)
(xy -0.508 -11.049)
(xy 0.381 -11.43)
)
(stroke (width 0.1524) (type default))
(fill (type outline))
)
(polyline
(pts
(xy 0.381 -6.35)
(xy 0 -5.461)
(xy -0.508 -5.969)
(xy 0.381 -6.35)
)
(stroke (width 0.1524) (type default))
(fill (type outline))
)
(text "GREEN" (at 1.27 -5.08 0)
(effects (font (size 1.016 1.016)) (justify left top))
)
(text "YELLOW" (at 1.27 -10.16 0)
(effects (font (size 1.016 1.016)) (justify left top))
)
(pin passive line (at -12.7 15.24 0) (length 5.08)
(name "P1" (effects (font (size 1.016 1.016))))
(number "1" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 -7.62 0) (length 5.08)
(name "~" (effects (font (size 1.016 1.016))))
(number "10" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 -10.16 0) (length 5.08)
(name "~" (effects (font (size 1.016 1.016))))
(number "11" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 -12.7 0) (length 5.08)
(name "~" (effects (font (size 1.016 1.016))))
(number "12" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 12.7 0) (length 5.08)
(name "P2" (effects (font (size 1.016 1.016))))
(number "2" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 10.16 0) (length 5.08)
(name "P3" (effects (font (size 1.016 1.016))))
(number "3" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 7.62 0) (length 5.08)
(name "P4" (effects (font (size 1.016 1.016))))
(number "4" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 5.08 0) (length 5.08)
(name "P5" (effects (font (size 1.016 1.016))))
(number "5" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 2.54 0) (length 5.08)
(name "P6" (effects (font (size 1.016 1.016))))
(number "6" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 0 0) (length 5.08)
(name "P7" (effects (font (size 1.016 1.016))))
(number "7" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 -2.54 0) (length 5.08)
(name "P8" (effects (font (size 1.016 1.016))))
(number "8" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 -5.08 0) (length 5.08)
(name "~" (effects (font (size 1.016 1.016))))
(number "9" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 -15.24 0) (length 5.08)
(name "SHIELD" (effects (font (size 1.016 1.016))))
(number "S1" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -12.7 -17.78 0) (length 5.08)
(name "SHIELD__1" (effects (font (size 1.016 1.016))))
(number "S2" (effects (font (size 1.016 1.016))))
)
)
)
(symbol "IC:KSZ8081MLX" (in_bom yes) (on_board yes)
(property "Reference" "U" (at -6.35 -59.69 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "" (at -6.35 -59.69 90)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Package_QFP:LQFP-48_7x7mm_P0.5mm" (at -6.35 -59.69 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at -6.35 -59.69 90)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "KSZ8081MLX_1_1"
(rectangle (start -11.43 8.89) (end 21.59 -59.69)
(stroke (width 0) (type default))
(fill (type background))
)
(pin passive line (at -3.81 -64.77 90) (length 5.08)
(name "GND" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 26.67 -2.54 180) (length 5.08)
(name "RXP" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 26.67 -5.08 180) (length 5.08)
(name "TXM" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 26.67 -7.62 180) (length 5.08)
(name "TXP" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 3.81 -64.77 90) (length 5.08)
(name "GND" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin output line (at -16.51 -49.53 0) (length 5.08)
(name "XO" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin input line (at -16.51 -52.07 0) (length 5.08)
(name "XI" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin input line (at 26.67 -33.02 180) (length 5.08)
(name "REXT" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 6.35 -64.77 90) (length 5.08)
(name "GND" (effects (font (size 1.27 1.27))))
(number "17" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -16.51 -8.89 0) (length 5.08)
(name "MDIO" (effects (font (size 1.27 1.27))))
(number "18" (effects (font (size 1.27 1.27))))
)
(pin input line (at -16.51 -11.43 0) (length 5.08)
(name "MDC" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -1.27 -64.77 90) (length 5.08)
(name "GND" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -16.51 -29.21 0) (length 5.08)
(name "RXD3_PHYAD0" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -16.51 -26.67 0) (length 5.08)
(name "RXD2_PHYAD1" (effects (font (size 1.27 1.27))))
(number "21" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -16.51 -24.13 0) (length 5.08)
(name "RXD1_PHYAD2" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -16.51 -21.59 0) (length 5.08)
(name "RXD0_DUPLEX" (effects (font (size 1.27 1.27))))
(number "23" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 8.89 -64.77 90) (length 5.08)
(name "GND" (effects (font (size 1.27 1.27))))
(number "24" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -2.54 13.97 270) (length 5.08)
(name "VDDIO" (effects (font (size 1.27 1.27))))
(number "25" (effects (font (size 1.27 1.27))))
)
(pin no_connect line (at 26.67 -48.26 180) (length 5.08)
(name "NC" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -16.51 -19.05 0) (length 5.08)
(name "RXDV_CONFIG2" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -16.51 -13.97 0) (length 5.08)
(name "RXC_B-CAST-OFF" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -16.51 -16.51 0) (length 5.08)
(name "RXER_ISO" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 1.27 -64.77 90) (length 5.08)
(name "GND" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 11.43 -64.77 90) (length 5.08)
(name "GND" (effects (font (size 1.27 1.27))))
(number "30" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at 10.16 13.97 270) (length 5.08)
(name "VDD_1P2" (effects (font (size 1.27 1.27))))
(number "31" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -16.51 -3.81 0) (length 5.08)
(name "INTRP_NAND-TREE" (effects (font (size 1.27 1.27))))
(number "32" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -16.51 -31.75 0) (length 5.08)
(name "TXC" (effects (font (size 1.27 1.27))))
(number "33" (effects (font (size 1.27 1.27))))
)
(pin input line (at -16.51 -34.29 0) (length 5.08)
(name "TXEN" (effects (font (size 1.27 1.27))))
(number "34" (effects (font (size 1.27 1.27))))
)
(pin input line (at -16.51 -36.83 0) (length 5.08)
(name "TXD0" (effects (font (size 1.27 1.27))))
(number "35" (effects (font (size 1.27 1.27))))
)
(pin input line (at -16.51 -39.37 0) (length 5.08)
(name "TXD1" (effects (font (size 1.27 1.27))))
(number "36" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 13.97 -64.77 90) (length 5.08)
(name "GND" (effects (font (size 1.27 1.27))))
(number "37" (effects (font (size 1.27 1.27))))
)
(pin input line (at -16.51 -41.91 0) (length 5.08)
(name "TXD2" (effects (font (size 1.27 1.27))))
(number "38" (effects (font (size 1.27 1.27))))
)
(pin input line (at -16.51 -44.45 0) (length 5.08)
(name "TXD3" (effects (font (size 1.27 1.27))))
(number "39" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at 7.62 13.97 270) (length 5.08)
(name "VDD_1P2" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 26.67 -25.4 180) (length 5.08)
(name "COL_CONFIG0" (effects (font (size 1.27 1.27))))
(number "40" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 26.67 -27.94 180) (length 5.08)
(name "CRS_CONFIG1" (effects (font (size 1.27 1.27))))
(number "41" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 26.67 -12.7 180) (length 5.08)
(name "LED0_NWAYEN" (effects (font (size 1.27 1.27))))
(number "42" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 26.67 -15.24 180) (length 5.08)
(name "LED1_SPEED" (effects (font (size 1.27 1.27))))
(number "43" (effects (font (size 1.27 1.27))))
)
(pin input line (at 26.67 -38.1 180) (length 5.08)
(name "TEST_NC" (effects (font (size 1.27 1.27))))
(number "44" (effects (font (size 1.27 1.27))))
)
(pin no_connect line (at 26.67 -50.8 180) (length 5.08)
(name "NC" (effects (font (size 1.27 1.27))))
(number "45" (effects (font (size 1.27 1.27))))
)
(pin no_connect line (at 26.67 -53.34 180) (length 5.08)
(name "NC" (effects (font (size 1.27 1.27))))
(number "46" (effects (font (size 1.27 1.27))))
)
(pin input line (at -16.51 -1.27 0) (length 5.08)
(name "RST#" (effects (font (size 1.27 1.27))))
(number "47" (effects (font (size 1.27 1.27))))
)
(pin no_connect line (at 26.67 -55.88 180) (length 5.08)
(name "NC" (effects (font (size 1.27 1.27))))
(number "48" (effects (font (size 1.27 1.27))))
)
(pin no_connect line (at 26.67 -40.64 180) (length 5.08)
(name "NC" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin no_connect line (at 26.67 -43.18 180) (length 5.08)
(name "NC" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at 2.54 13.97 270) (length 5.08)
(name "VDDA_3P3" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin no_connect line (at 26.67 -45.72 180) (length 5.08)
(name "NC" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 26.67 0 180) (length 5.08)
(name "RXM" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
)
(symbol (lib_id "IC:KSZ8081MLX") (at 76.2 77.47 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 74a2128d-f631-455c-bd88-8b2aa42595a6)
(property "Reference" "U9" (at 88.5541 66.04 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "~" (at 69.85 137.16 90)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Package_QFP:LQFP-48_7x7mm_P0.5mm" (at 69.85 137.16 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 69.85 137.16 90)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 0971fa10-2d30-4fad-92e1-d2fa3adcad5f))
(pin "10" (uuid 62fb1c98-a45b-4d9c-a4a0-674f24db9f17))
(pin "11" (uuid 6375d67a-5b9c-43f8-83e1-78626b8d7de1))
(pin "12" (uuid de431ac2-5237-4ec0-bad5-94f0aa1552c4))
(pin "13" (uuid df60df86-5220-44ad-ba6b-bb31bfbc79d9))
(pin "14" (uuid 7f504f95-9169-47e4-a6a0-f321d9283f5c))
(pin "15" (uuid 5138f8d5-981f-480b-9696-321024481a79))
(pin "16" (uuid 1f32a4f5-9435-48e9-a89c-bf111c70398a))
(pin "17" (uuid 2537a8b1-4828-44e2-bc1e-a494fb2c061a))
(pin "18" (uuid b70c1088-2d01-4705-af7c-d976d686c3ad))
(pin "19" (uuid 507801a6-0372-49c7-9588-44171a546be8))
(pin "2" (uuid 99157037-08d5-4cac-b93d-b10edb7e2c82))
(pin "20" (uuid abb1b9e7-32a8-40a8-989a-e6b989824409))
(pin "21" (uuid 4874ad38-417f-4759-98cb-0fbdbe063bf8))
(pin "22" (uuid 03151c90-5b51-4d90-a1aa-81ab3137fdbc))
(pin "23" (uuid f180ccd3-c84f-46de-b8aa-155fdbdaf9e5))
(pin "24" (uuid ab47a231-f78e-44b8-bab1-1200d45d9c4f))
(pin "25" (uuid b32b0c23-ffd1-4df6-bc84-9bba55bc07b0))
(pin "26" (uuid a3177d11-7c9f-460a-84fb-609c3928f97f))
(pin "27" (uuid e38e1d36-effb-45ed-8498-7204c5fb6b29))
(pin "28" (uuid b1df8335-c01e-413b-9749-e60ef3096e4c))
(pin "29" (uuid 896437c5-7738-4124-bbbc-06b3a26fd382))
(pin "3" (uuid 52287bf9-75d1-4c21-82dc-503eaf0b125b))
(pin "30" (uuid 34f7147f-2a9d-45ab-a592-83e320d0fa67))
(pin "31" (uuid 701647e0-5398-4545-859e-b6430c0f360f))
(pin "32" (uuid 36687a3d-9311-4e01-a668-e6145d90dab8))
(pin "33" (uuid cbd619ff-0d51-41f0-8fdc-3447c39e1c85))
(pin "34" (uuid 4d0f62b7-97e7-4ff7-bfe8-5966f63196e3))
(pin "35" (uuid 8311a9b0-ef82-4639-b795-4377fbaa6a3e))
(pin "36" (uuid 1e53403e-6cdf-4764-9c31-8b595bad7472))
(pin "37" (uuid 5b96e658-926d-4e5e-91f6-da5eb948bb90))
(pin "38" (uuid 940ebcd5-080c-452f-b915-c1ca631b4f5a))
(pin "39" (uuid cc6510de-a44f-4945-9fca-83577e437eaa))
(pin "4" (uuid ce1c84a1-7c01-413f-883a-d5464b8751be))
(pin "40" (uuid 680992c5-2d9f-41b3-a268-50592e3db727))
(pin "41" (uuid ce613170-db14-4738-bacf-f27b4a3ac146))
(pin "42" (uuid 2dca42b3-e008-4eba-8e74-45e1ea10ec00))
(pin "43" (uuid c57c36fd-d5a9-4edc-807a-ef900abf1b6b))
(pin "44" (uuid d2153c8d-7a11-409b-a8ec-483d4cdc31e5))
(pin "45" (uuid 4f5ad0b4-abd5-4602-ba56-bc9ac1d028c7))
(pin "46" (uuid 7893b5fa-4f16-46ee-9ffe-a5e02b0d48af))
(pin "47" (uuid e21c7b4a-cee8-485f-b459-6b5b05f7a3dd))
(pin "48" (uuid a01c613a-fcf9-45a5-b774-362cbab773c4))
(pin "5" (uuid ca80a658-91f7-49a4-b9d2-9444f64780a0))
(pin "6" (uuid baa6169b-93ab-49af-a3f4-ce0897f7ce46))
(pin "7" (uuid 1f417f9a-3eeb-4ed7-8848-4f4376d685b9))
(pin "8" (uuid ac18c212-b808-4016-8324-63b6c7b7ee40))
(pin "9" (uuid 29d69991-35ab-4a49-8400-1d37f2a6d691))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/0e586220-674f-4460-8339-5e3e7edc244c"
(reference "U9") (unit 1)
)
)
)
)
(symbol (lib_id "Connector:SI-50170-F") (at 157.48 85.09 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 7a9f0dee-a13e-4b44-af95-8ed3667b5089)
(property "Reference" "J3" (at 166.37 85.09 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "SI-50170-F" (at 166.37 87.63 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "Connector_RJ:BEL_SI-50170-F" (at 157.48 85.09 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Datasheet" "" (at 157.48 85.09 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "PARTREV" "07" (at 157.48 85.09 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "STANDARD" "Manufacturer Recommendations" (at 157.48 85.09 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MAXIMUM_PACKAGE_HEIGHT" "13.97mm" (at 157.48 85.09 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MANUFACTURER" "Bel Fuse" (at 157.48 85.09 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(pin "1" (uuid 3a74278f-51cc-44e5-b277-d5ec8b6e8481))
(pin "10" (uuid 9e57dada-04d1-4013-9838-0ebf426601f2))
(pin "11" (uuid d234052d-350e-485e-9a11-c4bd8868795b))
(pin "12" (uuid 561ac29b-d617-4eb3-b8b6-1348c83b0952))
(pin "2" (uuid 086a47b6-2438-457e-9db5-920b42bb8ede))
(pin "3" (uuid 3fa58a24-bed2-4d78-9db9-47177f63a121))
(pin "4" (uuid 0872b38d-3d2a-417f-b285-6060af17ce3b))
(pin "5" (uuid 7f750b88-257a-4246-ac8c-511f43e8fd3f))
(pin "6" (uuid 58bf0c71-41c7-46ea-ac09-29a367bee811))
(pin "7" (uuid 0dc91c07-0a72-4c72-9878-64c56f5bb15c))
(pin "8" (uuid 0d41beeb-7a3d-446e-8129-748baf68ecf7))
(pin "9" (uuid 6bb173ef-51ca-4980-b961-faae98f0d404))
(pin "S1" (uuid 4a15abbc-7f39-4c6e-9daa-a82205674a78))
(pin "S2" (uuid 689be75a-d301-4e0c-9679-329c784cb7d9))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/0e586220-674f-4460-8339-5e3e7edc244c"
(reference "J3") (unit 1)
)
)
)
)
)

View File

@@ -1,143 +0,0 @@
(fp_lib_table
(version 7)
(lib (name "Antenna")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Antenna.pretty")(options "")(descr ""))
(lib (name "Arduino_Library")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Arduino_Library.pretty")(options "")(descr ""))
(lib (name "Audio_Module")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Audio_Module.pretty")(options "")(descr ""))
(lib (name "Battery")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Battery.pretty")(options "")(descr ""))
(lib (name "Button_Switch_Keyboard")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Button_Switch_Keyboard.pretty")(options "")(descr ""))
(lib (name "Button_Switch_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Button_Switch_SMD.pretty")(options "")(descr ""))
(lib (name "Button_Switch_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Button_Switch_THT.pretty")(options "")(descr ""))
(lib (name "Buzzer_Beeper")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Buzzer_Beeper.pretty")(options "")(descr ""))
(lib (name "Calibration_Scale")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Calibration_Scale.pretty")(options "")(descr ""))
(lib (name "Capacitor_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Capacitor_SMD.pretty")(options "")(descr ""))
(lib (name "Capacitor_Tantalum_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Capacitor_Tantalum_SMD.pretty")(options "")(descr ""))
(lib (name "Capacitor_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Capacitor_THT.pretty")(options "")(descr ""))
(lib (name "Connector")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector.pretty")(options "")(descr ""))
(lib (name "Connector_AMASS")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_AMASS.pretty")(options "")(descr ""))
(lib (name "Connector_Amphenol")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Amphenol.pretty")(options "")(descr ""))
(lib (name "Connector_Audio")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Audio.pretty")(options "")(descr ""))
(lib (name "Connector_BarrelJack")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_BarrelJack.pretty")(options "")(descr ""))
(lib (name "Connector_Card")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Card.pretty")(options "")(descr ""))
(lib (name "Connector_Coaxial")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Coaxial.pretty")(options "")(descr ""))
(lib (name "Connector_DIN")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_DIN.pretty")(options "")(descr ""))
(lib (name "Connector_Dsub")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Dsub.pretty")(options "")(descr ""))
(lib (name "Connector_FFC-FPC")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_FFC-FPC.pretty")(options "")(descr ""))
(lib (name "Connector_Harting")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Harting.pretty")(options "")(descr ""))
(lib (name "Connector_Harwin")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Harwin.pretty")(options "")(descr ""))
(lib (name "Connector_HDMI")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_HDMI.pretty")(options "")(descr ""))
(lib (name "Connector_Hirose")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Hirose.pretty")(options "")(descr ""))
(lib (name "Connector_IDC")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_IDC.pretty")(options "")(descr ""))
(lib (name "Connector_JAE")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_JAE.pretty")(options "")(descr ""))
(lib (name "Connector_JST")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_JST.pretty")(options "")(descr ""))
(lib (name "Connector_Molex")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Molex.pretty")(options "")(descr ""))
(lib (name "Connector_Murata")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Murata.pretty")(options "")(descr ""))
(lib (name "Connector_PCBEdge")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_PCBEdge.pretty")(options "")(descr ""))
(lib (name "Connector_Phoenix_GMSTB")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Phoenix_GMSTB.pretty")(options "")(descr ""))
(lib (name "Connector_Phoenix_MC")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Phoenix_MC.pretty")(options "")(descr ""))
(lib (name "Connector_Phoenix_MC_HighVoltage")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Phoenix_MC_HighVoltage.pretty")(options "")(descr ""))
(lib (name "Connector_Phoenix_MSTB")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Phoenix_MSTB.pretty")(options "")(descr ""))
(lib (name "Connector_Pin")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Pin.pretty")(options "")(descr ""))
(lib (name "Connector_PinHeader_1.00mm")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_PinHeader_1.00mm.pretty")(options "")(descr ""))
(lib (name "Connector_PinHeader_1.27mm")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_PinHeader_1.27mm.pretty")(options "")(descr ""))
(lib (name "Connector_PinHeader_2.00mm")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_PinHeader_2.00mm.pretty")(options "")(descr ""))
(lib (name "Connector_PinHeader_2.54mm")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_PinHeader_2.54mm.pretty")(options "")(descr ""))
(lib (name "Connector_PinSocket_1.00mm")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_PinSocket_1.00mm.pretty")(options "")(descr ""))
(lib (name "Connector_PinSocket_1.27mm")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_PinSocket_1.27mm.pretty")(options "")(descr ""))
(lib (name "Connector_PinSocket_2.00mm")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_PinSocket_2.00mm.pretty")(options "")(descr ""))
(lib (name "Connector_PinSocket_2.54mm")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_PinSocket_2.54mm.pretty")(options "")(descr ""))
(lib (name "Connector_RJ")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_RJ.pretty")(options "")(descr ""))
(lib (name "Connector_Samtec")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Samtec.pretty")(options "")(descr ""))
(lib (name "Connector_Samtec_HLE_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Samtec_HLE_SMD.pretty")(options "")(descr ""))
(lib (name "Connector_Samtec_HLE_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Samtec_HLE_THT.pretty")(options "")(descr ""))
(lib (name "Connector_SATA_SAS")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_SATA_SAS.pretty")(options "")(descr ""))
(lib (name "Connector_Stocko")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Stocko.pretty")(options "")(descr ""))
(lib (name "Connector_TE-Connectivity")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_TE-Connectivity.pretty")(options "")(descr ""))
(lib (name "Connector_USB")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_USB.pretty")(options "")(descr ""))
(lib (name "Connector_Wago")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Wago.pretty")(options "")(descr ""))
(lib (name "Connector_Wire")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Wire.pretty")(options "")(descr ""))
(lib (name "Connector_Wuerth")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Connector_Wuerth.pretty")(options "")(descr ""))
(lib (name "Converter_ACDC")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Converter_ACDC.pretty")(options "")(descr ""))
(lib (name "Converter_DCDC")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Converter_DCDC.pretty")(options "")(descr ""))
(lib (name "Crystal")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Crystal.pretty")(options "")(descr ""))
(lib (name "Diode_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Diode_SMD.pretty")(options "")(descr ""))
(lib (name "Diode_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Diode_THT.pretty")(options "")(descr ""))
(lib (name "Display")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Display.pretty")(options "")(descr ""))
(lib (name "Display_7Segment")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Display_7Segment.pretty")(options "")(descr ""))
(lib (name "Ferrite_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Ferrite_THT.pretty")(options "")(descr ""))
(lib (name "Fiducial")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Fiducial.pretty")(options "")(descr ""))
(lib (name "Filter")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Filter.pretty")(options "")(descr ""))
(lib (name "Fuse")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Fuse.pretty")(options "")(descr ""))
(lib (name "Heatsink")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Heatsink.pretty")(options "")(descr ""))
(lib (name "Inductor_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Inductor_SMD.pretty")(options "")(descr ""))
(lib (name "Inductor_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Inductor_THT.pretty")(options "")(descr ""))
(lib (name "Jumper")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Jumper.pretty")(options "")(descr ""))
(lib (name "LED_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/LED_SMD.pretty")(options "")(descr ""))
(lib (name "LED_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/LED_THT.pretty")(options "")(descr ""))
(lib (name "Module")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Module.pretty")(options "")(descr ""))
(lib (name "MountingEquipment")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/MountingEquipment.pretty")(options "")(descr ""))
(lib (name "MountingHole")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/MountingHole.pretty")(options "")(descr ""))
(lib (name "Mounting_Wuerth")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Mounting_Wuerth.pretty")(options "")(descr ""))
(lib (name "NetTie")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/NetTie.pretty")(options "")(descr ""))
(lib (name "OptoDevice")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/OptoDevice.pretty")(options "")(descr ""))
(lib (name "Oscillator")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Oscillator.pretty")(options "")(descr ""))
(lib (name "Package_BGA")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_BGA.pretty")(options "")(descr ""))
(lib (name "Package_CSP")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_CSP.pretty")(options "")(descr ""))
(lib (name "Package_DFN_QFN")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_DFN_QFN.pretty")(options "")(descr ""))
(lib (name "Package_DIP")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_DIP.pretty")(options "")(descr ""))
(lib (name "Package_DirectFET")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_DirectFET.pretty")(options "")(descr ""))
(lib (name "Package_LCC")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_LCC.pretty")(options "")(descr ""))
(lib (name "Package_LGA")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_LGA.pretty")(options "")(descr ""))
(lib (name "Package_QFP")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_QFP.pretty")(options "")(descr ""))
(lib (name "Package_SC")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_SC.pretty")(options "")(descr ""))
(lib (name "Package_SIP")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_SIP.pretty")(options "")(descr ""))
(lib (name "Package_SO")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_SO.pretty")(options "")(descr ""))
(lib (name "Package_SO_J-Lead")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_SO_J-Lead.pretty")(options "")(descr ""))
(lib (name "Package_SON")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_SON.pretty")(options "")(descr ""))
(lib (name "Package_TO_SOT_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_TO_SOT_SMD.pretty")(options "")(descr ""))
(lib (name "Package_TO_SOT_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_TO_SOT_THT.pretty")(options "")(descr ""))
(lib (name "Package_TSNP")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Package_TSNP.pretty")(options "")(descr ""))
(lib (name "Potentiometer_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Potentiometer_SMD.pretty")(options "")(descr ""))
(lib (name "Potentiometer_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Potentiometer_THT.pretty")(options "")(descr ""))
(lib (name "Relay_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Relay_SMD.pretty")(options "")(descr ""))
(lib (name "Relay_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Relay_THT.pretty")(options "")(descr ""))
(lib (name "Resistor_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Resistor_SMD.pretty")(options "")(descr ""))
(lib (name "Resistor_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Resistor_THT.pretty")(options "")(descr ""))
(lib (name "RF")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/RF.pretty")(options "")(descr ""))
(lib (name "RF_Antenna")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/RF_Antenna.pretty")(options "")(descr ""))
(lib (name "RF_Converter")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/RF_Converter.pretty")(options "")(descr ""))
(lib (name "RF_GPS")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/RF_GPS.pretty")(options "")(descr ""))
(lib (name "RF_GSM")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/RF_GSM.pretty")(options "")(descr ""))
(lib (name "RF_Mini-Circuits")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/RF_Mini-Circuits.pretty")(options "")(descr ""))
(lib (name "RF_Module")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/RF_Module.pretty")(options "")(descr ""))
(lib (name "RF_Shielding")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/RF_Shielding.pretty")(options "")(descr ""))
(lib (name "RF_WiFi")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/RF_WiFi.pretty")(options "")(descr ""))
(lib (name "Rotary_Encoder")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Rotary_Encoder.pretty")(options "")(descr ""))
(lib (name "Sensor")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Sensor.pretty")(options "")(descr ""))
(lib (name "Sensor_Audio")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Sensor_Audio.pretty")(options "")(descr ""))
(lib (name "Sensor_Current")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Sensor_Current.pretty")(options "")(descr ""))
(lib (name "Sensor_Distance")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Sensor_Distance.pretty")(options "")(descr ""))
(lib (name "Sensor_Humidity")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Sensor_Humidity.pretty")(options "")(descr ""))
(lib (name "Sensor_Motion")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Sensor_Motion.pretty")(options "")(descr ""))
(lib (name "Sensor_Pressure")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Sensor_Pressure.pretty")(options "")(descr ""))
(lib (name "Sensor_Voltage")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Sensor_Voltage.pretty")(options "")(descr ""))
(lib (name "Socket")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Socket.pretty")(options "")(descr ""))
(lib (name "ST")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/ST.pretty")(options "")(descr ""))
(lib (name "Symbol")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Symbol.pretty")(options "")(descr ""))
(lib (name "TerminalBlock")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TerminalBlock.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_4Ucon")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TerminalBlock_4Ucon.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_Altech")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TerminalBlock_Altech.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_Dinkle")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TerminalBlock_Dinkle.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_MetzConnect")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TerminalBlock_MetzConnect.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_Philmore")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TerminalBlock_Philmore.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_Phoenix")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TerminalBlock_Phoenix.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_RND")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TerminalBlock_RND.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_TE-Connectivity")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TerminalBlock_TE-Connectivity.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_WAGO")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TerminalBlock_WAGO.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_Wuerth")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TerminalBlock_Wuerth.pretty")(options "")(descr ""))
(lib (name "TestPoint")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/TestPoint.pretty")(options "")(descr ""))
(lib (name "Transformer_SMD")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Transformer_SMD.pretty")(options "")(descr ""))
(lib (name "Transformer_THT")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Transformer_THT.pretty")(options "")(descr ""))
(lib (name "Transistor_Power_Module")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Transistor_Power_Module.pretty")(options "")(descr ""))
(lib (name "Valve")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Valve.pretty")(options "")(descr ""))
(lib (name "Varistor")(type "KiCad")(uri "${KICAD7_FOOTPRINT_DIR}/Varistor.pretty")(options "")(descr ""))
)

File diff suppressed because it is too large Load Diff

View File

@@ -1,643 +0,0 @@
(kicad_sch (version 20230121) (generator eeschema)
(uuid 436251de-5eed-4d94-9469-32b1c9627a5e)
(paper "A4")
(lib_symbols
(symbol "Connector:USB4085-GF-A_REVB" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "J" (at -5.08 18.288 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Value" "USB4085-GF-A_REVB" (at -5.08 -43.18 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Footprint" "Connector_USB:GCT_USB4085-GF-A_REVB" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "PARTREV" "B" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "STANDARD" "Manufacturer Recommendations" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "SNAPEDA_PN" "USB4085-GF-A" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MAXIMUM_PACKAGE_HEIGHT" "3.16mm" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MANUFACTURER" "Global Connector Technology" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(symbol "USB4085-GF-A_REVB_0_0"
(rectangle (start -5.08 -40.64) (end 5.08 17.78)
(stroke (width 0.254) (type default))
(fill (type background))
)
(pin power_in line (at -10.16 -30.48 0) (length 5.08)
(name "GND" (effects (font (size 1.016 1.016))))
(number "A1" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at -10.16 -33.02 0) (length 5.08)
(name "GND__1" (effects (font (size 1.016 1.016))))
(number "A12" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at -10.16 15.24 0) (length 5.08)
(name "VBUS" (effects (font (size 1.016 1.016))))
(number "A4" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -10.16 2.54 0) (length 5.08)
(name "CC1" (effects (font (size 1.016 1.016))))
(number "A5" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -10.16 -2.54 0) (length 5.08)
(name "DP1" (effects (font (size 1.016 1.016))))
(number "A6" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -10.16 -7.62 0) (length 5.08)
(name "DN1" (effects (font (size 1.016 1.016))))
(number "A7" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -10.16 -12.7 0) (length 5.08)
(name "SBU1" (effects (font (size 1.016 1.016))))
(number "A8" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at -10.16 12.7 0) (length 5.08)
(name "VBUS__1" (effects (font (size 1.016 1.016))))
(number "A9" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at -10.16 -35.56 0) (length 5.08)
(name "GND__2" (effects (font (size 1.016 1.016))))
(number "B1" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at -10.16 -38.1 0) (length 5.08)
(name "GND__3" (effects (font (size 1.016 1.016))))
(number "B12" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at -10.16 10.16 0) (length 5.08)
(name "VBUS__2" (effects (font (size 1.016 1.016))))
(number "B4" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -10.16 0 0) (length 5.08)
(name "CC2" (effects (font (size 1.016 1.016))))
(number "B5" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -10.16 -5.08 0) (length 5.08)
(name "DP2" (effects (font (size 1.016 1.016))))
(number "B6" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -10.16 -10.16 0) (length 5.08)
(name "DN2" (effects (font (size 1.016 1.016))))
(number "B7" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -10.16 -15.24 0) (length 5.08)
(name "SBU2" (effects (font (size 1.016 1.016))))
(number "B8" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at -10.16 7.62 0) (length 5.08)
(name "VBUS__3" (effects (font (size 1.016 1.016))))
(number "B9" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -20.32 0) (length 5.08)
(name "SHELL" (effects (font (size 1.016 1.016))))
(number "S1" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -22.86 0) (length 5.08)
(name "SHELL__1" (effects (font (size 1.016 1.016))))
(number "S2" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -25.4 0) (length 5.08)
(name "SHELL__2" (effects (font (size 1.016 1.016))))
(number "S3" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -27.94 0) (length 5.08)
(name "SHELL__3" (effects (font (size 1.016 1.016))))
(number "S4" (effects (font (size 1.016 1.016))))
)
)
)
(symbol "IC:MX25V8035F" (in_bom yes) (on_board yes)
(property "Reference" "U" (at 0 0 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "" (at 0 0 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Package_SO:SOP-8_3.9x4.9mm_P1.27mm" (at 5.08 3.81 0)
(effects (font (size 1.27 1.27)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "MX25V8035F_1_1"
(rectangle (start -1.27 -1.27) (end 22.86 -13.97)
(stroke (width 0) (type default))
(fill (type background))
)
(pin input line (at -6.35 -3.81 0) (length 5.08)
(name "CS#" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -6.35 -6.35 0) (length 5.08)
(name "S0/SI01" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -6.35 -8.89 0) (length 5.08)
(name "WP#/SIO2" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -6.35 -11.43 0) (length 5.08)
(name "GND" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 27.94 -11.43 180) (length 5.08)
(name "SI/SIO0" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin input line (at 27.94 -8.89 180) (length 5.08)
(name "SCLK" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 27.94 -6.35 180) (length 5.08)
(name "HOLD#/SIO3" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 27.94 -3.81 180) (length 5.08)
(name "VCC" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Interface_USB:FT4232H" (in_bom yes) (on_board yes)
(property "Reference" "U" (at -26.67 53.34 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "FT4232H" (at 19.05 53.34 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT4232H.pdf" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "FTDI USB Quad UART FIFO" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "Hi Speed Quad Channel USB UART/FIFO, LQFP/QFN-64" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "QFN*1EP*9x9mm*P0.5mm* LQFP*10x10mm*P0.5mm*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "FT4232H_0_1"
(rectangle (start -26.67 -49.53) (end 26.67 52.07)
(stroke (width 0.254) (type default))
(fill (type background))
)
)
(symbol "FT4232H_1_1"
(pin power_in line (at -10.16 -53.34 90) (length 3.81)
(name "GND" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -15.24 -53.34 90) (length 3.81)
(name "AGND" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -5.08 -53.34 90) (length 3.81)
(name "GND" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -5.08 55.88 270) (length 3.81)
(name "VCORE" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin input line (at -30.48 -45.72 0) (length 3.81)
(name "TEST" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin input line (at -30.48 10.16 0) (length 3.81)
(name "~{RESET}" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -2.54 -53.34 90) (length 3.81)
(name "GND" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 48.26 180) (length 3.81)
(name "ADBUS0" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 45.72 180) (length 3.81)
(name "ADBUS1" (effects (font (size 1.27 1.27))))
(number "17" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 43.18 180) (length 3.81)
(name "ADBUS2" (effects (font (size 1.27 1.27))))
(number "18" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 40.64 180) (length 3.81)
(name "ADBUS3" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27))))
)
(pin input line (at -30.48 -30.48 0) (length 3.81)
(name "OSCI" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 5.08 55.88 270) (length 3.81)
(name "VCCIO" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 38.1 180) (length 3.81)
(name "ADBUS4" (effects (font (size 1.27 1.27))))
(number "21" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 35.56 180) (length 3.81)
(name "ADBUS5" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 33.02 180) (length 3.81)
(name "ADBUS6" (effects (font (size 1.27 1.27))))
(number "23" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 30.48 180) (length 3.81)
(name "ADBUS7" (effects (font (size 1.27 1.27))))
(number "24" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 0 -53.34 90) (length 3.81)
(name "GND" (effects (font (size 1.27 1.27))))
(number "25" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 25.4 180) (length 3.81)
(name "BDBUS0" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 22.86 180) (length 3.81)
(name "BDBUS1" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 20.32 180) (length 3.81)
(name "BDBUS2" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 17.78 180) (length 3.81)
(name "BDBUS3" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27))))
)
(pin output line (at -30.48 -40.64 0) (length 3.81)
(name "OSCO" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 15.24 180) (length 3.81)
(name "BDBUS4" (effects (font (size 1.27 1.27))))
(number "30" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 7.62 55.88 270) (length 3.81)
(name "VCCIO" (effects (font (size 1.27 1.27))))
(number "31" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 12.7 180) (length 3.81)
(name "BDBUS5" (effects (font (size 1.27 1.27))))
(number "32" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 10.16 180) (length 3.81)
(name "BDBUS6" (effects (font (size 1.27 1.27))))
(number "33" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 7.62 180) (length 3.81)
(name "BDBUS7" (effects (font (size 1.27 1.27))))
(number "34" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 2.54 -53.34 90) (length 3.81)
(name "GND" (effects (font (size 1.27 1.27))))
(number "35" (effects (font (size 1.27 1.27))))
)
(pin output line (at 30.48 -45.72 180) (length 3.81)
(name "~{SUSPEND}" (effects (font (size 1.27 1.27))))
(number "36" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -2.54 55.88 270) (length 3.81)
(name "VCORE" (effects (font (size 1.27 1.27))))
(number "37" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 2.54 180) (length 3.81)
(name "CDBUS0" (effects (font (size 1.27 1.27))))
(number "38" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 0 180) (length 3.81)
(name "CDBUS1" (effects (font (size 1.27 1.27))))
(number "39" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -12.7 55.88 270) (length 3.81)
(name "VPHY" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -2.54 180) (length 3.81)
(name "CDBUS2" (effects (font (size 1.27 1.27))))
(number "40" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -5.08 180) (length 3.81)
(name "CDBUS3" (effects (font (size 1.27 1.27))))
(number "41" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 10.16 55.88 270) (length 3.81)
(name "VCCIO" (effects (font (size 1.27 1.27))))
(number "42" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -7.62 180) (length 3.81)
(name "CDBUS4" (effects (font (size 1.27 1.27))))
(number "43" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -10.16 180) (length 3.81)
(name "CDBUS5" (effects (font (size 1.27 1.27))))
(number "44" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -12.7 180) (length 3.81)
(name "CDBUS6" (effects (font (size 1.27 1.27))))
(number "45" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -15.24 180) (length 3.81)
(name "CDBUS7" (effects (font (size 1.27 1.27))))
(number "46" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 5.08 -53.34 90) (length 3.81)
(name "GND" (effects (font (size 1.27 1.27))))
(number "47" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -20.32 180) (length 3.81)
(name "DDBUS0" (effects (font (size 1.27 1.27))))
(number "48" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at -30.48 43.18 0) (length 3.81)
(name "VREGOUT" (effects (font (size 1.27 1.27))))
(number "49" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -7.62 -53.34 90) (length 3.81)
(name "GND" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -30.48 48.26 0) (length 3.81)
(name "VREGIN" (effects (font (size 1.27 1.27))))
(number "50" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 7.62 -53.34 90) (length 3.81)
(name "GND" (effects (font (size 1.27 1.27))))
(number "51" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -22.86 180) (length 3.81)
(name "DDBUS1" (effects (font (size 1.27 1.27))))
(number "52" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -25.4 180) (length 3.81)
(name "DDBUS2" (effects (font (size 1.27 1.27))))
(number "53" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -27.94 180) (length 3.81)
(name "DDBUS3" (effects (font (size 1.27 1.27))))
(number "54" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -30.48 180) (length 3.81)
(name "DDBUS4" (effects (font (size 1.27 1.27))))
(number "55" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 12.7 55.88 270) (length 3.81)
(name "VCCIO" (effects (font (size 1.27 1.27))))
(number "56" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -33.02 180) (length 3.81)
(name "DDBUS5" (effects (font (size 1.27 1.27))))
(number "57" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -35.56 180) (length 3.81)
(name "DDBUS6" (effects (font (size 1.27 1.27))))
(number "58" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 30.48 -38.1 180) (length 3.81)
(name "DDBUS7" (effects (font (size 1.27 1.27))))
(number "59" (effects (font (size 1.27 1.27))))
)
(pin input line (at -30.48 15.24 0) (length 3.81)
(name "REF" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin output line (at 30.48 -43.18 180) (length 3.81)
(name "~{PWREN}" (effects (font (size 1.27 1.27))))
(number "60" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -30.48 -22.86 0) (length 3.81)
(name "EEDATA" (effects (font (size 1.27 1.27))))
(number "61" (effects (font (size 1.27 1.27))))
)
(pin output line (at -30.48 -20.32 0) (length 3.81)
(name "EECLK" (effects (font (size 1.27 1.27))))
(number "62" (effects (font (size 1.27 1.27))))
)
(pin output line (at -30.48 -17.78 0) (length 3.81)
(name "EECS" (effects (font (size 1.27 1.27))))
(number "63" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 0 55.88 270) (length 3.81)
(name "VCORE" (effects (font (size 1.27 1.27))))
(number "64" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -30.48 22.86 0) (length 3.81)
(name "DM" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -30.48 20.32 0) (length 3.81)
(name "DP" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -10.16 55.88 270) (length 3.81)
(name "VPLL" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
)
(symbol (lib_id "Connector:USB4085-GF-A_REVB") (at 190.5 83.82 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 1f89b073-ac2e-4f3c-9ffd-18724cb2794c)
(property "Reference" "J4" (at 196.85 93.98 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "USB4085-GF-A_REVB" (at 196.85 96.52 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "Connector_USB:GCT_USB4085-GF-A_REVB" (at 190.5 83.82 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Datasheet" "" (at 190.5 83.82 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "PARTREV" "B" (at 190.5 83.82 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "STANDARD" "Manufacturer Recommendations" (at 190.5 83.82 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "SNAPEDA_PN" "USB4085-GF-A" (at 190.5 83.82 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MAXIMUM_PACKAGE_HEIGHT" "3.16mm" (at 190.5 83.82 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MANUFACTURER" "Global Connector Technology" (at 190.5 83.82 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(pin "A1" (uuid f2ee8d22-94fd-4ecd-b446-9fc549d5a425))
(pin "A12" (uuid 903cbdd3-5142-4f2b-a297-e1d574366a38))
(pin "A4" (uuid 6f04622d-ac9b-4805-b0db-7d7529f51920))
(pin "A5" (uuid 4db5a74a-8f9f-41c5-9039-02f33520dd13))
(pin "A6" (uuid d361b79f-3852-4fdb-bf71-8fc92fd106c1))
(pin "A7" (uuid 5122e524-72bc-4165-b73a-492a206251e2))
(pin "A8" (uuid f858537f-097e-444b-af31-f1f83348624b))
(pin "A9" (uuid 7db5934a-7e81-42c1-a8a4-e3e2369c0159))
(pin "B1" (uuid a8b90085-282d-44be-a53b-aeec3a5c1749))
(pin "B12" (uuid 270961ce-1479-45ef-b88b-dc768e7f5ee9))
(pin "B4" (uuid 9848ceae-4b23-46f2-b15a-e506c5f2c5cc))
(pin "B5" (uuid 4b25f108-4180-463b-ad05-942cf9642850))
(pin "B6" (uuid ab73641e-6822-4da9-8a53-68d84c42d53a))
(pin "B7" (uuid bfbcbeca-b317-46eb-a943-6cae99a0da8d))
(pin "B8" (uuid f3dfc4ab-c3b0-480b-adb1-011a37427147))
(pin "B9" (uuid 4b3f97a0-9d82-484a-a6c2-975308e0d7db))
(pin "S1" (uuid 68975031-00b8-4372-83a7-f7a3f5d50151))
(pin "S2" (uuid aae5e521-142c-4f8a-a582-61732a23a39d))
(pin "S3" (uuid cf7168f2-5fe1-45ea-a6a6-819a62c551a3))
(pin "S4" (uuid ba9c2f45-8fe3-4646-a8ea-373cae8c4902))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/95d69960-5749-4bf0-ba13-8cc427d1e8e9"
(reference "J4") (unit 1)
)
)
)
)
(symbol (lib_id "IC:MX25V8035F") (at 57.15 121.92 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 52bbd483-995c-4ac0-b875-6fa184f6d4d7)
(property "Reference" "U17" (at 67.945 118.11 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "~" (at 57.15 121.92 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Package_SO:SOP-8_3.9x4.9mm_P1.27mm" (at 67.945 120.65 0)
(effects (font (size 1.27 1.27)))
)
(property "Datasheet" "" (at 57.15 121.92 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 88c3b0a5-de8b-4f60-833f-37c0bbc30080))
(pin "2" (uuid e71510ac-792e-4257-94c0-37be8e21dc98))
(pin "3" (uuid 040fcb43-92d5-4526-9215-f37dcc3c1d42))
(pin "4" (uuid edbf8ffc-42f5-42c5-8e59-f4f3292fec3d))
(pin "5" (uuid 95567d09-f89f-4adc-ac32-6869707da486))
(pin "6" (uuid be0eab12-507c-4e7c-a8e6-e794fa65d533))
(pin "7" (uuid 090e3ed6-2e1b-4a5e-8c12-7429ebd27c94))
(pin "8" (uuid d0086b52-157b-45a9-8672-e01980598c1d))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/95d69960-5749-4bf0-ba13-8cc427d1e8e9"
(reference "U17") (unit 1)
)
)
)
)
(symbol (lib_id "Interface_USB:FT4232H") (at 132.08 104.14 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 7d8f97cc-69be-4689-8157-fafee1c14082)
(property "Reference" "U20" (at 146.9741 48.26 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "FT4232H" (at 146.9741 50.8 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "Package_QFP:LQFP-64_10x10mm_P0.5mm" (at 132.08 104.14 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT4232H.pdf" (at 132.08 104.14 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 92e35839-d89a-4b15-b135-15b51df2ddcd))
(pin "10" (uuid 000631dc-df74-4d97-93c0-ff959740b0c8))
(pin "11" (uuid 5f443439-f379-4315-b6f5-25420bfe81f8))
(pin "12" (uuid 58de6bd9-6f18-4579-8d8e-6314ec999c67))
(pin "13" (uuid 1b884266-b71c-4fd7-a3f5-c0cf8fbe7a5a))
(pin "14" (uuid 59dcf3f5-165e-46f8-b57d-e7d56daa5b2f))
(pin "15" (uuid 8bf7ffcc-9b08-4ea9-9e25-9664b0638173))
(pin "16" (uuid e83493cc-4e45-41a9-a10a-4bc641f7567d))
(pin "17" (uuid f7d7026d-e2d5-4ece-86d4-b71d11cbebc0))
(pin "18" (uuid a15e5c54-aa9d-46f6-8981-501cfb0f64ed))
(pin "19" (uuid bc2975b2-9d48-40cf-bf09-3911150373ad))
(pin "2" (uuid 356c4625-bafd-4f8e-85c2-f5ba3cf92621))
(pin "20" (uuid 1c0b5088-112d-40a9-9339-6d6565374b5e))
(pin "21" (uuid 87cdcc3b-68ce-4294-8c09-274c66a4ada5))
(pin "22" (uuid 751f9bfd-008d-46bb-969e-bb3fb84f8802))
(pin "23" (uuid b5e3bbb0-7c93-4462-bacb-2c14b6a4a564))
(pin "24" (uuid 4d7d4478-cfd4-4c95-98bb-7d57f3909bfa))
(pin "25" (uuid 0dc84ca4-2e81-4c6b-bc55-862d9ecc8bbd))
(pin "26" (uuid 7e10d15a-12c0-4298-bdf6-cdf496ca982f))
(pin "27" (uuid a5f68e25-75a9-4729-a632-7d33e49e01c0))
(pin "28" (uuid f6cb5c86-a913-47d0-ba63-6b34fd4d8138))
(pin "29" (uuid 65cac59d-c251-442f-93e9-f0451f1b54a0))
(pin "3" (uuid 9747cca6-603c-47f0-8283-eeb8d51df2fd))
(pin "30" (uuid 93a2d54b-8ab5-46d8-a906-5839ea786e6b))
(pin "31" (uuid db83fbbc-31aa-4ef9-b931-9dd4ccf73bd9))
(pin "32" (uuid f1e57d23-42ac-4a46-a8df-3f2f58c30a6c))
(pin "33" (uuid 29091706-bd32-4da1-89aa-793f03c2533b))
(pin "34" (uuid a04d34ea-83b3-45cb-a420-4b7bf116b260))
(pin "35" (uuid c7f80e8f-ee13-4d7d-b735-684f7798cf6e))
(pin "36" (uuid b946edf2-419e-4caa-9c9e-99db8eec9179))
(pin "37" (uuid 32c890eb-279c-4c7c-adb9-c36d5427a2f6))
(pin "38" (uuid 920e492b-4818-4b97-8608-efab093dabcc))
(pin "39" (uuid e3d422c5-d889-46ba-95f4-2d68460fe0cd))
(pin "4" (uuid 2c859792-ba97-4304-9e59-a565b6b46aa8))
(pin "40" (uuid 0e52ea68-81ec-4eae-a553-dda73bbedb0c))
(pin "41" (uuid 573f7aa9-339f-49ca-9c8c-cf317261ea93))
(pin "42" (uuid 8095c82f-cc14-4fd8-9802-f67ae8541782))
(pin "43" (uuid 135461e7-c744-45e0-8625-8e75fc723265))
(pin "44" (uuid 159fcadb-c1c6-4758-b4f0-244770f69fc3))
(pin "45" (uuid 95333f3d-a975-4e92-b335-87fa21c83d6c))
(pin "46" (uuid c2ac1e8c-0a53-4ad8-80e0-e1f38344f8e2))
(pin "47" (uuid 3769663a-b677-48d9-8ed3-5f4176deea6e))
(pin "48" (uuid 2a5ada4a-8c2f-45e5-bac0-2dbe9535fb8f))
(pin "49" (uuid 701fd74a-cb49-4b94-bd53-cf8dd4e4f549))
(pin "5" (uuid 8cc4e997-bba8-4a2b-8398-b83f9f7dd35e))
(pin "50" (uuid e3dfdfc5-4599-4446-9de3-40faeb87fafa))
(pin "51" (uuid 2d32d9a4-8d3a-4b1c-abd8-91d9435e46cb))
(pin "52" (uuid b15e691d-a10e-4b9f-bed1-a3da82a509af))
(pin "53" (uuid c73fa51d-77d0-4afc-8e14-e9445d1e55ca))
(pin "54" (uuid 2f8e2829-b4f8-449e-941f-20a0b3f36969))
(pin "55" (uuid f5ea7c6d-c245-464b-ab80-d6ef305a67ac))
(pin "56" (uuid 8909c6ba-0ede-41e0-9764-19d2c8ef7ccd))
(pin "57" (uuid 74f6a550-23a2-460b-8cd2-5ba9fed1cdd1))
(pin "58" (uuid 39b84011-bdd9-4e62-9472-13f9cd29e3c3))
(pin "59" (uuid 274c1452-68e2-4560-94b7-9ed705d28d8a))
(pin "6" (uuid 94cbad59-ce86-4da5-8de9-a3469302ab1c))
(pin "60" (uuid f37a20a4-4475-4a58-aef4-b4af4f640593))
(pin "61" (uuid d5120e45-82f4-435e-afac-8781bccdd23f))
(pin "62" (uuid dc1db0f6-56da-4d4e-8255-8b3d06629ab9))
(pin "63" (uuid 2a15a56d-0f77-4771-a03a-e223865ec571))
(pin "64" (uuid c45fbfe5-c5ec-44b0-b46c-4904bb710300))
(pin "7" (uuid e8fb1b0a-1939-40c1-9c1c-77097b7b967c))
(pin "8" (uuid 84ec8481-91f3-4803-8184-4fd486b96b48))
(pin "9" (uuid b3f11dec-7799-40ed-b3d7-ffa52ecd7b25))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/95d69960-5749-4bf0-ba13-8cc427d1e8e9"
(reference "U20") (unit 1)
)
)
)
)
)

View File

@@ -1,209 +0,0 @@
(kicad_sch (version 20230121) (generator eeschema)
(uuid 905f6bf7-e310-4bc2-9b16-8f147c3ff395)
(paper "A4")
(lib_symbols
(symbol "Connector:10029449-111RLF" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "J" (at -5.08 29.21 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Value" "10029449-111RLF" (at -5.08 -38.1 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Footprint" "Connector_HDMI:AMPHENOL_10029449-111RLF" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "PARTREV" "Y" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "STANDARD" "Manufacturer Recommendations" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MAXIMUM_PACKAGE_HEIGHT" "6.18mm" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MANUFACTURER" "Amphenol" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(symbol "10029449-111RLF_0_0"
(rectangle (start -4.9099 -35.56) (end 5.2501 27.94)
(stroke (width 0.254) (type default))
(fill (type background))
)
(polyline
(pts
(xy -5.08 -34.29)
(xy -3.81 -35.56)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -3.81 27.94)
(xy -5.08 26.67)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(pin passive line (at -10.16 25.4 0) (length 5.08)
(name "1" (effects (font (size 1.016 1.016))))
(number "1" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 2.54 0) (length 5.08)
(name "10" (effects (font (size 1.016 1.016))))
(number "10" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 0 0) (length 5.08)
(name "11" (effects (font (size 1.016 1.016))))
(number "11" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -2.54 0) (length 5.08)
(name "12" (effects (font (size 1.016 1.016))))
(number "12" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -5.08 0) (length 5.08)
(name "13" (effects (font (size 1.016 1.016))))
(number "13" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -7.62 0) (length 5.08)
(name "14" (effects (font (size 1.016 1.016))))
(number "14" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -10.16 0) (length 5.08)
(name "15" (effects (font (size 1.016 1.016))))
(number "15" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -12.7 0) (length 5.08)
(name "16" (effects (font (size 1.016 1.016))))
(number "16" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -15.24 0) (length 5.08)
(name "17" (effects (font (size 1.016 1.016))))
(number "17" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -17.78 0) (length 5.08)
(name "18" (effects (font (size 1.016 1.016))))
(number "18" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -20.32 0) (length 5.08)
(name "19" (effects (font (size 1.016 1.016))))
(number "19" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 22.86 0) (length 5.08)
(name "2" (effects (font (size 1.016 1.016))))
(number "2" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 20.32 0) (length 5.08)
(name "3" (effects (font (size 1.016 1.016))))
(number "3" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 17.78 0) (length 5.08)
(name "4" (effects (font (size 1.016 1.016))))
(number "4" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 15.24 0) (length 5.08)
(name "5" (effects (font (size 1.016 1.016))))
(number "5" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 12.7 0) (length 5.08)
(name "6" (effects (font (size 1.016 1.016))))
(number "6" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 10.16 0) (length 5.08)
(name "7" (effects (font (size 1.016 1.016))))
(number "7" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 7.62 0) (length 5.08)
(name "8" (effects (font (size 1.016 1.016))))
(number "8" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 5.08 0) (length 5.08)
(name "9" (effects (font (size 1.016 1.016))))
(number "9" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -25.4 0) (length 5.08)
(name "SHIELD" (effects (font (size 1.016 1.016))))
(number "S1" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -27.94 0) (length 5.08)
(name "SHIELD__1" (effects (font (size 1.016 1.016))))
(number "S2" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -30.48 0) (length 5.08)
(name "SHIELD__2" (effects (font (size 1.016 1.016))))
(number "S3" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -10.16 -33.02 0) (length 5.08)
(name "SHIELD__3" (effects (font (size 1.016 1.016))))
(number "S4" (effects (font (size 1.016 1.016))))
)
)
)
)
(symbol (lib_id "Connector:10029449-111RLF") (at 147.32 81.28 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid f46d421e-9294-4334-b9b3-b35bf5739855)
(property "Reference" "J2" (at 153.67 83.82 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "10029449-111RLF" (at 153.67 86.36 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "Connector_HDMI:AMPHENOL_10029449-111RLF" (at 147.32 81.28 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Datasheet" "" (at 147.32 81.28 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "PARTREV" "Y" (at 147.32 81.28 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "STANDARD" "Manufacturer Recommendations" (at 147.32 81.28 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MAXIMUM_PACKAGE_HEIGHT" "6.18mm" (at 147.32 81.28 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MANUFACTURER" "Amphenol" (at 147.32 81.28 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(pin "1" (uuid 13693355-7a4e-446a-83ce-595e26211e5d))
(pin "10" (uuid 79c1c31c-3b0d-481e-b327-752833f31b6d))
(pin "11" (uuid 4a8705a1-adba-43aa-9100-a1c86232b585))
(pin "12" (uuid aa9efa5f-2500-4328-add2-2ea6f6a6ecbc))
(pin "13" (uuid d29f62a3-76a6-4e09-a5d1-3e6a306af532))
(pin "14" (uuid becb462a-73ea-4dd2-a773-5bd5d12ef5be))
(pin "15" (uuid 81d3a213-60b2-4a42-b8af-b91a805665df))
(pin "16" (uuid e07dac46-e3e4-4493-839c-087bc3c6932b))
(pin "17" (uuid 6782ab7f-28d8-40ce-8406-0deb1d8413e4))
(pin "18" (uuid 9cbe654b-7b44-4887-97f3-44230b3abd8c))
(pin "19" (uuid 68a61e76-081b-4b1e-a613-5ec8afc265e3))
(pin "2" (uuid 86eb4330-bf97-460e-9d14-f2ece84b474b))
(pin "3" (uuid d746f70d-2573-4ea4-8c61-ca04ef07b66e))
(pin "4" (uuid ab6c19e1-ca32-4789-bbd5-1dda4713b4d7))
(pin "5" (uuid 00ce98ce-af55-476a-a32d-b0bacbbf91b7))
(pin "6" (uuid cc8c492d-c6d8-4616-97b8-f49e85af39ac))
(pin "7" (uuid 2c7aab98-b340-42eb-ad25-34bae20e1f43))
(pin "8" (uuid 217d6568-4227-4690-ad53-4dc79cf24c20))
(pin "9" (uuid 744425ad-993d-4d18-8530-49e67d90d79c))
(pin "S1" (uuid 3cec898e-e203-4913-bb80-22ccc3290912))
(pin "S2" (uuid 7c4036d2-57f0-4822-a93a-8e64bd907331))
(pin "S3" (uuid 0e0c046a-d760-428d-9bb2-ab2ff81df472))
(pin "S4" (uuid 4c92f6a0-4495-4b8e-b362-338a99a3368f))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/d1b08bf9-d018-4d88-92a5-af0d22dce754"
(reference "J2") (unit 1)
)
)
)
)
)

File diff suppressed because it is too large Load Diff

View File

@@ -1,213 +0,0 @@
(sym_lib_table
(version 7)
(lib (name "4xxx")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/4xxx.kicad_sym")(options "")(descr ""))
(lib (name "4xxx_IEEE")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/4xxx_IEEE.kicad_sym")(options "")(descr ""))
(lib (name "74xGxx")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/74xGxx.kicad_sym")(options "")(descr ""))
(lib (name "74xx")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/74xx.kicad_sym")(options "")(descr ""))
(lib (name "74xx_IEEE")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/74xx_IEEE.kicad_sym")(options "")(descr ""))
(lib (name "Amplifier_Audio")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Amplifier_Audio.kicad_sym")(options "")(descr ""))
(lib (name "Amplifier_Buffer")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Amplifier_Buffer.kicad_sym")(options "")(descr ""))
(lib (name "Amplifier_Current")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Amplifier_Current.kicad_sym")(options "")(descr ""))
(lib (name "Amplifier_Difference")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Amplifier_Difference.kicad_sym")(options "")(descr ""))
(lib (name "Amplifier_Instrumentation")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Amplifier_Instrumentation.kicad_sym")(options "")(descr ""))
(lib (name "Amplifier_Operational")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Amplifier_Operational.kicad_sym")(options "")(descr ""))
(lib (name "Amplifier_Video")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Amplifier_Video.kicad_sym")(options "")(descr ""))
(lib (name "Analog")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Analog.kicad_sym")(options "")(descr ""))
(lib (name "Analog_ADC")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Analog_ADC.kicad_sym")(options "")(descr ""))
(lib (name "Analog_DAC")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Analog_DAC.kicad_sym")(options "")(descr ""))
(lib (name "Analog_Switch")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Analog_Switch.kicad_sym")(options "")(descr ""))
(lib (name "Antenna")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Antenna.kicad_sym")(options "")(descr ""))
(lib (name "arduino")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/arduino.kicad_sym")(options "")(descr ""))
(lib (name "Audio")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Audio.kicad_sym")(options "")(descr ""))
(lib (name "Battery_Management")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Battery_Management.kicad_sym")(options "")(descr ""))
(lib (name "Buffer")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Buffer.kicad_sym")(options "")(descr ""))
(lib (name "Comparator")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Comparator.kicad_sym")(options "")(descr ""))
(lib (name "Connector")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Connector.kicad_sym")(options "")(descr ""))
(lib (name "Connector_Generic")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Connector_Generic.kicad_sym")(options "")(descr ""))
(lib (name "Connector_Generic_MountingPin")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Connector_Generic_MountingPin.kicad_sym")(options "")(descr ""))
(lib (name "Connector_Generic_Shielded")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Connector_Generic_Shielded.kicad_sym")(options "")(descr ""))
(lib (name "Conn_Murata")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Conn_Murata.kicad_sym")(options "")(descr ""))
(lib (name "Converter_ACDC")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Converter_ACDC.kicad_sym")(options "")(descr ""))
(lib (name "Converter_DCDC")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Converter_DCDC.kicad_sym")(options "")(descr ""))
(lib (name "CPLD_Altera")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/CPLD_Altera.kicad_sym")(options "")(descr ""))
(lib (name "CPLD_Microchip")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/CPLD_Microchip.kicad_sym")(options "")(descr ""))
(lib (name "CPLD_Xilinx")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/CPLD_Xilinx.kicad_sym")(options "")(descr ""))
(lib (name "CPU")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/CPU.kicad_sym")(options "")(descr ""))
(lib (name "CPU_NXP_6800")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/CPU_NXP_6800.kicad_sym")(options "")(descr ""))
(lib (name "CPU_NXP_68000")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/CPU_NXP_68000.kicad_sym")(options "")(descr ""))
(lib (name "CPU_NXP_IMX")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/CPU_NXP_IMX.kicad_sym")(options "")(descr ""))
(lib (name "CPU_PowerPC")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/CPU_PowerPC.kicad_sym")(options "")(descr ""))
(lib (name "Device")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Device.kicad_sym")(options "")(descr ""))
(lib (name "Diode")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Diode.kicad_sym")(options "")(descr ""))
(lib (name "Diode_Bridge")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Diode_Bridge.kicad_sym")(options "")(descr ""))
(lib (name "Diode_Laser")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Diode_Laser.kicad_sym")(options "")(descr ""))
(lib (name "Display_Character")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Display_Character.kicad_sym")(options "")(descr ""))
(lib (name "Display_Graphic")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Display_Graphic.kicad_sym")(options "")(descr ""))
(lib (name "Driver_Display")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Driver_Display.kicad_sym")(options "")(descr ""))
(lib (name "Driver_FET")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Driver_FET.kicad_sym")(options "")(descr ""))
(lib (name "Driver_Haptic")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Driver_Haptic.kicad_sym")(options "")(descr ""))
(lib (name "Driver_LED")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Driver_LED.kicad_sym")(options "")(descr ""))
(lib (name "Driver_Motor")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Driver_Motor.kicad_sym")(options "")(descr ""))
(lib (name "Driver_Relay")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Driver_Relay.kicad_sym")(options "")(descr ""))
(lib (name "Driver_TEC")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Driver_TEC.kicad_sym")(options "")(descr ""))
(lib (name "DSP_AnalogDevices")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/DSP_AnalogDevices.kicad_sym")(options "")(descr ""))
(lib (name "DSP_Freescale")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/DSP_Freescale.kicad_sym")(options "")(descr ""))
(lib (name "DSP_Microchip_DSPIC33")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/DSP_Microchip_DSPIC33.kicad_sym")(options "")(descr ""))
(lib (name "DSP_Motorola")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/DSP_Motorola.kicad_sym")(options "")(descr ""))
(lib (name "DSP_Texas")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/DSP_Texas.kicad_sym")(options "")(descr ""))
(lib (name "Fiber_Optic")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Fiber_Optic.kicad_sym")(options "")(descr ""))
(lib (name "Filter")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Filter.kicad_sym")(options "")(descr ""))
(lib (name "FPGA_Lattice")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/FPGA_Lattice.kicad_sym")(options "")(descr ""))
(lib (name "FPGA_Microsemi")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/FPGA_Microsemi.kicad_sym")(options "")(descr ""))
(lib (name "FPGA_Xilinx")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/FPGA_Xilinx.kicad_sym")(options "")(descr ""))
(lib (name "FPGA_Xilinx_Artix7")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/FPGA_Xilinx_Artix7.kicad_sym")(options "")(descr ""))
(lib (name "FPGA_Xilinx_Kintex7")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/FPGA_Xilinx_Kintex7.kicad_sym")(options "")(descr ""))
(lib (name "FPGA_Xilinx_Spartan6")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/FPGA_Xilinx_Spartan6.kicad_sym")(options "")(descr ""))
(lib (name "FPGA_Xilinx_Virtex5")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/FPGA_Xilinx_Virtex5.kicad_sym")(options "")(descr ""))
(lib (name "FPGA_Xilinx_Virtex6")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/FPGA_Xilinx_Virtex6.kicad_sym")(options "")(descr ""))
(lib (name "FPGA_Xilinx_Virtex7")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/FPGA_Xilinx_Virtex7.kicad_sym")(options "")(descr ""))
(lib (name "GPU")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/GPU.kicad_sym")(options "")(descr ""))
(lib (name "Graphic")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Graphic.kicad_sym")(options "")(descr ""))
(lib (name "Header")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Header.kicad_sym")(options "")(descr ""))
(lib (name "IC")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/IC.kicad_sym")(options "")(descr ""))
(lib (name "Interface")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface.kicad_sym")(options "")(descr ""))
(lib (name "Interface_CAN_LIN")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface_CAN_LIN.kicad_sym")(options "")(descr ""))
(lib (name "Interface_CurrentLoop")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface_CurrentLoop.kicad_sym")(options "")(descr ""))
(lib (name "Interface_Ethernet")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface_Ethernet.kicad_sym")(options "")(descr ""))
(lib (name "Interface_Expansion")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface_Expansion.kicad_sym")(options "")(descr ""))
(lib (name "Interface_HDMI")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface_HDMI.kicad_sym")(options "")(descr ""))
(lib (name "Interface_HID")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface_HID.kicad_sym")(options "")(descr ""))
(lib (name "Interface_LineDriver")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface_LineDriver.kicad_sym")(options "")(descr ""))
(lib (name "Interface_Optical")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface_Optical.kicad_sym")(options "")(descr ""))
(lib (name "Interface_Telecom")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface_Telecom.kicad_sym")(options "")(descr ""))
(lib (name "Interface_UART")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface_UART.kicad_sym")(options "")(descr ""))
(lib (name "Interface_USB")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Interface_USB.kicad_sym")(options "")(descr ""))
(lib (name "Isolator")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Isolator.kicad_sym")(options "")(descr ""))
(lib (name "Isolator_Analog")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Isolator_Analog.kicad_sym")(options "")(descr ""))
(lib (name "Jumper")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Jumper.kicad_sym")(options "")(descr ""))
(lib (name "LED")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/LED.kicad_sym")(options "")(descr ""))
(lib (name "Logic_LevelTranslator")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Logic_LevelTranslator.kicad_sym")(options "")(descr ""))
(lib (name "Logic_Programmable")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Logic_Programmable.kicad_sym")(options "")(descr ""))
(lib (name "MCU_AnalogDevices")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_AnalogDevices.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Cypress")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Cypress.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Dialog")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Dialog.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Espressif")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Espressif.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Intel")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Intel.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_8051")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_8051.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_ATmega")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_ATmega.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_ATtiny")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_ATtiny.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_AVR")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_AVR.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_PIC10")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_PIC10.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_PIC12")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_PIC12.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_PIC16")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_PIC16.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_PIC18")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_PIC18.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_PIC24")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_PIC24.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_PIC32")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_PIC32.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_SAMA")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_SAMA.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_SAMD")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_SAMD.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_SAME")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_SAME.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_SAML")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_SAML.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Microchip_SAMV")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Microchip_SAMV.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Module")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Module.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Nordic")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Nordic.kicad_sym")(options "")(descr ""))
(lib (name "MCU_NXP_ColdFire")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_NXP_ColdFire.kicad_sym")(options "")(descr ""))
(lib (name "MCU_NXP_HC11")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_NXP_HC11.kicad_sym")(options "")(descr ""))
(lib (name "MCU_NXP_HC12")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_NXP_HC12.kicad_sym")(options "")(descr ""))
(lib (name "MCU_NXP_HCS12")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_NXP_HCS12.kicad_sym")(options "")(descr ""))
(lib (name "MCU_NXP_Kinetis")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_NXP_Kinetis.kicad_sym")(options "")(descr ""))
(lib (name "MCU_NXP_LPC")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_NXP_LPC.kicad_sym")(options "")(descr ""))
(lib (name "MCU_NXP_MAC7100")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_NXP_MAC7100.kicad_sym")(options "")(descr ""))
(lib (name "MCU_NXP_MCore")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_NXP_MCore.kicad_sym")(options "")(descr ""))
(lib (name "MCU_NXP_NTAG")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_NXP_NTAG.kicad_sym")(options "")(descr ""))
(lib (name "MCU_NXP_S08")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_NXP_S08.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Parallax")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Parallax.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Renesas_Synergy_S1")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Renesas_Synergy_S1.kicad_sym")(options "")(descr ""))
(lib (name "MCU_SiFive")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_SiFive.kicad_sym")(options "")(descr ""))
(lib (name "MCU_SiliconLabs")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_SiliconLabs.kicad_sym")(options "")(descr ""))
(lib (name "MCU_STC")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_STC.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM8")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM8.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32F0")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32F0.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32F1")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32F1.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32F2")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32F2.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32F3")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32F3.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32F4")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32F4.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32F7")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32F7.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32G0")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32G0.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32H7")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32H7.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32L0")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32L0.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32L1")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32L1.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32L4")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32L4.kicad_sym")(options "")(descr ""))
(lib (name "MCU_ST_STM32L4+")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_ST_STM32L4+.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Texas")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Texas.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Texas_MSP430")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Texas_MSP430.kicad_sym")(options "")(descr ""))
(lib (name "MCU_Texas_SimpleLink")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/MCU_Texas_SimpleLink.kicad_sym")(options "")(descr ""))
(lib (name "Mechanical")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Mechanical.kicad_sym")(options "")(descr ""))
(lib (name "Memory_EEPROM")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Memory_EEPROM.kicad_sym")(options "")(descr ""))
(lib (name "Memory_EPROM")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Memory_EPROM.kicad_sym")(options "")(descr ""))
(lib (name "Memory_Flash")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Memory_Flash.kicad_sym")(options "")(descr ""))
(lib (name "Memory_NVRAM")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Memory_NVRAM.kicad_sym")(options "")(descr ""))
(lib (name "Memory_RAM")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Memory_RAM.kicad_sym")(options "")(descr ""))
(lib (name "Memory_ROM")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Memory_ROM.kicad_sym")(options "")(descr ""))
(lib (name "Memory_UniqueID")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Memory_UniqueID.kicad_sym")(options "")(descr ""))
(lib (name "Motor")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Motor.kicad_sym")(options "")(descr ""))
(lib (name "Oscillator")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Oscillator.kicad_sym")(options "")(descr ""))
(lib (name "Potentiometer_Digital")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Potentiometer_Digital.kicad_sym")(options "")(descr ""))
(lib (name "power")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/power.kicad_sym")(options "")(descr ""))
(lib (name "Power_Management")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Power_Management.kicad_sym")(options "")(descr ""))
(lib (name "Power_Protection")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Power_Protection.kicad_sym")(options "")(descr ""))
(lib (name "Power_Supervisor")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Power_Supervisor.kicad_sym")(options "")(descr ""))
(lib (name "pspice")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/pspice.kicad_sym")(options "")(descr ""))
(lib (name "Reference_Current")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Reference_Current.kicad_sym")(options "")(descr ""))
(lib (name "Reference_Voltage")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Reference_Voltage.kicad_sym")(options "")(descr ""))
(lib (name "Regulator_Controller")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Regulator_Controller.kicad_sym")(options "")(descr ""))
(lib (name "Regulator_Current")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Regulator_Current.kicad_sym")(options "")(descr ""))
(lib (name "Regulator_Linear")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Regulator_Linear.kicad_sym")(options "")(descr ""))
(lib (name "Regulator_SwitchedCapacitor")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Regulator_SwitchedCapacitor.kicad_sym")(options "")(descr ""))
(lib (name "Regulator_Switching")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Regulator_Switching.kicad_sym")(options "")(descr ""))
(lib (name "Relay")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Relay.kicad_sym")(options "")(descr ""))
(lib (name "Relay_SolidState")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Relay_SolidState.kicad_sym")(options "")(descr ""))
(lib (name "RF")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF.kicad_sym")(options "")(descr ""))
(lib (name "RF_AM_FM")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_AM_FM.kicad_sym")(options "")(descr ""))
(lib (name "RF_Amplifier")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_Amplifier.kicad_sym")(options "")(descr ""))
(lib (name "RF_Bluetooth")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_Bluetooth.kicad_sym")(options "")(descr ""))
(lib (name "RF_Filter")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_Filter.kicad_sym")(options "")(descr ""))
(lib (name "RF_GPS")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_GPS.kicad_sym")(options "")(descr ""))
(lib (name "RF_GSM")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_GSM.kicad_sym")(options "")(descr ""))
(lib (name "RF_Mixer")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_Mixer.kicad_sym")(options "")(descr ""))
(lib (name "RF_Module")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_Module.kicad_sym")(options "")(descr ""))
(lib (name "RF_NFC")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_NFC.kicad_sym")(options "")(descr ""))
(lib (name "RF_RFID")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_RFID.kicad_sym")(options "")(descr ""))
(lib (name "RF_Switch")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_Switch.kicad_sym")(options "")(descr ""))
(lib (name "RF_WiFi")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_WiFi.kicad_sym")(options "")(descr ""))
(lib (name "RF_ZigBee")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/RF_ZigBee.kicad_sym")(options "")(descr ""))
(lib (name "Security")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Security.kicad_sym")(options "")(descr ""))
(lib (name "Sensor")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Audio")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Audio.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Current")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Current.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Distance")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Distance.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Gas")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Gas.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Humidity")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Humidity.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Magnetic")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Magnetic.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Motion")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Motion.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Optical")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Optical.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Pressure")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Pressure.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Proximity")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Proximity.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Temperature")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Temperature.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Touch")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Touch.kicad_sym")(options "")(descr ""))
(lib (name "Sensor_Voltage")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Sensor_Voltage.kicad_sym")(options "")(descr ""))
(lib (name "Simulation_SPICE")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Simulation_SPICE.kicad_sym")(options "")(descr ""))
(lib (name "ST")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/ST.kicad_sym")(options "")(descr ""))
(lib (name "Switch")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Switch.kicad_sym")(options "")(descr ""))
(lib (name "Timer")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Timer.kicad_sym")(options "")(descr ""))
(lib (name "Timer_PLL")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Timer_PLL.kicad_sym")(options "")(descr ""))
(lib (name "Timer_RTC")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Timer_RTC.kicad_sym")(options "")(descr ""))
(lib (name "Transformer")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Transformer.kicad_sym")(options "")(descr ""))
(lib (name "Transistor_Array")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Transistor_Array.kicad_sym")(options "")(descr ""))
(lib (name "Transistor_BJT")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Transistor_BJT.kicad_sym")(options "")(descr ""))
(lib (name "Transistor_FET")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Transistor_FET.kicad_sym")(options "")(descr ""))
(lib (name "Transistor_IGBT")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Transistor_IGBT.kicad_sym")(options "")(descr ""))
(lib (name "Transistor_Power_Module")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Transistor_Power_Module.kicad_sym")(options "")(descr ""))
(lib (name "Triac_Thyristor")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Triac_Thyristor.kicad_sym")(options "")(descr ""))
(lib (name "Valve")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Valve.kicad_sym")(options "")(descr ""))
(lib (name "Video")(type "KiCad")(uri "${KICAD7_SYMBOL_DIR}/Video.kicad_sym")(options "")(descr ""))
)

View File

@@ -1,652 +0,0 @@
(kicad_sch (version 20230121) (generator eeschema)
(uuid acdb3d40-2f26-4da0-b24a-cd377a6c5a7e)
(paper "A4")
(lib_symbols
(symbol "Connector:USB_A_Stacked" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "J" (at 0 15.875 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "USB_A_Stacked" (at 0 13.97 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 3.81 -13.97 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "Datasheet" " ~" (at 5.08 1.27 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "connector USB" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "USB Type A connector, stacked" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "USB*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "USB_A_Stacked_0_1"
(rectangle (start -7.62 12.7) (end 7.62 -12.7)
(stroke (width 0.254) (type default))
(fill (type background))
)
(circle (center -2.159 1.905) (radius 0.381)
(stroke (width 0.254) (type default))
(fill (type outline))
)
(circle (center -0.889 -1.27) (radius 0.635)
(stroke (width 0.254) (type default))
(fill (type outline))
)
(rectangle (start -0.254 7.366) (end -3.048 7.874)
(stroke (width 0) (type default))
(fill (type outline))
)
(rectangle (start -0.254 9.906) (end -3.048 10.414)
(stroke (width 0) (type default))
(fill (type outline))
)
(rectangle (start -0.127 -12.7) (end 0.127 -11.938)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -1.524 3.175)
(xy -0.254 3.175)
(xy -0.889 4.445)
(xy -1.524 3.175)
)
(stroke (width 0.254) (type default))
(fill (type outline))
)
(polyline
(pts
(xy -0.889 -0.635)
(xy -0.889 0)
(xy -2.159 1.27)
(xy -2.159 1.905)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.889 0)
(xy -0.889 0.635)
(xy 0.381 1.27)
(xy 0.381 2.54)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(rectangle (start 0 2.794) (end 0.762 2.032)
(stroke (width 0.254) (type default))
(fill (type outline))
)
(rectangle (start 0 7.112) (end -3.302 8.382)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start 0 9.652) (end -3.302 10.922)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start 2.413 -12.7) (end 2.667 -11.938)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start 7.62 -5.207) (end 6.858 -4.953)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start 7.62 -2.667) (end 6.858 -2.413)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start 7.62 -0.127) (end 6.858 0.127)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start 7.62 2.413) (end 6.858 2.667)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start 7.62 7.493) (end 6.858 7.747)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start 7.62 10.033) (end 6.858 10.287)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "USB_A_Stacked_1_1"
(polyline
(pts
(xy -0.889 0.635)
(xy -0.889 3.175)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(pin power_in line (at 10.16 10.16 180) (length 2.54)
(name "VBUS1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 10.16 0 180) (length 2.54)
(name "D1-" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 10.16 2.54 180) (length 2.54)
(name "D1+" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 0 -15.24 90) (length 2.54)
(name "GND1" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 10.16 7.62 180) (length 2.54)
(name "VBUS2" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 10.16 -5.08 180) (length 2.54)
(name "D2-" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 10.16 -2.54 180) (length 2.54)
(name "D2+" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 2.54 -15.24 90) (length 2.54)
(name "GND2" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -2.54 -15.24 90) (length 2.54)
(name "Shield" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "IC:MAX3421E" (in_bom yes) (on_board yes)
(property "Reference" "U" (at -8.89 26.67 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "MAX3421E" (at 6.35 26.67 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Package_QFP:LQFP-32_5x5mm_P0.5mm" (at 1.27 26.67 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 1.27 26.67 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "MAX3421E_0_1"
(rectangle (start -10.16 25.4) (end 11.43 -27.94)
(stroke (width 0) (type default))
(fill (type background))
)
)
(symbol "MAX3421E_1_1"
(pin input line (at 16.51 -3.81 180) (length 5.08)
(name "GPIN7" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin output line (at 16.51 -22.86 180) (length 5.08)
(name "GPOUT6" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin output line (at 16.51 -25.4 180) (length 5.08)
(name "GPOUT7" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin input line (at -15.24 10.16 0) (length 5.08)
(name "~{RES}" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin input line (at -15.24 -11.43 0) (length 5.08)
(name "SCLK" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin input line (at -15.24 -13.97 0) (length 5.08)
(name "~{SS}" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin output line (at -15.24 -16.51 0) (length 5.08)
(name "MISO" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin input line (at -15.24 -19.05 0) (length 5.08)
(name "MOSI" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27))))
(alternate "MISO/MOSI" bidirectional line)
)
(pin output line (at 16.51 19.05 180) (length 5.08)
(name "GPX" (effects (font (size 1.27 1.27))))
(number "17" (effects (font (size 1.27 1.27))))
)
(pin output line (at 16.51 22.86 180) (length 5.08)
(name "INT" (effects (font (size 1.27 1.27))))
(number "18" (effects (font (size 1.27 1.27))))
)
(pin input line (at -15.24 -22.86 0) (length 5.08)
(name "GND" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27))))
)
(pin input line (at -15.24 17.78 0) (length 5.08)
(name "VL" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -15.24 -2.54 0) (length 5.08)
(name "D-" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -15.24 -5.08 0) (length 5.08)
(name "D+" (effects (font (size 1.27 1.27))))
(number "21" (effects (font (size 1.27 1.27))))
)
(pin input line (at -15.24 15.24 0) (length 5.08)
(name "VBCOMP" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -15.24 22.86 0) (length 5.08)
(name "VCC" (effects (font (size 1.27 1.27))))
(number "23" (effects (font (size 1.27 1.27))))
)
(pin input line (at -15.24 5.08 0) (length 5.08)
(name "XI" (effects (font (size 1.27 1.27))))
(number "24" (effects (font (size 1.27 1.27))))
)
(pin output line (at -15.24 2.54 0) (length 5.08)
(name "XO" (effects (font (size 1.27 1.27))))
(number "25" (effects (font (size 1.27 1.27))))
)
(pin input line (at 16.51 13.97 180) (length 5.08)
(name "GPIN0" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27))))
)
(pin input line (at 16.51 11.43 180) (length 5.08)
(name "GPIN1" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27))))
)
(pin input line (at 16.51 8.89 180) (length 5.08)
(name "GPIN2" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27))))
)
(pin input line (at 16.51 6.35 180) (length 5.08)
(name "GPIN3" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27))))
)
(pin input line (at -15.24 -25.4 0) (length 5.08)
(name "GND" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin input line (at 16.51 3.81 180) (length 5.08)
(name "GPIN4" (effects (font (size 1.27 1.27))))
(number "30" (effects (font (size 1.27 1.27))))
)
(pin input line (at 16.51 1.27 180) (length 5.08)
(name "GPIN5" (effects (font (size 1.27 1.27))))
(number "31" (effects (font (size 1.27 1.27))))
)
(pin input line (at 16.51 -1.27 180) (length 5.08)
(name "GPIN6" (effects (font (size 1.27 1.27))))
(number "32" (effects (font (size 1.27 1.27))))
)
(pin output line (at 16.51 -7.62 180) (length 5.08)
(name "GPOUT0" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin output line (at 16.51 -10.16 180) (length 5.08)
(name "GPOUT1" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin output line (at 16.51 -12.7 180) (length 5.08)
(name "GPOUT2" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin output line (at 16.51 -15.24 180) (length 5.08)
(name "GPOUT3" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin output line (at 16.51 -17.78 180) (length 5.08)
(name "GPOUT4" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin output line (at 16.51 -20.32 180) (length 5.08)
(name "GPOUT5" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "IC:TUSB2046BVFR" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "U" (at -17.78 34.02 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Value" "TUSB2046BVFR" (at -17.78 -42.1 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
)
(property "Footprint" "Package_QFP:QFP80P900X900X160-32N" (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "TUSB2046BVFR_0_0"
(rectangle (start -17.78 -38.1) (end 17.78 33.02)
(stroke (width 0.41) (type default))
(fill (type background))
)
(pin bidirectional line (at -22.86 -10.16 0) (length 5.08)
(name "DP0" (effects (font (size 1.016 1.016))))
(number "1" (effects (font (size 1.016 1.016))))
)
(pin input line (at -22.86 22.86 0) (length 5.08)
(name "~{OVRCUR1}" (effects (font (size 1.016 1.016))))
(number "10" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -22.86 -2.54 0) (length 5.08)
(name "DM1" (effects (font (size 1.016 1.016))))
(number "11" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -22.86 -12.7 0) (length 5.08)
(name "DP1" (effects (font (size 1.016 1.016))))
(number "12" (effects (font (size 1.016 1.016))))
)
(pin output line (at 22.86 20.32 180) (length 5.08)
(name "~{PWRON2}" (effects (font (size 1.016 1.016))))
(number "13" (effects (font (size 1.016 1.016))))
)
(pin input line (at -22.86 20.32 0) (length 5.08)
(name "~{OVRCUR2}" (effects (font (size 1.016 1.016))))
(number "14" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at 22.86 -2.54 180) (length 5.08)
(name "DM2" (effects (font (size 1.016 1.016))))
(number "15" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at 22.86 -12.7 180) (length 5.08)
(name "DP2" (effects (font (size 1.016 1.016))))
(number "16" (effects (font (size 1.016 1.016))))
)
(pin output line (at 22.86 17.78 180) (length 5.08)
(name "~{PWRON3}" (effects (font (size 1.016 1.016))))
(number "17" (effects (font (size 1.016 1.016))))
)
(pin input line (at -22.86 17.78 0) (length 5.08)
(name "~{OVRCUR3}" (effects (font (size 1.016 1.016))))
(number "18" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at 22.86 -5.08 180) (length 5.08)
(name "DM3" (effects (font (size 1.016 1.016))))
(number "19" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -22.86 0 0) (length 5.08)
(name "DM0" (effects (font (size 1.016 1.016))))
(number "2" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at 22.86 -15.24 180) (length 5.08)
(name "DP3" (effects (font (size 1.016 1.016))))
(number "20" (effects (font (size 1.016 1.016))))
)
(pin output line (at 22.86 15.24 180) (length 5.08)
(name "~{PWRON4}" (effects (font (size 1.016 1.016))))
(number "21" (effects (font (size 1.016 1.016))))
)
(pin input line (at -22.86 15.24 0) (length 5.08)
(name "~{OVRCUR4}" (effects (font (size 1.016 1.016))))
(number "22" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at 22.86 -7.62 180) (length 5.08)
(name "DM4" (effects (font (size 1.016 1.016))))
(number "23" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at 22.86 -17.78 180) (length 5.08)
(name "DP4" (effects (font (size 1.016 1.016))))
(number "24" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at 22.86 27.94 180) (length 5.08)
(name "VCC__1" (effects (font (size 1.016 1.016))))
(number "25" (effects (font (size 1.016 1.016))))
)
(pin input line (at -22.86 25.4 0) (length 5.08)
(name "~{EXTMEM}" (effects (font (size 1.016 1.016))))
(number "26" (effects (font (size 1.016 1.016))))
)
(pin bidirectional clock (at -22.86 -25.4 0) (length 5.08)
(name "TSTPLL/48MCLK" (effects (font (size 1.016 1.016))))
(number "27" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at 22.86 -33.02 180) (length 5.08)
(name "GND__1" (effects (font (size 1.016 1.016))))
(number "28" (effects (font (size 1.016 1.016))))
)
(pin output line (at 22.86 7.62 180) (length 5.08)
(name "XTAL2" (effects (font (size 1.016 1.016))))
(number "29" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at 22.86 30.48 180) (length 5.08)
(name "VCC" (effects (font (size 1.016 1.016))))
(number "3" (effects (font (size 1.016 1.016))))
)
(pin input line (at -22.86 5.08 0) (length 5.08)
(name "XTAL1" (effects (font (size 1.016 1.016))))
(number "30" (effects (font (size 1.016 1.016))))
)
(pin input line (at -22.86 7.62 0) (length 5.08)
(name "TSTMODE" (effects (font (size 1.016 1.016))))
(number "31" (effects (font (size 1.016 1.016))))
)
(pin output line (at 22.86 10.16 180) (length 5.08)
(name "SUSPND" (effects (font (size 1.016 1.016))))
(number "32" (effects (font (size 1.016 1.016))))
)
(pin input line (at -22.86 12.7 0) (length 5.08)
(name "~{RESET}" (effects (font (size 1.016 1.016))))
(number "4" (effects (font (size 1.016 1.016))))
)
(pin output clock (at 22.86 12.7 180) (length 5.08)
(name "EECLK" (effects (font (size 1.016 1.016))))
(number "5" (effects (font (size 1.016 1.016))))
)
(pin bidirectional line (at -22.86 -20.32 0) (length 5.08)
(name "EEDATA/GANGED" (effects (font (size 1.016 1.016))))
(number "6" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at 22.86 -30.48 180) (length 5.08)
(name "GND" (effects (font (size 1.016 1.016))))
(number "7" (effects (font (size 1.016 1.016))))
)
(pin input line (at -22.86 10.16 0) (length 5.08)
(name "BUSPWR" (effects (font (size 1.016 1.016))))
(number "8" (effects (font (size 1.016 1.016))))
)
(pin output line (at 22.86 22.86 180) (length 5.08)
(name "~{PWRON1}" (effects (font (size 1.016 1.016))))
(number "9" (effects (font (size 1.016 1.016))))
)
)
)
)
(symbol (lib_id "IC:TUSB2046BVFR") (at 83.82 100.33 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 6a322a84-024e-46e4-a7d9-cc60be36fc15)
(property "Reference" "U19" (at 83.82 62.23 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "TUSB2046BVFR" (at 83.82 64.77 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Package_QFP:QFP80P900X900X160-32N" (at 83.82 100.33 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Datasheet" "" (at 83.82 100.33 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 03c008c5-9656-4de0-bdd4-7e7284fd7253))
(pin "10" (uuid ce0cdd39-197b-47fa-94b6-074fc43f6b1c))
(pin "11" (uuid 296642b4-2fab-4a96-b147-5c59975faf0a))
(pin "12" (uuid 086883bf-cf45-4cd5-92dd-cec3784436db))
(pin "13" (uuid 9a4b66c0-6c74-4330-83f9-6f205da57309))
(pin "14" (uuid 67f0e5a1-cc39-4b41-851d-028b536e3c19))
(pin "15" (uuid c3dcdf77-8f58-4811-a101-5a556017c668))
(pin "16" (uuid fd7e0f02-214d-493e-b359-e72d2a7cdef7))
(pin "17" (uuid 20a82339-15bb-4bbe-8f9e-2b0c2de9cc44))
(pin "18" (uuid 86e4afe7-848d-4b8a-b6bd-b440f0ec9638))
(pin "19" (uuid 9caeb1ec-857f-4b0e-b3bf-29367b3c90ab))
(pin "2" (uuid 0653c700-0239-459c-9e54-ce222196a2e5))
(pin "20" (uuid 934d2f3a-40ce-47fe-9b86-84efa2b6dd09))
(pin "21" (uuid 5d13664d-a5bc-4847-b43e-ac4b891ac50d))
(pin "22" (uuid 4d645760-1269-47de-a5ea-8ff3a47322fd))
(pin "23" (uuid 0034a2c7-6d15-4389-a4b6-05372c280a14))
(pin "24" (uuid 634ead57-2d0c-4e1e-bb5f-c93df8dec77d))
(pin "25" (uuid 7569734d-c148-4920-836a-d1740cfbbb46))
(pin "26" (uuid 71bb7b0d-7e00-41ea-a4a3-ef4155a1fb5c))
(pin "27" (uuid f94bc617-d093-412c-9d4f-fb9111c752ab))
(pin "28" (uuid fba8b618-7119-4aad-86a1-6f9c7830fcc7))
(pin "29" (uuid 62cef5eb-14d0-4d29-9c21-94171092f03f))
(pin "3" (uuid de143f7f-6951-4ead-acce-5b4008ab72a0))
(pin "30" (uuid 3dcf91f3-a867-454a-9a19-7ae43d015f10))
(pin "31" (uuid 9c8d1003-3244-4972-8196-5669c74593f6))
(pin "32" (uuid 0e639067-a4ea-490d-9ebd-c6e7a8e9797c))
(pin "4" (uuid 6fecfd07-e5b5-4ac6-9bca-39825833f032))
(pin "5" (uuid 2fa5ee55-0807-4c27-b8e3-b84b4ba5c270))
(pin "6" (uuid d30dd4aa-26eb-4209-88b8-aa17df4c7219))
(pin "7" (uuid a3c46632-e937-483b-a9e2-741c09c401ab))
(pin "8" (uuid 5dcfa52b-2696-4af4-8ccf-b3bae3a21005))
(pin "9" (uuid a40e1fc1-6cd7-42ff-84c3-88c0d87d8cd6))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/608a5705-96be-4a71-b2b6-c4625a5aee39"
(reference "U19") (unit 1)
)
)
)
)
(symbol (lib_id "IC:MAX3421E") (at 162.56 82.55 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 7e62afdf-c71a-4a81-b44e-4270c1f04016)
(property "Reference" "U18" (at 163.195 52.07 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "MAX3421E" (at 163.195 54.61 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Package_QFP:LQFP-32_5x5mm_P0.5mm" (at 163.83 55.88 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (at 163.83 55.88 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 1c314343-f2a7-4854-aebf-f7b4184c9efa))
(pin "10" (uuid 92f079be-162a-4359-9e48-e158edbcc593))
(pin "11" (uuid 18b29785-0c66-4991-bdc4-3d5c256aee55))
(pin "12" (uuid 85856313-8006-4116-be27-5386d8271e74))
(pin "13" (uuid a7494ddf-d73b-439a-a000-4aa401140bbb))
(pin "14" (uuid 4f4ed625-d609-413b-85f7-3095caa765b8))
(pin "15" (uuid a90ac77b-82ee-415a-858b-460f690064f1))
(pin "16" (uuid ca13fca6-a693-4099-896b-ebb2aa4066d8))
(pin "17" (uuid c5b73520-a5b5-4a24-90ab-947f777d831c))
(pin "18" (uuid eb2b8fa0-1228-4643-a6bf-8b0c103341a4))
(pin "19" (uuid 80219b7e-241d-455b-bec5-28ed1ed517b7))
(pin "2" (uuid 2b77d278-65e2-4faf-8789-6a815fc5afc5))
(pin "20" (uuid 4e041687-7ecc-4c24-a8d2-18eacccf0584))
(pin "21" (uuid 380f89e5-d467-4418-a8fe-14b16c7de821))
(pin "22" (uuid bffc711f-a746-4cb6-998b-202b124110ce))
(pin "23" (uuid 0d23463b-7e3a-461e-ba8b-0e6a402639f9))
(pin "24" (uuid ed97d553-6d38-406c-9a2f-3257586cbb21))
(pin "25" (uuid e42446cb-2ab4-4fe4-bd48-46a2798822fd))
(pin "26" (uuid b261c640-eb4b-4668-805d-a60ce25a88a7))
(pin "27" (uuid 15735f8a-c0a8-4afc-b82e-ce82731ab786))
(pin "28" (uuid 16b5d47a-27bb-474d-ab32-42ea673788da))
(pin "29" (uuid 77b49df2-de69-4ded-87d1-19d3cb04cf07))
(pin "3" (uuid 03ce69b8-fdb2-412f-8c7c-f8a43a572717))
(pin "30" (uuid f6c8ae77-5e0f-4e77-991a-46497b3e9611))
(pin "31" (uuid e908f767-3591-4f37-9009-dec839c950e6))
(pin "32" (uuid 8b71288b-c6a0-4018-8d93-fe5b8f21b782))
(pin "4" (uuid 382d8005-92bc-4640-89ef-bb3b5c657a8b))
(pin "5" (uuid 743a1c4f-bdc0-4b34-bd73-d9044e758445))
(pin "6" (uuid 096942c2-2a36-40ed-9aca-e5ac704e18b8))
(pin "7" (uuid 518e9732-4f96-4d83-b62f-8e1076b922ce))
(pin "8" (uuid d332706a-2a68-45e8-85d0-aba3043e4398))
(pin "9" (uuid c21a86a0-9afc-4442-a401-3def52217955))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/608a5705-96be-4a71-b2b6-c4625a5aee39"
(reference "U18") (unit 1)
)
)
)
)
(symbol (lib_id "Connector:USB_A_Stacked") (at 36.83 88.9 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 83371247-4120-4e7b-86a2-d6d289cc6222)
(property "Reference" "J5" (at 36.83 71.12 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "USB_A_Stacked" (at 36.83 73.66 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Connector_USB:0672984091" (at 40.64 102.87 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "Datasheet" " ~" (at 41.91 87.63 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid af0b1a28-2eea-4d8e-982b-26a3422946de))
(pin "2" (uuid a37856ab-de3c-4375-a7c6-55f529f1c780))
(pin "3" (uuid 2145e89e-4204-4524-85cd-70885e911941))
(pin "4" (uuid 758de8ce-d51d-4329-b97a-f78aed0eb9e0))
(pin "5" (uuid 26be723a-23e7-47ad-bb39-ad6bc262374a))
(pin "6" (uuid 0b89c91f-af32-469d-bedd-a2de84772869))
(pin "7" (uuid 8f12fde8-1b17-43f4-9261-4cea8b7082f6))
(pin "8" (uuid 73c3d9bf-7c90-4a77-9022-443659a53f42))
(pin "9" (uuid 4d09268e-4e32-4466-a090-99e8c125534e))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/608a5705-96be-4a71-b2b6-c4625a5aee39"
(reference "J5") (unit 1)
)
)
)
)
(symbol (lib_id "Connector:USB_A_Stacked") (at 34.29 133.35 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 86eb4b0b-0107-4d3e-86c4-d8a84cb43ca6)
(property "Reference" "J6" (at 34.29 115.57 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "USB_A_Stacked" (at 34.29 118.11 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Connector_USB:0672984091" (at 38.1 147.32 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "Datasheet" " ~" (at 39.37 132.08 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 3ccd8a5f-5e87-4269-b3ab-6012f717961a))
(pin "2" (uuid 1f0e25a9-9c43-4942-a303-465711d66d8e))
(pin "3" (uuid d59b6397-ffcb-4179-a509-1c36fa382bb5))
(pin "4" (uuid cdcbe0d4-6d4f-4d15-a5a2-2ff4ce94d535))
(pin "5" (uuid 0c40f7f4-8f0a-48dc-a5cc-90ee3f16dc23))
(pin "6" (uuid 54fc2028-3cb0-4f14-8b65-ef4bc1eed20f))
(pin "7" (uuid 40bbfba6-02d4-443f-8e3c-ff0cb6f7d2ae))
(pin "8" (uuid 7967b251-fd08-4193-ac6b-5bdde4fc3308))
(pin "9" (uuid 820c9b0f-0943-4860-842b-e172ce2e9598))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/608a5705-96be-4a71-b2b6-c4625a5aee39"
(reference "J6") (unit 1)
)
)
)
)
)

View File

@@ -1,252 +0,0 @@
(kicad_sch (version 20230121) (generator eeschema)
(uuid 20c2dac6-665d-47b9-8f38-394264bd7022)
(paper "A4")
(lib_symbols
(symbol "Connector:DB15_Female_HighDensity_MountingHoles" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "J" (at 0 21.59 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "DB15_Female_HighDensity_MountingHoles" (at 0 19.05 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at -24.13 10.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" " ~" (at -24.13 10.16 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "connector db15 female D-SUB VGA" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "15-pin female D-SUB connector, High density (3 columns), Triple Row, Generic, VGA-connector, Mounting Hole" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "DSUB*Female*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "DB15_Female_HighDensity_MountingHoles_0_1"
(circle (center -1.905 -10.16) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center -1.905 -5.08) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center -1.905 0) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center -1.905 5.08) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center -1.905 10.16) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 0 -7.62) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 0 -2.54) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -3.175 7.62)
(xy -0.635 7.62)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.635 -7.62)
(xy -3.175 -7.62)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.635 -2.54)
(xy -3.175 -2.54)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.635 2.54)
(xy -3.175 2.54)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.635 12.7)
(xy -3.175 12.7)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -3.81 17.78)
(xy -3.81 -15.24)
(xy 3.81 -12.7)
(xy 3.81 15.24)
(xy -3.81 17.78)
)
(stroke (width 0.254) (type default))
(fill (type background))
)
(circle (center 0 2.54) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 0 7.62) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 0 12.7) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 1.905 -10.16) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 1.905 -5.08) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 1.905 0) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 1.905 5.08) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 1.905 10.16) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "DB15_Female_HighDensity_MountingHoles_1_1"
(pin passive line (at 0 -17.78 90) (length 3.81)
(name "~" (effects (font (size 1.27 1.27))))
(number "0" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 10.16 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 -7.62 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 10.16 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 5.08 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 0 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 -5.08 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 7.62 -10.16 180) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 5.08 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 0 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 -5.08 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 -10.16 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 12.7 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 7.62 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 2.54 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -7.62 -2.54 0) (length 5.08)
(name "~" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
)
(symbol (lib_id "Connector:DB15_Female_HighDensity_MountingHoles") (at 156.21 82.55 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
(uuid 1304e346-2941-4d1f-bdd3-806c52aa2045)
(property "Reference" "J1" (at 156.21 59.69 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "DB15_Female_HighDensity_MountingHoles" (at 156.21 62.23 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Connector_Dsub:ICD15S13E4GX00LF" (at 132.08 72.39 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" " ~" (at 132.08 72.39 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "0" (uuid e2b9a98f-66ef-487a-91f2-9c7f1e6b9816))
(pin "1" (uuid bc94d81a-ba1b-4704-80e3-80f5595df701))
(pin "10" (uuid 62e408d5-c0a4-4739-a8ac-1f0db4efd10a))
(pin "11" (uuid 9840b4a6-03a8-4585-84f5-8d049ab3a51b))
(pin "12" (uuid 9861a7cd-6de0-44c2-ab41-b0128c12923f))
(pin "13" (uuid e82ab32d-2e67-47d0-80a1-e14780b3e5d3))
(pin "14" (uuid 039c7bf7-b9cc-4c7f-b0b2-4126742452a4))
(pin "15" (uuid e1a6aaed-47d4-4168-be1e-689e5140de0a))
(pin "2" (uuid ff3f09d9-c8a3-4f11-9cd5-510264ef8042))
(pin "3" (uuid 54045338-cdbf-4ef5-9b83-74ebdfc5c142))
(pin "4" (uuid 9022b1a7-8de7-487f-b883-5f7d1572f23f))
(pin "5" (uuid 7460e9ba-2bb8-4295-9206-fd6a0a4b8277))
(pin "6" (uuid 1576a1cb-813e-44ac-9912-8e3b00cee980))
(pin "7" (uuid 88c73545-ccfc-444c-8728-272d83ec8b59))
(pin "8" (uuid d8103a3e-3c74-4235-bf2d-e463d7eaa965))
(pin "9" (uuid ae53f646-7695-4a5e-b70d-7b27abee899f))
(instances
(project "board"
(path "/0c7bd276-5f73-4ef8-a8a2-874fce123825/337f91b2-5935-41a8-adab-77c6de100854"
(reference "J1") (unit 1)
)
)
)
)
)

View File

@@ -1 +0,0 @@
*.pdf filter=lfs diff=lfs merge=lfs -text

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e1e06f953b011bdd458cf30f6afb7dee5cd8547d671602cf59be45a434a0917e
size 843580

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cbd8112e727787f12ac9a56538fb638cab1810ce9f6c329034f1173170c1d100
size 1022325

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3c872dfe3c93f88d08a30aac01e6832acf8a060f1738179fce09b053f3b0b0af
size 1101401

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1fd499b027ed818dff7e75fe07a6a551c2433f8263ace57e73beaaf2899b9a83
size 791359

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ece5bd62ce2f5171f7ac428e0b70088772291fa926fad605b283e306aa806189
size 5357226

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5eacff350f2ed6f4ff66fe565a4538127088410b8a2ca35e95e5aa518b9232ff
size 689911

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f3317d20873b105720df95443d648bfd14ccac3b7c07036348788f9127b9f13
size 410836

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ae38eab482ee9c435cbb2c9cac1a1f810f2c7655138b175602a7fc698c10d56f
size 618935

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b357f6195b914d46ac3675241f227a6913b39370fb8ef22c211c895d14d5f41
size 1163264

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b4ecf523e336be9438c76a3e395697929c30230e7435a3351db38868163c2a40
size 143309

Binary file not shown.

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f90206456653b4657c74279409e25fbd0defd41fda3de4c546d8e719f0f7c9a
size 1358059

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c649d6d72a16a827b1bf9c7fba287c8cf9db14f44473117a1d877f9b1bd286ff
size 100360

Binary file not shown.

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c933358bba727fa637e8c979200e45400ffcc107336ca56c71299c3da995b33
size 1206161

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:436111bce010e99d2e772828a89d042a40c8ab043a7daae5c898b4961878a003
size 260717

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c6a1e6bb734a6babedfb9291cbb85eb95e6a1943bd68082f8bede350165827b8
size 395528

Binary file not shown.

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bfa28290d22bac1f0b7ed18fd519a78a4c90c693a3960506a3689894d7ea9248
size 1051345

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e65ad4b550a003093f0a3db74720a46ef43a38bf95a493dd9618aa71389182e7
size 2301011

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:39afb82c5104579e8c2db4f4e758825c48cab1c4b06d4c61c62056470ff09e9e
size 201409

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:84a614203ae501ec09d5a1c25b8617909ded260a1d2429555227bd434f27da58
size 2385788

Binary file not shown.

View File

@@ -1,31 +0,0 @@
# For PCBs designed using KiCad: https://www.kicad.org/
# Format documentation: https://kicad.org/help/file-formats/
# Temporary files
*.000
*.bak
*.bck
*.kicad_pcb-bak
*.kicad_sch-bak
*-backups
*.kicad_prl
*.sch-bak
*~
_autosave-*
*.tmp
*-save.pro
*-save.kicad_pcb
fp-info-cache
# Netlist files (exported from Eeschema)
*.net
# Autorouter files (exported from Pcbnew)
*.dsn
*.ses
# Exported BOM files
*.xml
*.csv
gerbers*

File diff suppressed because it is too large Load Diff

View File

@@ -1,420 +0,0 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.15,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.6,
"width": 2.4
},
"silk_line_width": 0.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"use_height_for_length_calcs": true
},
"track_widths": [],
"via_dimensions": [],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "efinix_adapter.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"74bfc30e-6eb9-47c0-9164-e4166fb40ecb",
""
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +0,0 @@
work_*
.lock
outflow
*.vdb
*.log*
*.vcd
*.gtkw
*.vvp
*.mem

View File

@@ -1,21 +0,0 @@
PROJECT=super6502
BITSTREAM=outflow/$(PROJECT).bit
SRCS=$(shell find src/ -type f -name "*.sv")
all: $(BITSTREAM)
$(BITSTREAM): $(PROJECT).peri.xml $(SRCS)
efx_run.py $(PROJECT).xml
install: $(BITSTREAM)
efx_run.py $(PROJECT).xml --flow program --pgm_opts mode=jtag
install_spi: $(BITSTREAM)
efx_run.py $(PROJECT).xml --flow program --pgm_opts
clean:
rm -rf work_pnr
rm -rf work_syn
rm -rf work_pt
rm -rf outflow

View File

@@ -1,284 +0,0 @@
# Efinity Interface Designer SDC
# Version: 2022.1.226
# Date: 2022-12-21 23:10
# Copyright (C) 2017 - 2022 Efinix Inc. All rights reserved.
# Device: T20F256
# Project: super6502
# Timing Model: C4 (final)
# PLL Constraints
#################
create_clock -period 20.0000 clk_50
create_generated_clock -source clk_50 -multiply_by 4 i_sdrclk
create_generated_clock -source clk_50 -multiply_by 4 i_tACclk
create_generated_clock -source clk_50 -multiply_by 2 i_sysclk
create_generated_clock -source clk_50 -divide_by 25 clk_cpu
# create_clock -period 5.0000 i_sdrclk
# create_clock -period 5.0000 i_tACclk
# create_clock -period 10.0000 i_sysclk
# create_clock -period 500.0000 clk_cpu
# GPIO Constraints
####################
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {button_reset}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {button_reset}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[0]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[0]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[1]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[1]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[2]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[2]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[3]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[3]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[4]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[4]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[5]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[5]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[6]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[6]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[7]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[7]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[8]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[8]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[9]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[9]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[10]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[10]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[11]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[11]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[12]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[12]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[13]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[13]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[14]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[14]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_addr[15]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_addr[15]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_rwb}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_rwb}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_sync}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_sync}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {pll_in}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {pll_in}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_phi2}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_phi2}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_irqb}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_irqb}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_nmib}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_nmib}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_rdy}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_rdy}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_resb}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_resb}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {leds[0]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {leds[0]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {leds[1]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {leds[1]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {leds[2]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {leds[2]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {leds[3]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {leds[3]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {leds[4]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {leds[4]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {leds[5]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {leds[5]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {leds[6]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {leds[6]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {leds[7]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {leds[7]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[0]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[0]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[1]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[1]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[2]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[2]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[3]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[3]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[4]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[4]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[5]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[5]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[6]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[6]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[7]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[7]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[8]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[8]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[9]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[9]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[10]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[10]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[11]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[11]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_ADDR[12]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_ADDR[12]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_BA[0]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_BA[0]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_BA[1]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_BA[1]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_CK}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_CK}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_CKE}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_CKE}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DQM[0]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DQM[0]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DQM[1]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DQM[1]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_n_CAS}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_n_CAS}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_n_CS}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_n_CS}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_n_RAS}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_n_RAS}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_n_WE}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_n_WE}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_in[0]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_in[0]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_out[0]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_out[0]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_oe[0]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_oe[0]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_in[1]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_in[1]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_out[1]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_out[1]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_oe[1]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_oe[1]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_in[2]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_in[2]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_out[2]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_out[2]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_oe[2]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_oe[2]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_in[3]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_in[3]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_out[3]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_out[3]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_oe[3]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_oe[3]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_in[4]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_in[4]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_out[4]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_out[4]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_oe[4]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_oe[4]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_in[5]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_in[5]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_out[5]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_out[5]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_oe[5]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_oe[5]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_in[6]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_in[6]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_out[6]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_out[6]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_oe[6]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_oe[6]}]
# set_input_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_in[7]}]
# set_input_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_in[7]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_out[7]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_out[7]}]
# set_output_delay -clock <CLOCK> -max <MAX CALCULATION> [get_ports {cpu_data_oe[7]}]
# set_output_delay -clock <CLOCK> -min <MIN CALCULATION> [get_ports {cpu_data_oe[7]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[0]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[0]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[0]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[0]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[0]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[0]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[1]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[1]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[1]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[1]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[1]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[1]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[2]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[2]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[2]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[2]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[2]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[2]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[3]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[3]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[3]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[3]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[3]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[3]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[4]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[4]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[4]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[4]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[4]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[4]}]
set_input_delay -clock i_sdrclk -max 5.768 [get_ports {i_sdr_DATA[5]}]
set_input_delay -clock i_sdrclk -min 2.884 [get_ports {i_sdr_DATA[5]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[5]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[5]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[5]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[5]}]
set_input_delay -clock i_sdrclk -max 5.568 [get_ports {i_sdr_DATA[6]}]
set_input_delay -clock i_sdrclk -min 2.784 [get_ports {i_sdr_DATA[6]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[6]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[6]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[6]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[6]}]
set_input_delay -clock i_sdrclk -max 5.768 [get_ports {i_sdr_DATA[7]}]
set_input_delay -clock i_sdrclk -min 2.884 [get_ports {i_sdr_DATA[7]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[7]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[7]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[7]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[7]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[8]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[8]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[8]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[8]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[8]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[8]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[9]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[9]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[9]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[9]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[9]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[9]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[10]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[10]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[10]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[10]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[10]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[10]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[11]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[11]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[11]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[11]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[11]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[11]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[12]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[12]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[12]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[12]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[12]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[12]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[13]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[13]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[13]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[13]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[13]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[13]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[14]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[14]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[14]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[14]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[14]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[14]}]
set_input_delay -clock i_sdrclk -max 4.968 [get_ports {i_sdr_DATA[15]}]
set_input_delay -clock i_sdrclk -min 2.484 [get_ports {i_sdr_DATA[15]}]
set_output_delay -clock i_sdrclk -max -3.500 [get_ports {o_sdr_DATA[15]}]
set_output_delay -clock i_sdrclk -min -2.139 [get_ports {o_sdr_DATA[15]}]
set_output_delay -clock i_sdrclk -max -3.507 [get_ports {o_sdr_DATA_oe[15]}]
set_output_delay -clock i_sdrclk -min -2.143 [get_ports {o_sdr_DATA_oe[15]}]

View File

@@ -1,510 +0,0 @@
{
"debug_cores": [
{
"name": "la0",
"type": "la",
"uuid": "426fe3342997403e8dbac6dd07d86e1e",
"trigin_en": false,
"trigout_en": false,
"auto_inserted": true,
"capture_control": false,
"data_depth": 8192,
"input_pipeline": 1,
"probes": [
{
"name": "cpu_data_in",
"width": 8,
"probe_type": 1
},
{
"name": "cpu_rwb",
"width": 1,
"probe_type": 1
},
{
"name": "cpu_addr",
"width": 16,
"probe_type": 1
},
{
"name": "cpu_sync",
"width": 1,
"probe_type": 1
},
{
"name": "cpu_rdy",
"width": 1,
"probe_type": 1
},
{
"name": "w_sdram_addr",
"width": 25,
"probe_type": 1
}
]
}
],
"connections": [
{
"command": "add_ports",
"id": 1,
"args": {
"netlist": "super6502",
"ports": [
{
"name": "jtag_inst1_CAPTURE",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_DRCK",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_RESET",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_RUNTEST",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_SEL",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_SHIFT",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_TCK",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_TDI",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_TMS",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_UPDATE",
"dir": "in",
"width": 1
},
{
"name": "jtag_inst1_TDO",
"dir": "out",
"width": 1
}
]
}
},
{
"command": "instantiate",
"netlist": "edb_top",
"id": 2,
"instance": "edb_top_inst"
},
{
"command": "connect",
"id": 3,
"args": {
"instance": "edb_top_inst",
"ports": [
{
"name": "bscan_CAPTURE",
"net": "jtag_inst1_CAPTURE"
},
{
"name": "bscan_DRCK",
"net": "jtag_inst1_DRCK"
},
{
"name": "bscan_RESET",
"net": "jtag_inst1_RESET"
},
{
"name": "bscan_RUNTEST",
"net": "jtag_inst1_RUNTEST"
},
{
"name": "bscan_SEL",
"net": "jtag_inst1_SEL"
},
{
"name": "bscan_SHIFT",
"net": "jtag_inst1_SHIFT"
},
{
"name": "bscan_TCK",
"net": "jtag_inst1_TCK"
},
{
"name": "bscan_TDI",
"net": "jtag_inst1_TDI"
},
{
"name": "bscan_TMS",
"net": "jtag_inst1_TMS"
},
{
"name": "bscan_UPDATE",
"net": "jtag_inst1_UPDATE"
},
{
"name": "bscan_TDO",
"net": "jtag_inst1_TDO"
},
{
"name": "la0_clk",
"net": "clk_2",
"path": []
},
{
"name": "la0_probe0[0]",
"net": "cpu_data_in[0]",
"path": []
},
{
"name": "la0_probe0[1]",
"net": "cpu_data_in[1]",
"path": []
},
{
"name": "la0_probe0[2]",
"net": "cpu_data_in[2]",
"path": []
},
{
"name": "la0_probe0[3]",
"net": "cpu_data_in[3]",
"path": []
},
{
"name": "la0_probe0[4]",
"net": "cpu_data_in[4]",
"path": []
},
{
"name": "la0_probe0[5]",
"net": "cpu_data_in[5]",
"path": []
},
{
"name": "la0_probe0[6]",
"net": "cpu_data_in[6]",
"path": []
},
{
"name": "la0_probe0[7]",
"net": "cpu_data_in[7]",
"path": []
},
{
"name": "la0_probe1",
"net": "cpu_rwb",
"path": []
},
{
"name": "la0_probe2[0]",
"net": "cpu_addr[0]",
"path": []
},
{
"name": "la0_probe2[1]",
"net": "cpu_addr[1]",
"path": []
},
{
"name": "la0_probe2[2]",
"net": "cpu_addr[2]",
"path": []
},
{
"name": "la0_probe2[3]",
"net": "cpu_addr[3]",
"path": []
},
{
"name": "la0_probe2[4]",
"net": "cpu_addr[4]",
"path": []
},
{
"name": "la0_probe2[5]",
"net": "cpu_addr[5]",
"path": []
},
{
"name": "la0_probe2[6]",
"net": "cpu_addr[6]",
"path": []
},
{
"name": "la0_probe2[7]",
"net": "cpu_addr[7]",
"path": []
},
{
"name": "la0_probe2[8]",
"net": "cpu_addr[8]",
"path": []
},
{
"name": "la0_probe2[9]",
"net": "cpu_addr[9]",
"path": []
},
{
"name": "la0_probe2[10]",
"net": "cpu_addr[10]",
"path": []
},
{
"name": "la0_probe2[11]",
"net": "cpu_addr[11]",
"path": []
},
{
"name": "la0_probe2[12]",
"net": "cpu_addr[12]",
"path": []
},
{
"name": "la0_probe2[13]",
"net": "cpu_addr[13]",
"path": []
},
{
"name": "la0_probe2[14]",
"net": "cpu_addr[14]",
"path": []
},
{
"name": "la0_probe2[15]",
"net": "cpu_addr[15]",
"path": []
},
{
"name": "la0_probe3",
"net": "cpu_sync",
"path": []
},
{
"name": "la0_probe4",
"net": "cpu_rdy",
"path": []
},
{
"name": "la0_probe5[0]",
"net": "w_sdram_addr[0]",
"path": []
},
{
"name": "la0_probe5[1]",
"net": "w_sdram_addr[1]",
"path": []
},
{
"name": "la0_probe5[2]",
"net": "w_sdram_addr[2]",
"path": []
},
{
"name": "la0_probe5[3]",
"net": "w_sdram_addr[3]",
"path": []
},
{
"name": "la0_probe5[4]",
"net": "w_sdram_addr[4]",
"path": []
},
{
"name": "la0_probe5[5]",
"net": "w_sdram_addr[5]",
"path": []
},
{
"name": "la0_probe5[6]",
"net": "w_sdram_addr[6]",
"path": []
},
{
"name": "la0_probe5[7]",
"net": "w_sdram_addr[7]",
"path": []
},
{
"name": "la0_probe5[8]",
"net": "w_sdram_addr[8]",
"path": []
},
{
"name": "la0_probe5[9]",
"net": "w_sdram_addr[9]",
"path": []
},
{
"name": "la0_probe5[10]",
"net": "w_sdram_addr[10]",
"path": []
},
{
"name": "la0_probe5[11]",
"net": "w_sdram_addr[11]",
"path": []
},
{
"name": "la0_probe5[12]",
"net": "w_sdram_addr[12]",
"path": []
},
{
"name": "la0_probe5[13]",
"net": "w_sdram_addr[13]",
"path": []
},
{
"name": "la0_probe5[14]",
"net": "w_sdram_addr[14]",
"path": []
},
{
"name": "la0_probe5[15]",
"net": "w_sdram_addr[15]",
"path": []
},
{
"name": "la0_probe5[16]",
"net": "w_sdram_addr[16]",
"path": []
},
{
"name": "la0_probe5[17]",
"net": "w_sdram_addr[17]",
"path": []
},
{
"name": "la0_probe5[18]",
"net": "w_sdram_addr[18]",
"path": []
},
{
"name": "la0_probe5[19]",
"net": "w_sdram_addr[19]",
"path": []
},
{
"name": "la0_probe5[20]",
"net": "w_sdram_addr[20]",
"path": []
},
{
"name": "la0_probe5[21]",
"net": "w_sdram_addr[21]",
"path": []
},
{
"name": "la0_probe5[22]",
"net": "w_sdram_addr[22]",
"path": []
},
{
"name": "la0_probe5[23]",
"net": "w_sdram_addr[23]",
"path": []
},
{
"name": "la0_probe5[24]",
"net": "w_sdram_addr[24]",
"path": []
}
]
}
}
],
"vdbs": [
{
"file": "debug_top.post.vdb",
"instance": "edb_top_inst"
}
],
"session": {
"wizard": {
"data_depth": 8192,
"capture_control": false,
"selected_nets": [
{
"name": "cpu_data_in",
"width": 8,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [],
"net_idx_left": 7,
"net_idx_right": 0
},
{
"name": "cpu_rwb",
"width": 1,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": []
},
{
"name": "cpu_addr",
"width": 16,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [],
"net_idx_left": 15,
"net_idx_right": 0
},
{
"name": "cpu_sync",
"width": 1,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": []
},
{
"name": "cpu_rdy",
"width": 1,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": []
},
{
"name": "w_sdram_addr",
"width": 25,
"clk_domain": "clk_2",
"selected_probe_type": "DATA AND TRIGGER",
"child": [],
"path": [],
"net_idx_left": 24,
"net_idx_right": 0
}
],
"top_module": "super6502",
"db_checksum": "ba5fce12098a2c03e7bae2e9a172d1842464edfca8e284870b3519e987537970",
"src": "elaborate",
"jtag_user": "USER1",
"input_pipeline": 1
}
}
}

View File

@@ -1,390 +0,0 @@
// =============================================================================
// Generated by efx_ipmgr
// Version: 2023.1.150
// IP Version: 5.0
// =============================================================================
////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2013-2023 Efinix Inc. All rights reserved.
//
// This document contains proprietary information which is
// protected by copyright. All rights are reserved. This notice
// refers to original work by Efinix, Inc. which may be derivitive
// of other work distributed under license of the authors. In the
// case of derivative work, nothing in this notice overrides the
// original author's license agreement. Where applicable, the
// original license agreement is included in it's original
// unmodified form immediately below this header.
//
// WARRANTY DISCLAIMER.
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED AS IS AND
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
//
// LIMITATION OF LIABILITY.
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
// APPLY TO LICENSEE.
//
////////////////////////////////////////////////////////////////////////////////
`define IP_UUID _80fa5e3b79ce4c76a6cd48724ad5bdd2
`define IP_NAME_CONCAT(a,b) a``b
`define IP_MODULE_NAME(name) `IP_NAME_CONCAT(name,`IP_UUID)
module divider (
input [15:0] numer,
input [15:0] denom,
input clken,
input clk,
input reset,
output [15:0] quotient,
output [15:0] remain,
output rfd
);
`IP_MODULE_NAME(divider) #(
.NREPRESENTATION ("UNSIGNED"),
.WIDTHN (16),
.WIDTHD (16),
.DREPRESENTATION ("UNSIGNED"),
.PIPELINE (1'b0),
.LATENCY (16)
) u_divider(
.numer ( numer ),
.denom ( denom ),
.clken ( clken ),
.clk ( clk ),
.reset ( reset ),
.quotient ( quotient ),
.remain ( remain ),
.rfd ( rfd )
);
endmodule
`timescale 1ns / 1ps
module `IP_MODULE_NAME(divider) (
clk,
reset,
numer,
denom,
quotient,
remain,
rfd,
clken
);
parameter WIDTHN = 8;
parameter WIDTHD = 8;
parameter LATENCY = 8;
parameter PIPELINE = 1;
parameter NREPRESENTATION = "UNSIGNED";
parameter DREPRESENTATION = "UNSIGNED";
parameter ENABLE_OUTREG = 0;
input clk;
input reset;
input clken;
input [(WIDTHN-1):0] numer;
input [(WIDTHD-1):0] denom;
//output
output reg rfd;
output reg [(WIDTHN-1):0] quotient;
output reg [(WIDTHD-1):0] remain;
wire [WIDTHN-1:0] numer_temp;
wire [WIDTHD-1:0] denom_temp;
wire sign_numer;
wire sign_denom;
wire [(WIDTHN-1):0] quotient_copy;
wire [(WIDTHD-1):0] remain_copy;
reg sign_quotient[LATENCY:0];
genvar i, j;
// Main operation
generate begin
if(NREPRESENTATION == "SIGNED") begin
assign numer_temp = (numer[(WIDTHN-1)] == 1'b1) ? (~numer + 1) : numer;
assign sign_numer = (numer[(WIDTHN-1)] == 1'b1) ? 1'b1 : 1'b0;
end
else begin
assign numer_temp = numer;
assign sign_numer = 1'b0;
end
if(DREPRESENTATION == "SIGNED") begin
assign denom_temp = (denom[(WIDTHD-1)] == 1'b1) ? (~denom + 1) : denom;
assign sign_denom = (denom[(WIDTHD-1)] == 1'b1) ? 1'b1 : 1'b0;
end
else begin
assign denom_temp = denom;
assign sign_denom = 1'b0;
end
always @* begin
sign_quotient[0] = sign_numer ^ sign_denom;
end
for (i=0; i<LATENCY; i=i+1) begin
always @(posedge clk or posedge reset) begin
if (reset) begin
sign_quotient[i+1] <= 1'b0;
end
else if(clken) begin
sign_quotient[i+1] <= sign_quotient[i];
end
end
end
if (PIPELINE) begin : pipeline
wire [(WIDTHN+1):0] sub[WIDTHN-1:0];
reg [WIDTHN-1:0] quotient_temp[WIDTHN:0];
reg [WIDTHN-1:0] remain_temp[WIDTHN:0];
reg [WIDTHN-1:0] denom_copy[WIDTHN:0];
always @* begin
rfd = 1'b0; //for PIPELINE enable, rfd is not used
denom_copy[0] = denom_temp;
remain_temp[0] = {WIDTHN{1'b0}};
quotient_temp[0] = numer_temp;
end
for (i=0; i<WIDTHN; i=i+1) begin
assign sub[i] = {remain_temp[i][(WIDTHN-2):0], quotient_temp[i][(WIDTHN-1)]} - denom_copy[i];
if (i < LATENCY) begin
always @(posedge clk or posedge reset) begin
if (reset) begin
remain_temp[i+1] <= {WIDTHN{1'b0}};
quotient_temp[i+1] <= {WIDTHN{1'b0}};
denom_copy[i+1] <= {WIDTHN{1'b0}};
end
else if(clken) begin
denom_copy[i+1] <= denom_copy[i];
if (sub[i][(WIDTHN)] == 0) begin
remain_temp[i+1] <= sub[i][(WIDTHN-1):0];
quotient_temp[i+1] <= {quotient_temp[i][(WIDTHN-2):0], 1'b1};
end
else begin
remain_temp[i+1] <= {remain_temp[i][(WIDTHN-2):0], quotient_temp[i][(WIDTHN-1)]};
quotient_temp[i+1] <= {quotient_temp[i][(WIDTHN-2):0], 1'b0};
end
end
end
end
else begin
always @* begin
denom_copy[i+1] = denom_copy[i];
end
always @* begin
if (sub[i][(WIDTHN)] == 0) begin
remain_temp[i+1] = sub[i][(WIDTHN-1):0];
end
else begin
remain_temp[i+1] = {remain_temp[i][(WIDTHN-2):0], quotient_temp[i][(WIDTHN-1)]};
end
end
always @* begin
if (sub[i][(WIDTHN)] == 0) begin
quotient_temp[i+1] = {quotient_temp[i][(WIDTHN-2):0], 1'b1};
end
else begin
quotient_temp[i+1] = {quotient_temp[i][(WIDTHN-2):0], 1'b0};
end
end
end
end
if (NREPRESENTATION == "SIGNED" || DREPRESENTATION == "SIGNED") begin
assign quotient_copy = sign_quotient[LATENCY] ? (~quotient_temp[WIDTHN] + 1) : quotient_temp[WIDTHN];
end
else begin
assign quotient_copy = quotient_temp[WIDTHN];
end
assign remain_copy = remain_temp[WIDTHN];
end
else begin : non_pipeline
localparam COMBI_STAGE = WIDTHN - LATENCY;
wire [(WIDTHN-1):0] denom_sub;
reg [WIDTHN-1:0] denom_reg;
reg [(WIDTHN-1):0] quotient_reg;
reg [(WIDTHN-1):0] remain_reg;
wire [(WIDTHN+1):0] sub;
reg [(WIDTHN-1):0] quotient_combi[COMBI_STAGE:0];
reg [WIDTHN-1:0] remain_combi[COMBI_STAGE:0];
wire [(WIDTHN+1):0] sub_combi[COMBI_STAGE:0];
reg clken_IP;
assign denom_sub = {{(WIDTHN-WIDTHD){1'b0}},denom_temp};
always @(posedge clk,posedge reset) begin
if(reset) begin
clken_IP <= 1'b0;
end
else begin
clken_IP <= clken;
end
end
if(LATENCY > 0) begin
reg [LATENCY-1:0] ready;
assign sub = (ready[0] || ~clken_IP) ? ({{(WIDTHN-2){1'b0}}, numer_temp[(WIDTHN-1)]} - denom_sub) : ({remain_reg[(WIDTHN-2):0], quotient_reg[(WIDTHN-1)]} - denom_reg);
always @(posedge clk,posedge reset) begin
if(reset) begin
ready <= {LATENCY{1'b0}};
end
else if(clken) begin
if(ready[0] || ~clken_IP) begin
ready <= {1'b1, {LATENCY-1{1'b0}}};
end
else begin
ready <= {1'b0, ready[LATENCY-1:1]};
end
end
else begin
ready <= {LATENCY{1'b0}};
end
end
always @(posedge clk,posedge reset) begin
if(reset) begin
remain_reg <= {WIDTHN{1'b0}};
quotient_reg <= {WIDTHN{1'b0}};
denom_reg <= {WIDTHN{1'b0}};
end
else if(clken) begin
if(ready[0] || ~clken_IP) begin
denom_reg <= denom_temp;
if (sub[(WIDTHN)] == 0) begin
remain_reg <= sub[(WIDTHN-1):0];
quotient_reg <= {numer_temp[(WIDTHN-2):0], 1'b1};
end
else begin
remain_reg <= {{(WIDTHN-2){1'b0}}, numer_temp[(WIDTHN-1)]};
quotient_reg <= {numer_temp[(WIDTHN-2):0], 1'b0};
end
end
else begin
if (sub[(WIDTHN)] == 0) begin
remain_reg <= sub[(WIDTHN-1):0];
quotient_reg <= {quotient_reg[(WIDTHN-2):0], 1'b1};
end
else begin
remain_reg <= {remain_reg[(WIDTHN-2):0], quotient_reg[(WIDTHN-1)]};
quotient_reg <= {quotient_reg[(WIDTHN-2):0], 1'b0};
end
end
end
end
if (ENABLE_OUTREG) begin
always @(posedge clk,posedge reset) begin
if (reset) begin
rfd <= 1'b0;
end
else begin
rfd <= ready[0];
end
end
end
else begin
always @* begin
rfd = ready[0];
end
end
always @* begin
quotient_combi[0] = quotient_reg;
remain_combi[0] = remain_reg;
end
for (i=0; i<COMBI_STAGE; i=i+1) begin
assign sub_combi[i] = {remain_combi[i][(WIDTHN-2):0], quotient_combi[i][(WIDTHN-1)]} - denom_reg;
end
end
else begin
always @* begin
rfd = 1'b1;
end
always @* begin
quotient_combi[0] = numer_temp;
remain_combi[0] = {WIDTHN{1'b0}};
end
for (i=0; i<COMBI_STAGE; i=i+1) begin
assign sub_combi[i] = {remain_combi[i][(WIDTHN-2):0], quotient_combi[i][(WIDTHN-1)]} - denom_sub;
end
end
for (i=0; i<COMBI_STAGE; i=i+1) begin
always @* begin
if(sub_combi[i][(WIDTHN)] == 0) begin
remain_combi [i+1] = sub_combi[i][(WIDTHN-1):0];
quotient_combi [i+1] = {quotient_combi[i][(WIDTHN-2):0], 1'b1};
end
else begin
remain_combi[i+1] = {remain_combi[i][(WIDTHN-2):0], quotient_combi[i][(WIDTHN-1)]};
quotient_combi[i+1] = {quotient_combi[i][(WIDTHN-2):0], 1'b0};
end
end
end
if(NREPRESENTATION == "SIGNED" || DREPRESENTATION == "SIGNED") begin
assign quotient_copy = sign_quotient[LATENCY] ? (~quotient_combi[COMBI_STAGE] + 1): quotient_combi[COMBI_STAGE];//
end
else begin
assign quotient_copy = quotient_combi[COMBI_STAGE];
end
assign remain_copy = remain_combi[COMBI_STAGE];
end
if (ENABLE_OUTREG) begin
always @(posedge clk or posedge reset) begin
if (reset) begin
quotient <= {WIDTHN{1'b0}};
remain <= {WIDTHD{1'b0}};
end
else begin
quotient <= quotient_copy;
remain <= remain_copy;
end
end
end
else begin
always @* begin
quotient = quotient_copy;
remain = remain_copy;
end
end
end
endgenerate
endmodule
`undef IP_UUID
`undef IP_NAME_CONCAT
`undef IP_MODULE_NAME

View File

@@ -1,51 +0,0 @@
// =============================================================================
// Generated by efx_ipmgr
// Version: 2023.1.150
// IP Version: 5.0
// =============================================================================
////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2013-2023 Efinix Inc. All rights reserved.
//
// This document contains proprietary information which is
// protected by copyright. All rights are reserved. This notice
// refers to original work by Efinix, Inc. which may be derivitive
// of other work distributed under license of the authors. In the
// case of derivative work, nothing in this notice overrides the
// original author's license agreement. Where applicable, the
// original license agreement is included in it's original
// unmodified form immediately below this header.
//
// WARRANTY DISCLAIMER.
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
//
// LIMITATION OF LIABILITY.
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
// APPLY TO LICENSEE.
//
////////////////////////////////////////////////////////////////////////////////
localparam NREPRESENTATION = "UNSIGNED";
localparam WIDTHN = 16;
localparam WIDTHD = 16;
localparam DREPRESENTATION = "UNSIGNED";
localparam PIPELINE = 1'b0;
localparam LATENCY = 16;

View File

@@ -1,49 +0,0 @@
////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2013-2023 Efinix Inc. All rights reserved.
//
// This document contains proprietary information which is
// protected by copyright. All rights are reserved. This notice
// refers to original work by Efinix, Inc. which may be derivitive
// of other work distributed under license of the authors. In the
// case of derivative work, nothing in this notice overrides the
// original author's license agreement. Where applicable, the
// original license agreement is included in it's original
// unmodified form immediately below this header.
//
// WARRANTY DISCLAIMER.
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED AS IS AND
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
//
// LIMITATION OF LIABILITY.
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
// APPLY TO LICENSEE.
//
////////////////////////////////////////////////////////////////////////////////
divider u_divider(
.numer ( numer ),
.denom ( denom ),
.clken ( clken ),
.clk ( clk ),
.reset ( reset ),
.quotient ( quotient ),
.remain ( remain ),
.rfd ( rfd )
);

View File

@@ -1,64 +0,0 @@
--------------------------------------------------------------------------------
-- Copyright (C) 2013-2023 Efinix Inc. All rights reserved.
--
-- This document contains proprietary information which is
-- protected by copyright. All rights are reserved. This notice
-- refers to original work by Efinix, Inc. which may be derivitive
-- of other work distributed under license of the authors. In the
-- case of derivative work, nothing in this notice overrides the
-- original author's license agreement. Where applicable, the
-- original license agreement is included in it's original
-- unmodified form immediately below this header.
--
-- WARRANTY DISCLAIMER.
-- THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
-- EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
-- RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
-- INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-- MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
-- PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
-- WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
--
-- LIMITATION OF LIABILITY.
-- NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
-- INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
-- MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
-- OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
-- SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
-- CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
-- GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
-- MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
-- THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
-- (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
-- BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
-- NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
-- CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
-- APPLY TO LICENSEE.
--
--------------------------------------------------------------------------------
------------- Begin Cut here for COMPONENT Declaration ------
COMPONENT divider is
PORT (
numer : in std_logic_vector(15 downto 0);
denom : in std_logic_vector(15 downto 0);
clken : in std_logic;
clk : in std_logic;
reset : in std_logic;
quotient : out std_logic_vector(15 downto 0);
remain : out std_logic_vector(15 downto 0);
rfd : out std_logic);
END COMPONENT;
---------------------- End COMPONENT Declaration ------------
------------- Begin Cut here for INSTANTIATION Template -----
u_divider : divider
PORT MAP (
numer => numer,
denom => denom,
clken => clken,
clk => clk,
reset => reset,
quotient => quotient,
remain => remain,
rfd => rfd);
------------------------ End INSTANTIATION Template ---------

View File

@@ -1,33 +0,0 @@
{
"args": [
"-o",
"divider",
"--base_path",
"/tmp/tmpeltk99q_/ip",
"--vlnv",
{
"vendor": "efinixinc.com",
"library": "arithmetic",
"name": "efx_divider",
"version": "5.0"
}
],
"conf": {
"NREPRESENTATION": "\"UNSIGNED\"",
"WIDTHN": "16",
"WIDTHD": "16",
"DREPRESENTATION": "\"UNSIGNED\"",
"PIPELINE": "1'b0",
"LATENCY": "16"
},
"output": {
"external_source_source": [
"/tmp/tmpeltk99q_/ip/divider/divider_tmpl.vhd",
"/tmp/tmpeltk99q_/ip/divider/divider_define.vh",
"/tmp/tmpeltk99q_/ip/divider/divider_tmpl.v",
"/tmp/tmpeltk99q_/ip/divider/divider.v"
]
},
"sw_version": "2023.1.150",
"generated_date": "2023-07-16T16:45:12.554696"
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,80 +0,0 @@
// =============================================================================
// Generated by efx_ipmgr
// Version: 2023.1.150
// IP Version: 5.0
// =============================================================================
////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2013-2023 Efinix Inc. All rights reserved.
//
// This document contains proprietary information which is
// protected by copyright. All rights are reserved. This notice
// refers to original work by Efinix, Inc. which may be derivitive
// of other work distributed under license of the authors. In the
// case of derivative work, nothing in this notice overrides the
// original author's license agreement. Where applicable, the
// original license agreement is included in it's original
// unmodified form immediately below this header.
//
// WARRANTY DISCLAIMER.
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
//
// LIMITATION OF LIABILITY.
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
// APPLY TO LICENSEE.
//
////////////////////////////////////////////////////////////////////////////////
localparam fSYS_MHz = 100;
localparam fCK_MHz = 200;
localparam tIORT_u = 2;
localparam CL = 3;
localparam BL = 1;
localparam DDIO_TYPE = "SOFT";
localparam DQ_WIDTH = 8;
localparam DQ_GROUP = 2;
localparam BA_WIDTH = 2;
localparam ROW_WIDTH = 13;
localparam COL_WIDTH = 9;
localparam tPWRUP = 200000;
localparam tRAS = 44;
localparam tRAS_MAX = 120000;
localparam tRC = 66;
localparam tRCD = 20;
localparam tREF = 64000000;
localparam tRFC = 66;
localparam tRP = 20;
localparam tWR = 2;
localparam tMRD = 2;
localparam SDRAM_MODE = "Native";
localparam DATA_RATE = 2;
localparam AXI_AWADDR_WIDTH = 24;
localparam AXI_WDATA_WIDTH = 32;
localparam AXI_ARADDR_WIDTH = 24;
localparam AXI_RDATA_WIDTH = 32;
localparam AXI_AWID_WIDTH = 4;
localparam AXI_AWUSER_WIDTH = 2;
localparam AXI_WUSER_WIDTH = 2;
localparam AXI_BID_WIDTH = 4;
localparam AXI_BUSER_WIDTH = 2;
localparam AXI_ARID_WIDTH = 4;
localparam AXI_ARUSER_WIDTH = 3;
localparam AXI_RUSER_WIDTH = 3;

View File

@@ -1,84 +0,0 @@
////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2013-2023 Efinix Inc. All rights reserved.
//
// This document contains proprietary information which is
// protected by copyright. All rights are reserved. This notice
// refers to original work by Efinix, Inc. which may be derivitive
// of other work distributed under license of the authors. In the
// case of derivative work, nothing in this notice overrides the
// original author's license agreement. Where applicable, the
// original license agreement is included in it's original
// unmodified form immediately below this header.
//
// WARRANTY DISCLAIMER.
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED AS IS AND
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
//
// LIMITATION OF LIABILITY.
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
// APPLY TO LICENSEE.
//
////////////////////////////////////////////////////////////////////////////////
sdram_controller u_sdram_controller(
.i_we ( i_we ),
.i_sysclk ( i_sysclk ),
.i_arst ( i_arst ),
.i_sdrclk ( i_sdrclk ),
.i_tACclk ( i_tACclk ),
.i_pll_locked ( i_pll_locked ),
.i_re ( i_re ),
.i_last ( i_last ),
.o_dbg_tRTW_done ( o_dbg_tRTW_done ),
.o_dbg_ref_req ( o_dbg_ref_req ),
.o_dbg_wr_ack ( o_dbg_wr_ack ),
.o_dbg_rd_ack ( o_dbg_rd_ack ),
.o_dbg_n_CS ( o_dbg_n_CS ),
.o_dbg_n_RAS ( o_dbg_n_RAS ),
.o_dbg_n_CAS ( o_dbg_n_CAS ),
.o_dbg_n_WE ( o_dbg_n_WE ),
.o_dbg_BA ( o_dbg_BA ),
.o_dbg_ADDR ( o_dbg_ADDR ),
.o_dbg_DATA_out ( o_dbg_DATA_out ),
.o_dbg_DATA_in ( o_dbg_DATA_in ),
.i_addr ( i_addr ),
.i_din ( i_din ),
.i_dm ( i_dm ),
.o_dout ( o_dout ),
.o_sdr_state ( o_sdr_state ),
.o_sdr_init_done ( o_sdr_init_done ),
.o_wr_ack ( o_wr_ack ),
.o_rd_ack ( o_rd_ack ),
.o_ref_req ( o_ref_req ),
.o_rd_valid ( o_rd_valid ),
.o_sdr_CKE ( o_sdr_CKE ),
.o_sdr_n_CS ( o_sdr_n_CS ),
.o_sdr_n_RAS ( o_sdr_n_RAS ),
.o_sdr_n_CAS ( o_sdr_n_CAS ),
.o_sdr_n_WE ( o_sdr_n_WE ),
.o_sdr_BA ( o_sdr_BA ),
.o_sdr_ADDR ( o_sdr_ADDR ),
.o_sdr_DATA ( o_sdr_DATA ),
.o_sdr_DATA_oe ( o_sdr_DATA_oe ),
.i_sdr_DATA ( i_sdr_DATA ),
.o_sdr_DQM ( o_sdr_DQM ),
.o_dbg_dly_cnt_b ( o_dbg_dly_cnt_b ),
.o_dbg_tRCD_done ( o_dbg_tRCD_done )
);

View File

@@ -1,134 +0,0 @@
--------------------------------------------------------------------------------
-- Copyright (C) 2013-2023 Efinix Inc. All rights reserved.
--
-- This document contains proprietary information which is
-- protected by copyright. All rights are reserved. This notice
-- refers to original work by Efinix, Inc. which may be derivitive
-- of other work distributed under license of the authors. In the
-- case of derivative work, nothing in this notice overrides the
-- original author's license agreement. Where applicable, the
-- original license agreement is included in it's original
-- unmodified form immediately below this header.
--
-- WARRANTY DISCLAIMER.
-- THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
-- EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
-- RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
-- INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-- MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
-- PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
-- WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
--
-- LIMITATION OF LIABILITY.
-- NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
-- INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
-- MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
-- OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
-- SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
-- CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
-- GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
-- MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
-- THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
-- (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
-- BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
-- NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
-- CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
-- APPLY TO LICENSEE.
--
--------------------------------------------------------------------------------
------------- Begin Cut here for COMPONENT Declaration ------
COMPONENT sdram_controller is
PORT (
i_we : in std_logic;
i_sysclk : in std_logic;
i_arst : in std_logic;
i_sdrclk : in std_logic;
i_tACclk : in std_logic;
i_pll_locked : in std_logic;
i_re : in std_logic;
i_last : in std_logic;
o_dbg_tRTW_done : out std_logic;
o_dbg_ref_req : out std_logic;
o_dbg_wr_ack : out std_logic;
o_dbg_rd_ack : out std_logic;
o_dbg_n_CS : out std_logic_vector(1 downto 0);
o_dbg_n_RAS : out std_logic_vector(1 downto 0);
o_dbg_n_CAS : out std_logic_vector(1 downto 0);
o_dbg_n_WE : out std_logic_vector(1 downto 0);
o_dbg_BA : out std_logic_vector(3 downto 0);
o_dbg_ADDR : out std_logic_vector(25 downto 0);
o_dbg_DATA_out : out std_logic_vector(31 downto 0);
o_dbg_DATA_in : out std_logic_vector(31 downto 0);
i_addr : in std_logic_vector(23 downto 0);
i_din : in std_logic_vector(31 downto 0);
i_dm : in std_logic_vector(3 downto 0);
o_dout : out std_logic_vector(31 downto 0);
o_sdr_state : out std_logic_vector(3 downto 0);
o_sdr_init_done : out std_logic;
o_wr_ack : out std_logic;
o_rd_ack : out std_logic;
o_ref_req : out std_logic;
o_rd_valid : out std_logic;
o_sdr_CKE : out std_logic_vector(1 downto 0);
o_sdr_n_CS : out std_logic_vector(1 downto 0);
o_sdr_n_RAS : out std_logic_vector(1 downto 0);
o_sdr_n_CAS : out std_logic_vector(1 downto 0);
o_sdr_n_WE : out std_logic_vector(1 downto 0);
o_sdr_BA : out std_logic_vector(3 downto 0);
o_sdr_ADDR : out std_logic_vector(25 downto 0);
o_sdr_DATA : out std_logic_vector(31 downto 0);
o_sdr_DATA_oe : out std_logic_vector(31 downto 0);
i_sdr_DATA : in std_logic_vector(31 downto 0);
o_sdr_DQM : out std_logic_vector(3 downto 0);
o_dbg_dly_cnt_b : out std_logic_vector(5 downto 0);
o_dbg_tRCD_done : out std_logic);
END COMPONENT;
---------------------- End COMPONENT Declaration ------------
------------- Begin Cut here for INSTANTIATION Template -----
u_sdram_controller : sdram_controller
PORT MAP (
i_we => i_we,
i_sysclk => i_sysclk,
i_arst => i_arst,
i_sdrclk => i_sdrclk,
i_tACclk => i_tACclk,
i_pll_locked => i_pll_locked,
i_re => i_re,
i_last => i_last,
o_dbg_tRTW_done => o_dbg_tRTW_done,
o_dbg_ref_req => o_dbg_ref_req,
o_dbg_wr_ack => o_dbg_wr_ack,
o_dbg_rd_ack => o_dbg_rd_ack,
o_dbg_n_CS => o_dbg_n_CS,
o_dbg_n_RAS => o_dbg_n_RAS,
o_dbg_n_CAS => o_dbg_n_CAS,
o_dbg_n_WE => o_dbg_n_WE,
o_dbg_BA => o_dbg_BA,
o_dbg_ADDR => o_dbg_ADDR,
o_dbg_DATA_out => o_dbg_DATA_out,
o_dbg_DATA_in => o_dbg_DATA_in,
i_addr => i_addr,
i_din => i_din,
i_dm => i_dm,
o_dout => o_dout,
o_sdr_state => o_sdr_state,
o_sdr_init_done => o_sdr_init_done,
o_wr_ack => o_wr_ack,
o_rd_ack => o_rd_ack,
o_ref_req => o_ref_req,
o_rd_valid => o_rd_valid,
o_sdr_CKE => o_sdr_CKE,
o_sdr_n_CS => o_sdr_n_CS,
o_sdr_n_RAS => o_sdr_n_RAS,
o_sdr_n_CAS => o_sdr_n_CAS,
o_sdr_n_WE => o_sdr_n_WE,
o_sdr_BA => o_sdr_BA,
o_sdr_ADDR => o_sdr_ADDR,
o_sdr_DATA => o_sdr_DATA,
o_sdr_DATA_oe => o_sdr_DATA_oe,
i_sdr_DATA => i_sdr_DATA,
o_sdr_DQM => o_sdr_DQM,
o_dbg_dly_cnt_b => o_dbg_dly_cnt_b,
o_dbg_tRCD_done => o_dbg_tRCD_done);
------------------------ End INSTANTIATION Template ---------

View File

@@ -1,44 +0,0 @@
{
"args": [
"-o",
"sdram_controller",
"--base_path",
"/tmp/tmpc6xveluy/ip",
"--vlnv",
{
"vendor": "efinixinc.com",
"library": "memory_controller",
"name": "efx_sdram_controller",
"version": "5.0"
}
],
"conf": {
"fCK_MHz": "200",
"tIORT_u": "2",
"CL": "3",
"DDIO_TYPE": "\"SOFT\"",
"DQ_GROUP": "2",
"ROW_WIDTH": "13",
"COL_WIDTH": "9",
"tPWRUP": "200000",
"tRAS": "44",
"tRAS_MAX": "120000",
"tRC": "66",
"tRCD": "20",
"tREF": "64000000",
"tRFC": "66",
"tRP": "20",
"SDRAM_MODE": "\"Native\"",
"DATA_RATE": "2"
},
"output": {
"external_source_source": [
"/tmp/tmpc6xveluy/ip/sdram_controller/sdram_controller_tmpl.vhd",
"/tmp/tmpc6xveluy/ip/sdram_controller/sdram_controller_define.vh",
"/tmp/tmpc6xveluy/ip/sdram_controller/sdram_controller_tmpl.v",
"/tmp/tmpc6xveluy/ip/sdram_controller/sdram_controller.v"
]
},
"sw_version": "2023.1.150",
"generated_date": "2023-07-16T16:45:19.021917"
}

View File

@@ -1,34 +0,0 @@
{
"args": [
"-o",
"uart",
"--base_path",
"/home/byron/Projects/super6502/hw/efinix_fpga/ip",
"--vlnv",
{
"vendor": "efinixinc.com",
"library": "serial_interface",
"name": "efx_uart",
"version": "5.0"
}
],
"conf": {
"BYTE": "1",
"CLOCK_FREQ": "50000000",
"BAUD": "115200",
"ENABLE_PARITY": "1'b0",
"FIX_BAUDRATE": "1'b1",
"PARITY_MODE": "1'b0",
"BOOTUP_CHECK": "1'b0"
},
"output": {
"external_source_source": [
"/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart_tmpl.vhd",
"/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart_define.vh",
"/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart_tmpl.v",
"/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart.v"
]
},
"sw_version": "2023.1.150",
"generated_date": "2023-08-06T21:23:16.380430"
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,52 +0,0 @@
// =============================================================================
// Generated by efx_ipmgr
// Version: 2023.1.150
// IP Version: 5.0
// =============================================================================
////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2013-2023 Efinix Inc. All rights reserved.
//
// This document contains proprietary information which is
// protected by copyright. All rights are reserved. This notice
// refers to original work by Efinix, Inc. which may be derivitive
// of other work distributed under license of the authors. In the
// case of derivative work, nothing in this notice overrides the
// original author's license agreement. Where applicable, the
// original license agreement is included in it's original
// unmodified form immediately below this header.
//
// WARRANTY DISCLAIMER.
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
//
// LIMITATION OF LIABILITY.
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
// APPLY TO LICENSEE.
//
////////////////////////////////////////////////////////////////////////////////
localparam BYTE = 1;
localparam CLOCK_FREQ = 50000000;
localparam BAUD = 115200;
localparam ENABLE_PARITY = 1'b0;
localparam FIX_BAUDRATE = 1'b1;
localparam PARITY_MODE = 1'b0;
localparam BOOTUP_CHECK = 1'b0;

View File

@@ -1,55 +0,0 @@
////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2013-2023 Efinix Inc. All rights reserved.
//
// This document contains proprietary information which is
// protected by copyright. All rights are reserved. This notice
// refers to original work by Efinix, Inc. which may be derivitive
// of other work distributed under license of the authors. In the
// case of derivative work, nothing in this notice overrides the
// original author's license agreement. Where applicable, the
// original license agreement is included in it's original
// unmodified form immediately below this header.
//
// WARRANTY DISCLAIMER.
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED AS IS AND
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
//
// LIMITATION OF LIABILITY.
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
// APPLY TO LICENSEE.
//
////////////////////////////////////////////////////////////////////////////////
uart u_uart(
.tx_o ( tx_o ),
.rx_i ( rx_i ),
.tx_busy ( tx_busy ),
.rx_data ( rx_data ),
.rx_data_valid ( rx_data_valid ),
.rx_error ( rx_error ),
.rx_parity_error ( rx_parity_error ),
.rx_busy ( rx_busy ),
.baud_x16_ce ( baud_x16_ce ),
.clk ( clk ),
.reset ( reset ),
.baud_rate ( baud_rate ),
.tx_en ( tx_en ),
.tx_data ( tx_data )
);

View File

@@ -1,76 +0,0 @@
--------------------------------------------------------------------------------
-- Copyright (C) 2013-2023 Efinix Inc. All rights reserved.
--
-- This document contains proprietary information which is
-- protected by copyright. All rights are reserved. This notice
-- refers to original work by Efinix, Inc. which may be derivitive
-- of other work distributed under license of the authors. In the
-- case of derivative work, nothing in this notice overrides the
-- original author's license agreement. Where applicable, the
-- original license agreement is included in it's original
-- unmodified form immediately below this header.
--
-- WARRANTY DISCLAIMER.
-- THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
-- EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
-- RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
-- INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-- MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
-- PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
-- WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
--
-- LIMITATION OF LIABILITY.
-- NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
-- INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
-- MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
-- OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
-- SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
-- CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
-- GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
-- MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
-- THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
-- (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
-- BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
-- NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
-- CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
-- APPLY TO LICENSEE.
--
--------------------------------------------------------------------------------
------------- Begin Cut here for COMPONENT Declaration ------
COMPONENT uart is
PORT (
tx_o : out std_logic;
rx_i : in std_logic;
tx_busy : out std_logic;
rx_data : out std_logic_vector(7 downto 0);
rx_data_valid : out std_logic;
rx_error : out std_logic;
rx_parity_error : out std_logic;
rx_busy : out std_logic;
baud_x16_ce : out std_logic;
clk : in std_logic;
reset : in std_logic;
baud_rate : in std_logic_vector(2 downto 0);
tx_en : in std_logic;
tx_data : in std_logic_vector(7 downto 0));
END COMPONENT;
---------------------- End COMPONENT Declaration ------------
------------- Begin Cut here for INSTANTIATION Template -----
u_uart : uart
PORT MAP (
tx_o => tx_o,
rx_i => rx_i,
tx_busy => tx_busy,
rx_data => rx_data,
rx_data_valid => rx_data_valid,
rx_error => rx_error,
rx_parity_error => rx_parity_error,
rx_busy => rx_busy,
baud_x16_ce => baud_x16_ce,
clk => clk,
reset => reset,
baud_rate => baud_rate,
tx_en => tx_en,
tx_data => tx_data);
------------------------ End INSTANTIATION Template ---------

View File

@@ -1,65 +0,0 @@
SRCS=$(shell find src/ -type f -name "*.*v")
TBS=$(shell find tbs/ -type f -name "*.*v")
SRCS+=$(shell find ../ip/ -type f -name "*.*v" -not \( -name "*tmpl*" \))
SRCS+=$(shell find ../src/ -type f -name "*.*v")
INC=$(shell find include/ -type f)
TEST_PROGRAM_NAME?=loop_test
TEST_FOLDER?=$(REPO_TOP)/sw/test_code/$(TEST_PROGRAM_NAME)
TEST_PROGRAM?=$(REPO_TOP)/sw/test_code/$(TEST_PROGRAM_NAME)/$(TEST_PROGRAM_NAME).hex
STANDALONE_TB= interrupt_controller_tb mapper_tb rtc_tb uart_irq_tb
CODE_TB= interrupt_controller_code_tb mapper_code_tb rtc_code_tb \
devices_setup_code_tb uart_irq_code_tb
#TODO implement something like sources.list
TOP_MODULE=sim_top
TARGET=sim_top
INIT_MEM=init_hex.mem
SD_IMAGE=fs.fat
FLAGS=-DSIM -DRTL_SIM
SD_IMAGE_PATH?=$(REPO_TOP)/sw/script/$(SD_IMAGE)
all: sim
.PHONY: sim
sim: $(TARGET)
vvp -i $(TARGET) -fst
.PHONY: full_sim
full_sim: $(TARGET) $(SD_IMAGE)
vvp -i $(TARGET) -fst
$(STANDALONE_TB): $(SRCS) $(TBS)
iverilog -g2005-sv $(FLAGS) -s $@ -o $@ $(INC) $(SRCS) tbs/$@.sv
$(CODE_TB): $(SRCS) $(TBS) $(INIT_MEM)
iverilog -g2005-sv $(FLAGS) -s $@ -o $@ $(INC) $(SRCS) tbs/$@.sv
$(TARGET): $(INIT_MEM) $(SRCS)
iverilog -g2005-sv $(FLAGS) -s $(TOP_MODULE) -o $(TARGET) $(INC) $(SRCS)
.PHONY: $(INIT_MEM)
$(INIT_MEM):
# Make kernel
$(MAKE) -C $(REPO_TOP)/sw/kernel
$(MAKE) -C $(TEST_FOLDER)
cp $(TEST_PROGRAM) ./init_hex.mem
# The script that makes this file uses relative paths
$(SD_IMAGE):
sh $(REPO_TOP)/sw/script/create_verilog_image.sh
cp $(SD_IMAGE_PATH) $(SD_IMAGE)
.PHONY: clean
clean:
rm -rf $(TARGET)
rm -rf $(INIT_MEM)
rm -rf $(SD_IMAGE)
rm -rf $(STANDALONE_TB)
rm -rf $(CODE_TB)
rm -rf *.vcd

View File

@@ -1,80 +0,0 @@
// =============================================================================
// Generated by efx_ipmgr
// Version: 2023.1.150
// IP Version: 5.0
// =============================================================================
////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2013-2023 Efinix Inc. All rights reserved.
//
// This document contains proprietary information which is
// protected by copyright. All rights are reserved. This notice
// refers to original work by Efinix, Inc. which may be derivitive
// of other work distributed under license of the authors. In the
// case of derivative work, nothing in this notice overrides the
// original author's license agreement. Where applicable, the
// original license agreement is included in it's original
// unmodified form immediately below this header.
//
// WARRANTY DISCLAIMER.
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
//
// LIMITATION OF LIABILITY.
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
// APPLY TO LICENSEE.
//
////////////////////////////////////////////////////////////////////////////////
localparam fSYS_MHz = 100;
localparam fCK_MHz = 200;
localparam tIORT_u = 2;
localparam CL = 3;
localparam BL = 1;
localparam DDIO_TYPE = "SOFT";
localparam DQ_WIDTH = 8;
localparam DQ_GROUP = 2;
localparam BA_WIDTH = 2;
localparam ROW_WIDTH = 13;
localparam COL_WIDTH = 9;
localparam tPWRUP = 200000;
localparam tRAS = 44;
localparam tRAS_MAX = 120000;
localparam tRC = 66;
localparam tRCD = 20;
localparam tREF = 64000000;
localparam tRFC = 66;
localparam tRP = 20;
localparam tWR = 2;
localparam tMRD = 2;
localparam SDRAM_MODE = "Native";
localparam DATA_RATE = 2;
localparam AXI_AWADDR_WIDTH = 24;
localparam AXI_WDATA_WIDTH = 32;
localparam AXI_ARADDR_WIDTH = 24;
localparam AXI_RDATA_WIDTH = 32;
localparam AXI_AWID_WIDTH = 4;
localparam AXI_AWUSER_WIDTH = 2;
localparam AXI_WUSER_WIDTH = 2;
localparam AXI_BID_WIDTH = 4;
localparam AXI_BUSER_WIDTH = 2;
localparam AXI_ARID_WIDTH = 4;
localparam AXI_ARUSER_WIDTH = 3;
localparam AXI_RUSER_WIDTH = 3;

File diff suppressed because it is too large Load Diff

View File

@@ -1,179 +0,0 @@
`timescale 1ns/1ps
module sim_top();
`include "include/super6502_sdram_controller_define.vh"
logic r_sysclk, r_sdrclk, r_clk_50, r_clk_cpu;
// clk_100
initial begin
r_sysclk <= '1;
forever begin
#5 r_sysclk <= ~r_sysclk;
end
end
// clk_200
initial begin
r_sdrclk <= '1;
forever begin
#2.5 r_sdrclk <= ~r_sdrclk;
end
end
// clk_50
initial begin
r_clk_50 <= '1;
forever begin
#10 r_clk_50 <= ~r_clk_50;
end
end
// clk_cpu
initial begin
r_clk_cpu <= '1;
forever begin
#250 r_clk_cpu <= ~r_clk_cpu;
end
end
// initial begin
// #275000 $finish();
// end
initial begin
$dumpfile("sim_top.vcd");
$dumpvars(0,sim_top);
end
logic button_reset;
initial begin
button_reset <= '0;
repeat(10) @(r_clk_cpu);
button_reset <= '1;
repeat(1500000) @(posedge r_clk_cpu);
$finish();
end
logic w_cpu_reset;
logic [15:0] w_cpu_addr;
logic [7:0] w_cpu_data_from_cpu, w_cpu_data_from_dut;
logic w_cpu_rdy;
logic w_cpu_irqb;
logic w_cpu_we;
logic w_cpu_phi2;
//TODO: this
cpu_65c02 u_cpu(
.phi2(w_cpu_phi2),
.reset(~w_cpu_reset),
.AB(w_cpu_addr),
.RDY(w_cpu_rdy),
.IRQ(~w_cpu_irqb),
.NMI('0),
.DI_s1(w_cpu_data_from_dut),
.DO(w_cpu_data_from_cpu),
.WE(w_cpu_we)
);
logic w_dut_uart_rx, w_dut_uart_tx;
sim_uart u_sim_uart(
.clk_50(r_clk_50),
.reset(~w_cpu_reset),
.rx_i(w_dut_uart_tx),
.tx_o(w_dut_uart_rx)
);
logic w_sd_cs;
logic w_spi_clk;
logic w_spi_mosi;
logic w_spi_miso;
sd_card_emu u_sd_card_emu(
.rst(~w_cpu_reset),
.clk(w_spi_clk),
.cs(w_sd_cs),
.mosi(w_spi_mosi),
.miso(w_spi_miso)
);
super6502 u_dut(
.i_sysclk(r_sysclk),
.i_sdrclk(r_sdrclk),
.i_tACclk(~r_sdrclk),
.clk_50(r_clk_50),
.clk_cpu(r_clk_cpu),
.button_reset(button_reset),
.cpu_resb(w_cpu_reset),
.cpu_addr(w_cpu_addr),
.cpu_data_out(w_cpu_data_from_dut),
.cpu_data_in(w_cpu_data_from_cpu),
.cpu_rwb(~w_cpu_we),
.cpu_rdy(w_cpu_rdy),
.cpu_phi2(w_cpu_phi2),
.cpu_irqb(w_cpu_irqb),
.uart_rx(w_dut_uart_rx),
.uart_tx(w_dut_uart_tx),
.sd_cs(w_sd_cs),
.spi_clk(w_spi_clk),
.spi_mosi(w_spi_mosi),
.spi_miso(w_spi_miso),
.o_sdr_CKE(w_sdr_CKE),
.o_sdr_n_CS(w_sdr_n_CS),
.o_sdr_n_WE(w_sdr_n_WE),
.o_sdr_n_RAS(w_sdr_n_RAS),
.o_sdr_n_CAS(w_sdr_n_CAS),
.o_sdr_BA(w_sdr_BA),
.o_sdr_ADDR(w_sdr_ADDR),
.i_sdr_DATA(w_sdr_DQ),
.o_sdr_DATA(w_sdr_DATA),
.o_sdr_DATA_oe(w_sdr_DATA_oe),
.o_sdr_DQM(w_sdr_DQM)
);
wire w_sdr_CKE;
wire w_sdr_n_CS;
wire w_sdr_n_WE;
wire w_sdr_n_RAS;
wire w_sdr_n_CAS;
wire [BA_WIDTH -1:0]w_sdr_BA;
wire [ROW_WIDTH -1:0]w_sdr_ADDR;
wire [DQ_GROUP *DQ_WIDTH -1:0]w_sdr_DATA;
wire [DQ_GROUP *DQ_WIDTH -1:0]w_sdr_DATA_oe;
wire [DQ_GROUP -1:0]w_sdr_DQM;
wire [DQ_GROUP *DQ_WIDTH -1:0]w_sdr_DQ;
genvar i, j;
generate
for (i=0; i<DQ_GROUP*DQ_WIDTH; i=i+1)
begin: DQ_map
assign w_sdr_DQ[i] = (w_sdr_DATA_oe[i])?
w_sdr_DATA[i]:1'bz;
end
for (j=0; j<DQ_GROUP; j=j+1)
begin : mem_inst
generic_sdr inst_sdr
(
.Dq(w_sdr_DQ[((j+1)*(DQ_WIDTH))-1:((j)*DQ_WIDTH)]),
.Addr(w_sdr_ADDR[ROW_WIDTH-1:0]),
.Ba(w_sdr_BA[BA_WIDTH-1:0]),
.Clk(~r_sdrclk),
.Cke(w_sdr_CKE),
.Cs_n(w_sdr_n_CS),
.Ras_n(w_sdr_n_RAS),
.Cas_n(w_sdr_n_CAS),
.We_n(w_sdr_n_WE),
.Dqm(w_sdr_DQM[j])
);
end
endgenerate
endmodule

View File

@@ -1,43 +0,0 @@
module sim_uart(
input clk,
input clk_50,
input reset,
input [7:0] i_data,
input rx_i,
output tx_o
);
logic tx_busy, rx_busy;
logic rx_data_valid, rx_error, rx_parity_error;
logic baud_x16_ce;
logic tx_en;
logic [7:0] tx_data, rx_data;
uart u_uart(
.tx_o ( tx_o ),
.rx_i ( rx_i ),
.tx_busy ( tx_busy ),
.rx_data ( rx_data ),
.rx_data_valid ( rx_data_valid ),
.rx_error ( rx_error ),
.rx_parity_error ( rx_parity_error ),
.rx_busy ( rx_busy ),
.baud_x16_ce ( baud_x16_ce ),
.clk ( clk_50 ),
.reset ( reset ),
.tx_data ( tx_data ),
.baud_rate ( baud_rate ),
.tx_en ( tx_en )
);
always @(posedge baud_x16_ce) begin
if (rx_data_valid)
$display("UART: %c", rx_data);
end
endmodule

View File

@@ -1,27 +0,0 @@
`timescale 1ns/1ps
module devices_setup_code_tb();
sim_top u_sim_top();
always begin
if (
u_sim_top.w_cpu_addr == 16'h0 &&
u_sim_top.w_cpu_we == '1
) begin
if (u_sim_top.w_cpu_data_from_cpu == 8'h6d) begin
$display("Good finish!");
$finish();
end else begin
$display("Bad finish!");
$finish_and_return(-1);
end
end
# 1;
end
always @(u_sim_top.u_dut.u_rtc.r_output) begin
$display("counter: %d", u_sim_top.u_dut.u_rtc.r_output);
end
endmodule

View File

@@ -1,39 +0,0 @@
`timescale 1ns/1ps
module interrupt_controller_code_tb();
sim_top u_sim_top();
always begin
if (
u_sim_top.w_cpu_addr == 16'h0 &&
u_sim_top.w_cpu_we == '1
) begin
if (u_sim_top.w_cpu_data_from_cpu == 8'h6d) begin
$display("Good finish!");
$finish();
end else begin
$display("Bad finish!");
$finish_and_return(-1);
end
end
# 1;
end
initial begin
// u_sim_top.u_dut.w_int_in = 0;
repeat (2400) @(posedge u_sim_top.r_clk_cpu);
for (int i = 0; i < 128; i++) begin
repeat (100) @(posedge u_sim_top.r_clk_cpu);
force u_sim_top.u_dut.u_interrupt_controller.int_in = 1 << i;
$display("Activiating interrupt %d", i);
end
end
initial begin
repeat (40000) @(posedge u_sim_top.r_clk_cpu);
$display("Timed out");
$finish_and_return(-1);
end
endmodule

View File

@@ -1,209 +0,0 @@
`timescale 1ns/1ps
module interrupt_controller_tb();
logic r_clk_cpu;
localparam BITS_128 = 128'hffffffffffffffffffffffffffffffff;
// clk_cpu
initial begin
r_clk_cpu <= '1;
forever begin
#125 r_clk_cpu <= ~r_clk_cpu;
end
end
logic reset;
logic addr;
logic [7:0] i_data;
logic [7:0] o_data;
logic cs;
logic rwb;
logic [127:0] int_in;
logic int_out;
interrupt_controller #(
.N_INTERRUPTS(128)
) u_interrupt_controller (
.clk(r_clk_cpu),
.reset(reset),
.i_data(i_data),
.o_data(o_data),
.addr(addr),
.cs(cs),
.rwb(rwb),
.int_in(int_in),
.int_out(int_out)
);
/* Test Level triggered IRQ by triggering IRQ0
* and then clearing it,
*/
task test_edge_irq();
$display("Testing Edge IRQ");
do_reset();
set_enable(128'hff);
set_edge_type(128'h0);
set_interrupts(1);
assert (int_out == 1) else begin
errors = errors + 1;
$error("Interrupt should be high!");
end
send_eoi();
assert (int_out == 0) else begin
errors = errors + 1;
$error("Interrupt should be low!");
end
set_interrupts(0);
assert (int_out == 0) else begin
errors = errors + 1;
$error("Interrupt should be low!");
end
endtask
task test_level_irq();
$display("Testing level IRQ");
do_reset();
set_enable(128'hff);
set_edge_type(128'hff);
set_interrupts(1);
assert (int_out == 1) else begin
errors = errors + 1;
$error("Interrupt should be high!");
end
send_eoi();
assert (int_out == 1) else begin
errors = errors + 1;
$error("Interrupt should be high!");
end
set_interrupts(0);
send_eoi();
assert (int_out == 0) else begin
errors = errors + 1;
$error("Interrupt should be low!");
end
endtask
task test_irq_val();
int irq_val = -1;
$display("Testing IRQ val output");
do_reset();
set_enable('1);
set_edge_type('1);
for (int i = 127; i >= 0; i--) begin
set_interrupts(BITS_128 << i);
read_irqval(irq_val);
assert(i == irq_val) else begin
errors = errors + 1;
$display("Expected %d got %d", i, irq_val);
end
end
for (int i = 0; i < 128; i++) begin
set_interrupts(BITS_128 >> i);
read_irqval(irq_val);
assert(int_out == 1) else begin
errors = errors + 1;
$display("int_out should be asserted!");
end
assert(0 == irq_val) else begin
errors = errors + 1;
$display("Expected %d got %d", i, irq_val);
end
end
endtask
int errors;
initial begin
errors = 0;
test_edge_irq();
test_level_irq();
test_irq_val();
if (errors > 0)
$finish_and_return(-1);
else
$finish();
end
initial
begin
$dumpfile("interrupt_controller_tb.vcd");
$dumpvars(0,interrupt_controller_tb);
end
/* These should be shared */
task write_reg(input logic [4:0] _addr, input logic [7:0] _data);
@(negedge r_clk_cpu);
cs <= '1;
addr <= _addr;
rwb <= '0;
i_data <= '1;
@(posedge r_clk_cpu);
i_data <= _data;
@(negedge r_clk_cpu);
cs <= '0;
rwb <= '1;
@(posedge r_clk_cpu);
endtask
task read_reg(input logic [2:0] _addr, output logic [7:0] _data);
@(negedge r_clk_cpu);
cs <= '1;
addr <= _addr;
rwb <= '1;
i_data <= '1;
@(posedge r_clk_cpu);
_data <= o_data;
@(negedge r_clk_cpu);
cs <= '0;
rwb <= '1;
@(posedge r_clk_cpu);
endtask
task do_reset();
repeat (5) @(posedge r_clk_cpu);
reset = 1;
cs = 0;
rwb = 1;
addr = '0;
i_data = '0;
int_in = '0;
repeat (5) @(posedge r_clk_cpu);
reset = 0;
repeat (5) @(posedge r_clk_cpu);
endtask
task set_enable(input logic [127:0] en);
for (int i = 0; i < 16; i++) begin
write_reg(0, 8'h20 | i);
write_reg(1, en[8*i +: 8]);
end
endtask
task set_edge_type(input logic [127:0] edge_type);
for (int i = 0; i < 16; i++) begin
write_reg(0, 8'h40 | i);
write_reg(1, edge_type[8*i +: 8]);
end
endtask
task set_interrupts(logic [127:0] ints);
int_in = ints;
@(posedge r_clk_cpu);
endtask
task send_eoi();
write_reg(0, 8'hff);
write_reg(1, 8'h01);
endtask
task read_irqval(output logic [7:0] _irq_val);
write_reg(0, 8'h00);
read_reg(1, _irq_val);
endtask
endmodule

View File

@@ -1,23 +0,0 @@
`timescale 1ns/1ps
module mapper_code_tb();
sim_top u_sim_top();
always begin
if (
u_sim_top.w_cpu_addr == 16'h0 &&
u_sim_top.w_cpu_we == '1
) begin
if (u_sim_top.w_cpu_data_from_cpu == 8'h6d) begin
$display("Good finish!");
$finish();
end else begin
$display("Bad finish!");
$finish_and_return(-1);
end
end
# 1;
end
endmodule

View File

@@ -1,125 +0,0 @@
`timescale 1ns/1ps
module mapper_tb();
logic r_clk_cpu;
// clk_cpu
initial begin
r_clk_cpu <= '1;
forever begin
#125 r_clk_cpu <= ~r_clk_cpu;
end
end
logic reset;
logic [15:0] addr;
logic [24:0] map_addr;
logic [7:0] i_data;
logic [7:0] o_data;
logic cs;
logic rwb;
mapper u_mapper(
.i_reset(reset),
.i_clk(r_clk_cpu),
.i_cs(cs),
.i_we(~rwb),
.i_data(i_data),
.o_data(o_data),
.i_cpu_addr(addr),
.o_mapped_addr(map_addr)
);
/* These could be made better probably */
task write_reg(input logic [4:0] _addr, input logic [7:0] _data);
@(negedge r_clk_cpu);
cs <= '1;
addr <= _addr;
rwb <= '0;
i_data <= '1;
@(posedge r_clk_cpu);
i_data <= _data;
@(negedge r_clk_cpu);
cs <= '0;
rwb <= '1;
endtask
task read_reg(input logic [2:0] _addr, output logic [7:0] _data);
@(negedge r_clk_cpu);
cs <= '1;
addr <= _addr;
rwb <= '1;
i_data <= '1;
@(posedge r_clk_cpu);
_data <= o_data;
@(negedge r_clk_cpu);
cs <= '0;
rwb <= '1;
endtask
int errors;
int rnd_values [16];
int rnd_addr;
initial begin
for (int i = 0; i < 16; i++) begin
rnd_values[i] = $urandom();
end
errors = 0;
repeat (5) @(posedge r_clk_cpu);
reset = 1;
cs = 0;
rwb = 1;
addr = '0;
i_data = '0;
repeat (5) @(posedge r_clk_cpu);
reset = 0;
repeat (5) @(posedge r_clk_cpu);
for (int i = 0; i < 16; i++) begin
write_reg(2*i, rnd_values[i][7:0]);
write_reg(2*i + 1, rnd_values[i][15:8]);
end
repeat (5) @(posedge r_clk_cpu);
for (int i = 0; i < 16; i++) begin
assert (u_mapper.mm[i] == rnd_values[i][15:0]) else begin
$error("mm[%d] expected 0x%x got 0x%x", i, rnd_values[i][15:0], u_mapper.mm[i]);
errors += 1;
end
end
for (int i = 0; i < 16; i++) begin
rnd_addr = $urandom();
addr = i << 12 | rnd_addr[11:0];
#1 // Neccesary for this assertion to work
assert (map_addr == {rnd_values[i][12:0], rnd_addr[11:0]}) else begin
$error("Expected %x got %x", {rnd_values[i][12:0], rnd_addr[11:0]}, map_addr);
end
@(posedge r_clk_cpu);
end
if (errors != 0) begin
$finish_and_return(-1);
end else begin
$finish();
end
end
initial
begin
$dumpfile("mapper_tb.vcd");
$dumpvars(0,mapper_tb);
for (int i = 0; i < 16; i++) $dumpvars(0, u_mapper.mm[i]);
end
endmodule

View File

@@ -1,49 +0,0 @@
`timescale 1ns/1ps
module rtc_code_tb();
sim_top u_sim_top();
always begin
if (
u_sim_top.w_cpu_addr == 16'h0 &&
u_sim_top.w_cpu_we == '1
) begin
if (u_sim_top.w_cpu_data_from_cpu == 8'h6d) begin
$display("Good finish!");
$finish();
end else begin
$display("Bad finish!");
$finish_and_return(-1);
end
end
# 1;
end
localparam increment = 3;
logic [7:0] prev;
initial prev = '0;
always @(u_sim_top.w_cpu_addr) begin
if (
u_sim_top.w_cpu_addr == 16'h1 &&
u_sim_top.w_cpu_we == '1
) begin
if (u_sim_top.w_cpu_data_from_cpu <= prev) begin
$display("Value didn't increment!");
$display("Bad finish!");
$finish_and_return(-1);
end
prev = u_sim_top.w_cpu_data_from_cpu;
$display("print1: %x", u_sim_top.w_cpu_data_from_cpu);
end
end
initial begin
repeat (5000) @(posedge u_sim_top.r_clk_cpu);
$display("Timed out");
$finish_and_return(-1);
end
endmodule

View File

@@ -1,117 +0,0 @@
`timescale 1ns/1ps
module rtc_tb();
logic r_clk_cpu;
initial begin
r_clk_cpu <= '1;
forever begin
#125 r_clk_cpu <= ~r_clk_cpu;
end
end
logic reset, rwb, cs, addr, irq;
logic [7:0] i_data, o_data;
rtc u_rtc(
.clk(r_clk_cpu),
.reset(reset),
.rwb(rwb),
.cs(cs),
.addr(addr),
.i_data(i_data),
.o_data(o_data),
.irq(irq)
);
initial begin
do_reset();
set_increment(1);
set_threshold(7);
set_irq_threshold(2);
enable_rtc(3);
repeat (20) @(posedge r_clk_cpu);
$finish();
end
initial begin
$dumpfile("rtc_tb.vcd");
$dumpvars(0,rtc_tb);
end
task do_reset();
repeat (5) @(posedge r_clk_cpu);
reset = 1;
cs = 0;
rwb = 1;
addr = '0;
i_data = '0;
repeat (5) @(posedge r_clk_cpu);
reset = 0;
repeat (5) @(posedge r_clk_cpu);
endtask
/* These should be shared */
task write_reg(input logic [4:0] _addr, input logic [7:0] _data);
@(negedge r_clk_cpu);
cs <= '1;
addr <= _addr;
rwb <= '0;
i_data <= '1;
@(posedge r_clk_cpu);
i_data <= _data;
@(negedge r_clk_cpu);
cs <= '0;
rwb <= '1;
@(posedge r_clk_cpu);
endtask
task read_reg(input logic [2:0] _addr, output logic [7:0] _data);
@(negedge r_clk_cpu);
cs <= '1;
addr <= _addr;
rwb <= '1;
i_data <= '1;
@(posedge r_clk_cpu);
_data <= o_data;
@(negedge r_clk_cpu);
cs <= '0;
rwb <= '1;
@(posedge r_clk_cpu);
endtask
task set_increment(input logic [31:0] _increment);
for (int i = 0; i < 4; i++) begin
write_reg(0, 8'h10 | i);
write_reg(1, _increment[8*i +: 8]);
end
endtask
task set_threshold(input logic [31:0] _threshold);
for (int i = 0; i < 4; i++) begin
write_reg(0, 8'h00 | i);
write_reg(1, _threshold[8*i +: 8]);
end
endtask
task set_irq_threshold(input logic [31:0] _increment);
for (int i = 0; i < 4; i++) begin
write_reg(0, 8'h20 | i);
write_reg(1, _increment[8*i +: 8]);
end
endtask
task enable_rtc(input logic [7:0] _ctrl);
write_reg(0, 8'h30);
write_reg(1, _ctrl);
endtask
task read_output(output logic [31:0] _output);
for (int i = 0; i < 4; i++) begin
write_reg(0, 8'h30 | i);
read_reg(1, _output[8*i +: 8]);
end
endtask
endmodule

Some files were not shown because too many files have changed in this diff Show More