f4pga-arch-defs icon indicating copy to clipboard operation
f4pga-arch-defs copied to clipboard

Add support for OCLK and OCLKB inputs of ISERDESE2. Add matching test…

Open bl0x opened this issue 3 years ago • 4 comments

… bench.

These inputs are missing, when one wants to run the ISERDES in OVERSAMPLE mode.

bl0x avatar Jan 24 '22 00:01 bl0x

I'm still trying to wrap my head around the big picture: When installing symbiflow via symbiflow-examples, will the changes here eventually end up in this file?

symbiflow/xc7/install/share/symbiflow/techmaps/xc7_vpr/techmap/cells_map.v

bl0x avatar Jan 24 '22 00:01 bl0x

Issue #2337 is related to this PR.

bl0x avatar Jan 24 '22 00:01 bl0x

Uh oh, xc-fasm does not like these. Something is missing. I'm getting these messages from fasm:

  File "/home/bloeher/opt/symbiflow/xc7/conda/envs/xc7/lib/python3.7/site-packages/prjxray/fasm_assembler.py", line 190, in parse_fasm_filename
    raise FasmLookupError('\n'.join(missing_features))
prjxray.fasm_assembler.FasmLookupError: Segment DB LIOI3_TBYTETERM, key LIOI3_TBYTETERM.IOI_OCLKM_0.IOI_IMUX31_1 not found from line 'LIOI3_TBYTETERM_X0Y13.IOI_OCLKM_0.IOI_IMUX31_1'
Segment DB LIOI3_TBYTETERM, key LIOI3_TBYTETERM.IOI_ILOGIC0_OCLKB.IOI_OCLK_0 not found from line 'LIOI3_TBYTETERM_X0Y13.IOI_ILOGIC0_OCLKB.IOI_OCLK_0'

This is probably caused by the fact that

prjxray-db/artix7/segbits_lioi3_tbyteterm.db

is missing the appropriate lines

bl0x avatar Jan 24 '22 01:01 bl0x

I've run the code now with the Vivado toolchain and have discovered that a few things need to be connected in order to produce a valid bitstream with Vivado.

There needs to be a MMCME2_ADV generating the clocks, which then connect to clk/clkb/oclk/oclkb. Also the rst signal was not connected.

With these changes I can also produce a valid bitstream using the Symbiflow toolchain. So, I think that the additional fuzzing suggested above is not needed.

bl0x avatar Jan 24 '22 16:01 bl0x