Skip to content

Commit

Permalink
Removed buffers from pinmux and hooked it up in verilator
Browse files Browse the repository at this point in the history
The buffers were removed from the pinmux and put into a seperate
padring. The pinmux was moved into the sonata_system module.

Previously the pinmux wasn't used in the verilator top level. Now it is.
  • Loading branch information
HU90m committed Oct 21, 2024
1 parent 4d7a9a8 commit 72118f3
Show file tree
Hide file tree
Showing 15 changed files with 1,342 additions and 1,595 deletions.
118 changes: 59 additions & 59 deletions data/pins_sonata.xdc
Original file line number Diff line number Diff line change
Expand Up @@ -84,27 +84,27 @@ set_property -dict { PACKAGE_PIN K2 IOSTANDARD LVCMOS18 } [get_ports {usrusb_su
set_property -dict { PACKAGE_PIN K1 IOSTANDARD LVCMOS18 } [get_ports {usrusb_vbusdetect}]

## PMOD0
set_property -dict { PACKAGE_PIN H14 IOSTANDARD LVCMOS33 } [get_ports {pmod0[0]}]
set_property -dict { PACKAGE_PIN F16 IOSTANDARD LVCMOS33 } [get_ports {pmod0[1]}]
set_property -dict { PACKAGE_PIN F15 IOSTANDARD LVCMOS33 } [get_ports {pmod0[2]}]
set_property -dict { PACKAGE_PIN G14 IOSTANDARD LVCMOS33 } [get_ports {pmod0[3]}]
set_property -dict { PACKAGE_PIN J13 IOSTANDARD LVCMOS33 } [get_ports {pmod0[4]}]
set_property -dict { PACKAGE_PIN E17 IOSTANDARD LVCMOS33 } [get_ports {pmod0[5]}]
set_property -dict { PACKAGE_PIN D17 IOSTANDARD LVCMOS33 } [get_ports {pmod0[6]}]
set_property -dict { PACKAGE_PIN K13 IOSTANDARD LVCMOS33 } [get_ports {pmod0[7]}]
set_property -dict { PACKAGE_PIN H14 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod0[0]}]
set_property -dict { PACKAGE_PIN F16 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod0[1]}]
set_property -dict { PACKAGE_PIN F15 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod0[2]}]
set_property -dict { PACKAGE_PIN G14 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod0[3]}]
set_property -dict { PACKAGE_PIN J13 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod0[4]}]
set_property -dict { PACKAGE_PIN E17 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod0[5]}]
set_property -dict { PACKAGE_PIN D17 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod0[6]}]
set_property -dict { PACKAGE_PIN K13 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod0[7]}]

## PMOD1
set_property -dict { PACKAGE_PIN B18 IOSTANDARD LVCMOS33 } [get_ports {pmod1[0]}]
set_property -dict { PACKAGE_PIN E16 IOSTANDARD LVCMOS33 } [get_ports {pmod1[1]}]
set_property -dict { PACKAGE_PIN A18 IOSTANDARD LVCMOS33 } [get_ports {pmod1[2]}]
set_property -dict { PACKAGE_PIN B18 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod1[0]}]
set_property -dict { PACKAGE_PIN E16 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod1[1]}]
set_property -dict { PACKAGE_PIN A18 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod1[2]}]
## rev 0.3+
set_property -dict { PACKAGE_PIN H17 IOSTANDARD LVCMOS33 } [get_ports {pmod1[3]}]
set_property -dict { PACKAGE_PIN H17 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod1[3]}]
## rev <= 0.2
# set_property -dict { PACKAGE_PIN E15 IOSTANDARD LVCMOS33 } [get_ports {pmod1[3]}]
set_property -dict { PACKAGE_PIN D15 IOSTANDARD LVCMOS33 } [get_ports {pmod1[4]}]
set_property -dict { PACKAGE_PIN C15 IOSTANDARD LVCMOS33 } [get_ports {pmod1[5]}]
set_property -dict { PACKAGE_PIN H16 IOSTANDARD LVCMOS33 } [get_ports {pmod1[6]}]
set_property -dict { PACKAGE_PIN G16 IOSTANDARD LVCMOS33 } [get_ports {pmod1[7]}]
set_property -dict { PACKAGE_PIN D15 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod1[4]}]
set_property -dict { PACKAGE_PIN C15 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod1[5]}]
set_property -dict { PACKAGE_PIN H16 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod1[6]}]
set_property -dict { PACKAGE_PIN G16 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports {pmod1[7]}]

