BoardRepo electronics project sharing
100%
Open file
rocket-pcb fmc_sdram view

Imported from GitHub: chipsalliance/rocket-pcb · commit 0302bb4 · license Apache-2.0

Description

PCB libraries and templates for rocket-chip based FPGA/ASIC designs

README

FMC_SDRAM

FMC mezannine card with dual MT48LC16M16A2 SDRAM, organized as 16Mx32bit, with level shifters for VADJ. Also includes USB to UART bridge, JTAG level shifter with ARM 20-pin JTAG header.

3D VIEW TOP

3D VIEW BOTTOM

Preparation

Install kicad 10, cmake, ninja, frugy.

Precautions

When using it for the first time, it is necessary to program the IPMI FRU data for the EEPROM so that the development board can identify the power supply of the FMC.

Build

cmake -G Ninja -B build
cmake --build build

If you only need to build the eeprom binary,

cmake --build build --target eeprom

If you only need to generate a pdf of the schematic or pcb,

cmake --build build --target pdf

If you need to generate complete production data,

cmake --build build --target production

Program the FRU EEPROM

Use a CH341A USB-to-I2C adapter (PID 1a86:5512, EPP/MEM/I2C mode) with ch341eeprom. Wire SDA, SCL, VCC (3.3V) and GND to the on-board M24C02, and pull WP to GND.

ch341eeprom -s 24c02 -e
ch341eeprom -s 24c02 -w build/fmc_fru_eeprom.bin
ch341eeprom -s 24c02 -V build/fmc_fru_eeprom.bin

ch341eeprom truncates the 2 KiB bin to the 256-byte chip on write, and the verifier passes end-to-end. To inspect the FRU contents semantically, ch341eeprom -s 24c02 -r /tmp/dump.bin && frugy -r -d /tmp/dump.bin.