Skip to content

FuseSoC: Sync common_cells.core with Bender.yml - #358

Merged
phsauter merged 1 commit into
masterfrom
xsim-fix
Aug 21, 2026
Merged

FuseSoC: Sync common_cells.core with Bender.yml #358
phsauter merged 1 commit into
masterfrom
xsim-fix

Conversation

@imchenwu

Copy link
Copy Markdown
Contributor
  1. cc_stream_delay: Explicitly zero-extend the LFSR output to the counter width. Connecting the narrow port directly leaves the upper bits undriven (Z) in xsim.
  2. Align the filelist in common_cells.core with Bender.yml.

TODO:

- Clean up the file list in .core
- Add tech_cells_generic_dependency
@imchenwu
imchenwu requested a review from phsauter August 19, 2026 14:59
@phsauter

Copy link
Copy Markdown
Collaborator

Odd, as far as I know port connections are an assignment-like context and assignments should always zero-extend in SystemVerilog.
I will have to check the spec, can you please try if you encounter the same problem with assign counter_load = lfsr_out; instead of assign counter_load = CounterBits'(lfsr_out);?
(implicit zero extending instead of explicit extending)

Either I am wrong about the spec of xsim is mistakenly not treating port connections as assignment-like.

@imchenwu

Copy link
Copy Markdown
Contributor Author

Hi Philippe, I also ran the unmodifed cc_stream_delay (direct port connection, without intermediate signal) through the full AXI xsim flow on vitis 2025.2 (a newer version compared to the version I previously used) and it works. Therefore I think the original code is spec-compliant and I can revert the logic I introduced in this pr.

@phsauter
phsauter added this pull request to the merge queue Aug 21, 2026
Merged via the queue into master with commit db42769 Aug 21, 2026
5 checks passed
@phsauter
phsauter deleted the xsim-fix branch August 21, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants