How do you guys deal with tool chain issues and testing your projects on hardware as you make them ?
Its been a year since i started learning about FPGAs and RTL design in general. I can genuinely say that i have spent 90% of the time fighting tool chains than doing the RTL part. First of all if something works on verilator never in my life has anything worked first try hardware. I genuinely have not been able to get anything more complicated that led blinking or uart to run on my board. I have simple risc v cpus working in simulation but i for the life of me cant get them to work on my board. In order to even test something on the board i need to develop the project to a certain extent and hook up output pins BECAUSE THE FKING IDE OPTIMISES AWAY MY CODE. like if wrote my code it must have been there for some reason right , just compile it bro. If i manage to get it to not optimize away anything , i look under the hood and modules like control units are somehow implemented with just 6 luts. I started with verilator i thought good enough atleast i can figure out the issues , once i get that working , i thought about using open source tool chain. Yosys gave out 15 errors , like if it worked in simulation how can there be new errors in my rtl. I work through them too , then the pnr fails because it thought about optimizing but couldn't so it gave up. Then programmer fails because it cant find the cable , or the port is being used by some random other program. I work through all the tool chain issues only to find that it just doesn't work on my board ? What do i even do at that point how do i find the issue. Another major mistake i think i made was i picked up a gowin board to start. There's like no community , every error i search for either there is no solution or the solution is in some old documentation that they have since updated and is no longer applicable. I even tried their own IDE but even that is a whole box of other issues. I can get it to work on sim , pass through open source tool chain but if i load the same thing on gowin ide , it prints out 7 errors and 50 warnings. I genuinely cant figure out where i am going wrong , i just feel like i am wasting so much time. Recently i made a bare bones structure for a pipelined cpu , it just passes the data through registers , and hooked it to a uart module that does work stand alone. And even that i cant seem to get working, its been 2 days since me just fighting the tools to get something to work on hardware that aldready works in sim.