Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

bl0x
Copy link

@bl0x bl0x commented Jan 24, 2022

… bench.

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

@probot-autolabeler probot-autolabeler bot added the lang-verilog Issue uses (or requires) Verilog language. label Jan 24, 2022
@bl0x bl0x force-pushed the xc7_iserdese2_oversample branch from a607049 to 19042ff Compare January 24, 2022 00:39
@bl0x
Copy link
Author

bl0x commented Jan 24, 2022

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
Copy link
Author

bl0x commented Jan 24, 2022

Issue #2337 is related to this PR.

@bl0x
Copy link
Author

bl0x commented Jan 24, 2022

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
Copy link
Author

bl0x commented Jan 24, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lang-verilog Issue uses (or requires) Verilog language.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant