More Verilog Dark Magic my code is something like this: wire or_gate = X(thing1 | thing2); reg shifter[4:0] = 0; always @(posedge thing3) begin ... shifter <= shifter[1:1] = Xor_gate; ... end Despite "or_gate" only being used in the above code, (cont)
-
Show this thread
-
Putting a "!" in the "X" spot messes up other signals along with or_gate. Also, behavior is different depending on which "X" is replaced with a "!". I understand that changes in placement can mess up other signals, but how does adding an inverter change placement (cont)
1 reply 0 retweets 0 likesShow this thread -
when inverters are merely part of existing LUTs? Any idea as to why this happens
@fpga_dave@oe1cxw? I'm going to switch from arachne to nextpnr which should hopefully fix it or provide more insight.1 reply 0 retweets 0 likesShow this thread -
Replying to @ColeJ71909899 @fpga_dave
(1) "A <= B = C;" isn't valid Verilog code (2) Any change in the netlist can, and likely will, change placement and routing. Even things like just renaming entities or inserting newlines (which changes source location annotations).
1 reply 0 retweets 1 like -
Replying to @oe1cxw @fpga_dave
Oops I messed up that line it should be shifter[1:1] <= Xor_gate; Huh, I didn't know that PNR output could depend on those variables. That a weird explanation for weird behavior
1 reply 0 retweets 0 likes
A lot of things in place an route depend on the order things like cells are processed. Inferred cells are assigned auto-generated names that can contain things like an index. So adding an additional inverter can change those cell names, and thus change the sorting order.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.