Open cr1901 opened 1 year ago
Sorry for the delay in getting back on this one!
ECP5 support
I don't think this is much interest personally right now, the few things that you can program with a .JED are OTP and so there's a pretty high risk of bricking parts while testing it...
Are there any objections to adding a package field to the textual format?
Yes, although I'd prefer this to be only generated for MachXO2/3 for now, so we don't have an unnecessary compatibility break for the much larger ECP5 user base.
My proposal is to add a .ufm_init/.ufm_start_page. field to the textual format, analogous to .ebr_init for Lattice compat with UFM_INIT_FILE_NAME, with maybe a command-line override to ecppack to change out the UFM image at packing time.
No objections
@cr1901 and @gatecat Will probably start taking care of JED support since it is also needed for some XO2/3 features. @cr1901 Will let you know about progress
@mmicko I already implemented JED support in the PR, so feel free to add to it if you wish.
Some MachXO2 boards (e.g. the STEP-MXO2) have an on-board microcontroller which talks to the FPGA JTAG on the user's behalf. Sometimes, these microcontrollers only accepts Lattice-generated JEDEC files, not
.bit
or SVD files. So this PR implements JEDEC file generation. I'm marking as draft right now, b/c while the core works, some things are incomplete. However, I would appreciate feedback now that I have something working. I'm also happy to split this into multiple issues/PRs:--compress
option.USERCODE
bits generation.USERCODE
, andIDCODE
(? I didn't know you could do that). SVF may work just fine for that purpose. The MachXO families really do need JED support, however, thanks to internal flash programming.NOTE
fields to be present in the JEDEC file. I added a--jed-note
field as a limited workaround for STEP-MXO2.DEVICE NAME: LCMXO2-4000HC-6CSBGA132
. Presently, the textual format only includes part and package number as a.comment
, rather than a structured field I can rely on not changing. Are there any objections to adding a package field to the textual format?NOTE
fields to find the User Flash Memory, so this also ties into Diamond compatibility.UFM_INIT_FILE_NAME
parameter
of anEFB
primitive instantiation. My proposal is to add a.ufm_init
/.ufm_start_page
. field to the textual format, analogous to.ebr_init
for Lattice compat withUFM_INIT_FILE_NAME
, with maybe a command-line override toecppack
to change out the UFM image at packing time.