## Status LEDs
set_property -dict { PACKAGE_PIN K5 IOSTANDARD LVCMOS33 } [get_ports led_legacy]
Expand Down Expand Up @@ -133,12 +133,12 @@ set_property -dict { PACKAGE_PIN P3 IOSTANDARD LVCMOS33 } [get_ports rs232_tx]
set_property -dict { PACKAGE_PIN N6 IOSTANDARD LVCMOS33 } [get_ports rs232_rx]

## QWIIC and Arduino Shield
set_property -dict { PACKAGE_PIN U7 IOSTANDARD LVCMOS33 } [get_ports sda0]
set_property -dict { PACKAGE_PIN V9 IOSTANDARD LVCMOS33 } [get_ports scl0]
set_property -dict { PACKAGE_PIN U7 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports sda0]
set_property -dict { PACKAGE_PIN V9 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports scl0]

## QWIIC
set_property -dict { PACKAGE_PIN V7 IOSTANDARD LVCMOS33 } [get_ports sda1]
set_property -dict { PACKAGE_PIN U9 IOSTANDARD LVCMOS33 } [get_ports scl1]
set_property -dict { PACKAGE_PIN V7 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports sda1]
set_property -dict { PACKAGE_PIN U9 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports scl1]

## mikroBUS Click
## Reset (connected to GPO)
Expand All @@ -152,9 +152,9 @@ set_property -dict { PACKAGE_PIN U1 IOSTANDARD LVCMOS33 } [get_ports mb3]
## SPI COPI
set_property -dict { PACKAGE_PIN T3 IOSTANDARD LVCMOS33 } [get_ports mb4]
## I2C SDA
set_property -dict { PACKAGE_PIN V1 IOSTANDARD LVCMOS33 } [get_ports mb5]
set_property -dict { PACKAGE_PIN V1 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports mb5]
## I2C SCL
set_property -dict { PACKAGE_PIN U2 IOSTANDARD LVCMOS33 } [get_ports mb6]
set_property -dict { PACKAGE_PIN U2 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports mb6]
## Enable pull-ups because this I2C bus will often be undriven externally.
set_property PULLTYPE PULLUP [get_ports mb5]
set_property PULLTYPE PULLUP [get_ports mb6]
Expand All @@ -170,27 +170,27 @@ set_property -dict { PACKAGE_PIN V6 IOSTANDARD LVCMOS33 } [get_ports mb10]
## R-Pi Header

## GPIO/SPI1 bus
set_property -dict { PACKAGE_PIN V11 IOSTANDARD LVCMOS33 } [get_ports rph_g21_sclk]
set_property -dict { PACKAGE_PIN T10 IOSTANDARD LVCMOS33 } [get_ports rph_g20_copi]
set_property -dict { PACKAGE_PIN V14 IOSTANDARD LVCMOS33 } [get_ports rph_g19_cipo]
set_property -dict { PACKAGE_PIN V11 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g21_sclk]
set_property -dict { PACKAGE_PIN T10 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g20_copi]
set_property -dict { PACKAGE_PIN V14 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g19_cipo]
## SPI1 CE0
set_property -dict { PACKAGE_PIN P18 IOSTANDARD LVCMOS33 } [get_ports rph_g18]
## SPI1 CE1
set_property -dict { PACKAGE_PIN M14 IOSTANDARD LVCMOS33 } [get_ports rph_g17]
set_property -dict { PACKAGE_PIN T9 IOSTANDARD LVCMOS33 } [get_ports rph_g16_ce2]

