REMINDER - Stay logged in for at least 2 hours a week to get whitelisted.
Also it helps build a picture where our "good traffic" is coming from for detection scripts.
:o)
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2 FrontBench The Frontier: Elite 2 intro as a benchmark
ERROR:Xst:899 - "rtl/main_top.v" line 506: The logic for <data> does not match a known FF or Latch template. The description style you are using to describe a register or latch is not supported in the current software release.
WARNING:Xst:1464 - "rtl/main_top.v" line 125: Exactly equal expression will be synthesized as an equal expression, simulation mismatch is possible.
WARNING:Xst:1464 - "rtl/main_top.v" line 126: Exactly equal expression will be synthesized as an equal expression, simulation mismatch is possible.
ERROR:Xst:899 - "rtl/main_top.v" line 506: The logic for <data> does not match a known FF or Latch template. The description style you are using to describe a register or latch is not supported in the current software release.
You do not have the required permissions to view the files attached to this post.
Basically it doesn't like your always statement. You've not covered all cases I expect.
Put in an else where you just set data to D?
BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2 FrontBench The Frontier: Elite 2 intro as a benchmark
ERROR:Xst:899 - "rtl/main_top.v" line 506: The logic for <data> does not match a known FF or Latch template. The description style you are using to describe a register or latch is not supported in the current software release.
You are declaring a flip flop with an async reset (or preset), but you are not using it. The compiler gets confused and doesn't know which one is the clock and which one is the async.
always @(posedge CLK100M, negedge AS30) begin
if (BUSEN_IRQ == 1'b1) begin
// data[7:0] <= D[7:0];
// data[5] <= 1'b0; //patch bit 5
data[7:0] <= { D[7:6], 1'b0, D[4:0] };
end
if (BUSEN_IRQ == 1'b0) begin
D[7:0] <= BUSEN_IRQ ? 8'bzzzzzzzz : data[7:0];
end
end
Still not happy :( Its pointing to the second to last END :shrug:
ERROR:HDLCompilers:247 - "rtl/main_top.v" line 510 Reference to vector wire 'D' is not a legal reg or variable lvalue
ERROR:HDLCompilers:106 - "rtl/main_top.v" line 510 Illegal left hand side of nonblocking assignment
ijor wrote: 18 Apr 2022 22:54
You are declaring a flip flop with an async reset (or preset), but you are not using it. The compiler gets confused and doesn't know which one is the clock and which one is the async.
ahhhhh.. I'm confused nevermind the compiler :lol:
It compiled now! As to if the code does what I want is another matter...
EDIT:
Nope, not booting at all now :lol: Will look at it again tomorrow when I get home from work.
Badwolf wrote: 18 Apr 2022 22:28
You're assigning D[7:0] twice. Once at the top, once at the bottom. Drop the top one.
ah yep. Made no odds though.
Assigning multiple times is usually beginning because, depending on the case the language does allow it. But you should be careful and normally avoid it, because it might be confusing. In some cases (not really here) it might be useful.
ahhh I had a incorrect inversion. Now we booting again! Autoboot still works! Hopefully that will all function how it should with the other bits as well.
So thanks @Badwolf and @ijor for your input! :cheers:
EDIT:
:lol:
Capture.PNG
You do not have the required permissions to view the files attached to this post.