8000 Invalid verilog representation · Issue #308 · m-labs/migen · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Invalid verilog representation #308

New iss 8641 ue

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

Open
ollie-etl opened this issue May 6, 2025 · 0 comments
Open

Invalid verilog representation #308

ollie-etl opened this issue May 6, 2025 · 0 comments

Comments

@ollie-etl
Copy link

I've been looking at a litex JESD204b core, and trying to simulate the resultant code in xsim.

https://github.com/enjoy-digital/litejesd204b/blob/68c63709648e4b533a0f8154a79e06e98ac4fd4d/litejesd204b/link.py#L298-L311

It appears that migen is generating verilog of the following form for this constant

reg [31:0] a = 32'0;

// ...
always@(*) begin
   a <= 32'b0
  a[7:0]  <= 8'd8
end

This is invalid, as always @(*) is not evaluated at time zero (unlike vhdl), and there are no inputs in the list to cause an event. This means the content of the always block never executes.

The question is, is this expected behaviour, with a known workaround, or a bug in the backend of migen?

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

No branches or pull requests

1 participant
0