## GPIO/SPI0 bus
set_property -dict { PACKAGE_PIN P17 IOSTANDARD LVCMOS33 } [get_ports rph_g11_sclk]
set_property -dict { PACKAGE_PIN V16 IOSTANDARD LVCMOS33 } [get_ports rph_g10_copi]
set_property -dict { PACKAGE_PIN V17 IOSTANDARD LVCMOS33 } [get_ports rph_g9_cipo]
set_property -dict { PACKAGE_PIN P17 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g11_sclk]
set_property -dict { PACKAGE_PIN V16 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g10_copi]
set_property -dict { PACKAGE_PIN V17 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g9_cipo]
set_property -dict { PACKAGE_PIN V15 IOSTANDARD LVCMOS33 } [get_ports rph_g8_ce0]
## In schematic v0.8 and below, this pin is called rpg_g8_ce1.
set_property -dict { PACKAGE_PIN R11 IOSTANDARD LVCMOS33 } [get_ports rph_g7_ce1]

## GPIO/I2C bus
set_property -dict { PACKAGE_PIN L13 IOSTANDARD LVCMOS33 } [get_ports rph_g2_sda]
set_property -dict { PACKAGE_PIN L13 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g2_sda]
## rev 0.3+
set_property -dict { PACKAGE_PIN M16 IOSTANDARD LVCMOS33 } [get_ports rph_g3_scl]
set_property -dict { PACKAGE_PIN M16 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g3_scl]
## rev <= 0.2
# set_property -dict { PACKAGE_PIN K18 IOSTANDARD LVCMOS33 } [get_ports rph_g3_scl]

Expand All @@ -201,51 +201,51 @@ set_property -dict { PACKAGE_PIN M16 IOSTANDARD LVCMOS33 } [get_ports rph_g3_scl
## rev 0.5+ have on-board pull ups

## UART
set_property -dict { PACKAGE_PIN K17 IOSTANDARD LVCMOS33 } [get_ports rph_txd0]
set_property -dict { PACKAGE_PIN L18 IOSTANDARD LVCMOS33 } [get_ports rph_rxd0]
set_property -dict { PACKAGE_PIN K17 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_txd0]
set_property -dict { PACKAGE_PIN L18 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_rxd0]

## Other GPIO
set_property -dict { PACKAGE_PIN N15 IOSTANDARD LVCMOS33 } [get_ports rph_g4]
set_property -dict { PACKAGE_PIN T13 IOSTANDARD LVCMOS33 } [get_ports rph_g5]
set_property -dict { PACKAGE_PIN U14 IOSTANDARD LVCMOS33 } [get_ports rph_g6]
set_property -dict { PACKAGE_PIN V10 IOSTANDARD LVCMOS33 } [get_ports rph_g12]
set_property -dict { PACKAGE_PIN R13 IOSTANDARD LVCMOS33 } [get_ports rph_g13]
set_property -dict { PACKAGE_PIN L16 IOSTANDARD LVCMOS33 } [get_ports rph_g22]
set_property -dict { PACKAGE_PIN N14 IOSTANDARD LVCMOS33 } [get_ports rph_g23]
set_property -dict { PACKAGE_PIN N16 IOSTANDARD LVCMOS33 } [get_ports rph_g24]
set_property -dict { PACKAGE_PIN L15 IOSTANDARD LVCMOS33 } [get_ports rph_g25]
set_property -dict { PACKAGE_PIN R15 IOSTANDARD LVCMOS33 } [get_ports rph_g26]
set_property -dict { PACKAGE_PIN L14 IOSTANDARD LVCMOS33 } [get_ports rph_g27]
set_property -dict { PACKAGE_PIN N15 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g4]
set_property -dict { PACKAGE_PIN T13 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g5]
set_property -dict { PACKAGE_PIN U14 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g6]
set_property -dict { PACKAGE_PIN V10 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g12]
set_property -dict { PACKAGE_PIN R13 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g13]
set_property -dict { PACKAGE_PIN L16 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g22]
set_property -dict { PACKAGE_PIN N14 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g23]
set_property -dict { PACKAGE_PIN N16 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g24]
set_property -dict { PACKAGE_PIN L15 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g25]
set_property -dict { PACKAGE_PIN R15 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g26]
set_property -dict { PACKAGE_PIN L14 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g27]

## ID_SC/SD - I2C bus for HAT ID EEPROM; pull-ups are on the HAT itself
set_property -dict { PACKAGE_PIN T15 IOSTANDARD LVCMOS33 } [get_ports rph_g1] ;# ID_SC
set_property -dict { PACKAGE_PIN U17 IOSTANDARD LVCMOS33 } [get_ports rph_g0] ;# ID_SD
set_property -dict { PACKAGE_PIN T15 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g1] ;# ID_SC
set_property -dict { PACKAGE_PIN U17 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports rph_g0] ;# ID_SD
## Enable pull-ups because this I2C bus will often be undriven externally.
set_property PULLTYPE PULLUP [get_ports rph_g1]
set_property PULLTYPE PULLUP [get_ports rph_g0]

## Arduino Shield
## GPIO
set_property -dict { PACKAGE_PIN N17 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio16]
set_property -dict { PACKAGE_PIN N17 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio16]
## SPI SCLK
set_property -dict { PACKAGE_PIN R17 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio13]
set_property -dict { PACKAGE_PIN R17 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio13]
## SPI CIPO
set_property -dict { PACKAGE_PIN R16 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio12]
set_property -dict { PACKAGE_PIN R16 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio12]
## SPI COPI
set_property -dict { PACKAGE_PIN T18 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio11]
set_property -dict { PACKAGE_PIN T18 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio11]
## SPI chip select
set_property -dict { PACKAGE_PIN U16 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio10]
## GPIO
set_property -dict { PACKAGE_PIN T16 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio9]
set_property -dict { PACKAGE_PIN U18 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio8]
set_property -dict { PACKAGE_PIN M18 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio7]
set_property -dict { PACKAGE_PIN U11 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio6]
set_property -dict { PACKAGE_PIN V12 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio5]
set_property -dict { PACKAGE_PIN R10 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio4]
set_property -dict { PACKAGE_PIN U13 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio3]
set_property -dict { PACKAGE_PIN R12 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio2]
set_property -dict { PACKAGE_PIN U12 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio1]
set_property -dict { PACKAGE_PIN T11 IOSTANDARD LVCMOS33 } [get_ports ah_tmpio0]
set_property -dict { PACKAGE_PIN T16 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio9]
set_property -dict { PACKAGE_PIN U18 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio8]
set_property -dict { PACKAGE_PIN M18 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio7]
set_property -dict { PACKAGE_PIN U11 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio6]
set_property -dict { PACKAGE_PIN V12 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio5]
set_property -dict { PACKAGE_PIN R10 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio4]
set_property -dict { PACKAGE_PIN U13 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio3]
set_property -dict { PACKAGE_PIN R12 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio2]
set_property -dict { PACKAGE_PIN U12 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio1]
set_property -dict { PACKAGE_PIN T11 IOSTANDARD LVCMOS33 IO_BUFFER_TYPE NONE } [get_ports ah_tmpio0]
## Digital inputs from analog(ue) pins via 1k resistor
set_property -dict { PACKAGE_PIN G13 IOSTANDARD LVCMOS33 } [get_ports {ard_an_di[0]}]
set_property -dict { PACKAGE_PIN D14 IOSTANDARD LVCMOS33 } [get_ports {ard_an_di[1]}]
Expand Down
Loading

0 comments on commit 72118f3

Please sign in to comment.