Replies: 6 comments 4 replies
-
Icecube2 compiles the code fine once I had fixed its complaints about wire and registers being used before they are declared. It reports 10% lut usage. |
Beta Was this translation helpful? Give feedback.
-
I was looking for generl guidance about what might cause it, but sure here is the code https://github.com/pm100/alchrity_cu. its the hack subdir. you will need a submodule update too to pick up m y library |
Beta Was this translation helpful? Give feedback.
-
if i comment out shell.v:197 |
Beta Was this translation helpful? Give feedback.
-
here is what icecube says
|
Beta Was this translation helpful? Give feedback.
-
I found the issue using this script:
Saving the script as On the memory handling page I linked earlier, I would suggest either following the "Synchronous SDP with clock domain crossing" pattern (which most closely maps to the ICE40, the same clock can be used for both) or the "Asynchronous-read SDP" pattern. As a quick test, I commented out lines 63-65 and changed line 101 to Also as a quick aside, ROM means read-only-memory, so strictly speaking you shouldn't be trying to write to a ROM :) |
Beta Was this translation helpful? Give feedback.
-
Thank you , yes I have delved a whole lot deeper, and am now using the ice40 native primitive SB_RAM40_4K. Learning fast but I have a long way to go. Now understanding the whole process of high level verilog getting turned into device/vendor specific stuff etc. Re writing to ROM. FYI this is an implementation of the Hack system built in the excellent 'the elements of computing systems' aka 'from nand to tetris'. The simple CPU built there has RAM and ROM. But you need to be able to load the ROM. The cpu only runs code from the ROM but has no way of writing to it. My 'shell' is like a mini gdb, read / write ROM, go, will add read/write RAM, single step etc. This is my first non trivial fpga project (and I know its trivial in real life, but compared to the tutorials noobs get its fairly large) My main frustration is that I know so little (very very experienced sw dev) and its hard to find resources beyond the simple things. Even your few small pointers helped a lot, pointed me in the right direction. |
Beta Was this translation helpful? Give feedback.
-
I keep hitting this and make random changes until things go back to normal (my design actually uses 20% of the ice408k). I see other posting bug reports.
after thinking for a long time yosys says
I feel it is something not initialized correctly, or maybe a logic loop. But iverilog usually picks these things up if yosys does not and iverilog doesnt complain at all when I do a sim.
Beta Was this translation helpful? Give feedback.
All reactions