I'm unpacking new servers for the basement as I type this note! It seems my 15 year old system did not robustly survive the move this summer to my new house. 😕 Once I get things back online I'll be ready to do the next FPGA video.
Loved the video! Amazing design choices!! Raspi connection, breaking out all pins, just amazing, I see things the same way! Would've bought the board if there was some option.
No need to be afraid of BGA. 0.8 mm ball pitch and up can easily be soldered with a hot air gun, and JLCPCB now offers 4-6-8 layers PCB at very affordable prices. And 6-8 layer ones even come with FREE via-in-a-pad process! I've soldered quite a number of 484 balls BGA with a hot air gun before I invested into a reflow oven with zero soldering defects!
@@JohnsBasement I would recommend to begin with smaller packages, like caBGA121 or caBGA256 for ICE40HX4K/8K, both have 0.8 mm ball pitch and so you shouldn't have any troubles soldering them. Just make sure to include alignment marks in the silkscreen so that you can position the part properly, add some tacky flux (I prefer water-washable gel flux like SMD4300TF10) and apply a heat gun from some distance as to not blow the chip away, slowly bringing it closer as flux works it's magic and evaporates. At some point you will see the package drops - that means all solder balls have melted and the job is done. Remove the hot air and let it cool naturally - don't force cooling to avoid uneven cooling. I personally learnt to love reasonable-pitch BGA packages because they allow for more compact PCBs, of course now that I have a reflow oven, soldering them is a complete non-issue, but still. JLCPCB offers 4 layer PCBs for basically nothing (shipping is going to cost more than PCBs), and 6 layer boards for about $50 for five 10x10 cm (with the via-in-a-pad process for free!). That is super-affordable in my book, infact I just recently received five 15x12 cm 10 layer PCBs manufactured by them with ENIG, controlled impedance and other bells and whistles for just under $220 - which is insanely cheap and totally unheard of! BTW you might even want to contact them and ask if they are interested in sponsoring your videos - I've seen many HW-related channels sponsored by them so they seem fairly open to that.
@@JohnsBasement I myself work almost exclusively with Xilinx (now AMD) 7 series FPGAs like Spartan-7 and Artix-7, so my experience with Lattice devices is limited, but at least they are very cheap compared to devices I work with (some of them are pushing well north of $100 per chip).
@@asmi06 Yeah... they're open to it... They have offered to sponsor me in the past. But, as you note, free pcbs isn't much of a sponsorship when shipping is the real cost anyway. Maybe when I start needing $300 boards I'll change my mind? 🤔
You will want the gerber files from the latest release. But note that they will just get you a board. I always just assemble mine myself. On the discord,there are folks that have been ordering things assembled. Jump in there on the Nouveau channel and ask away... I aughtta learn how to order them assembled myself so I can post the BOM in the right format for that too some day.
Thank you John. I was shocked at how cheap it was to have some these boards made ... something like CAD $12 incl shipping from JLCPCB. They are on their way, so I'm looking forward to 'playing along at home' ;-) You asked for comments about port names vs pin numbers. No real preference; it seems to me that this translation is done in the pcf file, so it shouldn't really matter. However, I noticed that in your git examples you've included pcf 'snippet' files i.e. the file contains LED[7:0] matched to 8 pin numbers, but not much else. Do you happen to have a 'default' pcf file which matches ALL of the many port names to pin numbers? I don't mean to nag, nor could I find such a beast online (I was surprised.) If you don't have one, I'll be happy to put one together for you ... but it would be nice.
@@JohnsBasement Thank you John. Not a biggy, but it should save everyone a bit of effort. My PCBs arrived a few days ago. I'm currently up to my eyeballs in other projects and family stuff etc., so I haven't had time to populate them yet. Soon I hope ...
Thanks for making these videos. I'm trying to make a ice40 fpga system of my own. Do you have any advice for what I can do to improve spi signal quality? Even at slow speeds, the square waves are pretty bad but it can eventually write files and read them and only miss less than 100 bytes in a 2mb file. Also, my spi roms stop working frequently. I killed the most recent one by writing a file at the slowest speed and waiting an hour for it to finish which it never did. I've double checked so many times and compared other peoples ice40 schematics so thoroughly that it can't be a pinout issue.
You're welcome. I'd have to see the scope images of your waves to have an idea of the issue. If it is overshoot, maybe add some series 33 ohm resistors close to the driving end of the PCB trace. Do you have a ground plane? Power supply problem?
the worst part is that the pin layout numbers and functional label numbers are all in very much the same range - so any number on the schematic could conceivably belong to either group not to mention IOB looking like 108 until you zoom in lol
@@JohnsBasement I own one, just checked the pricing when you mentioned how expensive they were in the video (at the time of your video it was 50 I think?) I'm making use of your FPGA series here to embed an iCE40 onto an inductive load controller. I have changed almost everything (including the FPGA, I'm using a 48 pin) to suit my usecase but I would be having a terribly difficult time without your videos. Thanks.
In great detail! ...if you are working ahead, look around the github repo at the commands in the minimal example that flashes the EPROM from a raspberry PI. github.com/johnwinans/Verilog-Examples
Hi John. Simply to see how you are getting along. Looking forward to the FPGA #5 ! Regards, RJM
I'm unpacking new servers for the basement as I type this note! It seems my 15 year old system did not robustly survive the move this summer to my new house. 😕
Once I get things back online I'll be ready to do the next FPGA video.
@@JohnsBasement Thank you John. Regards, RJM
Loved the video! Amazing design choices!! Raspi connection, breaking out all pins, just amazing, I see things the same way! Would've bought the board if there was some option.
@@markusheimerl thanks!
No need to be afraid of BGA. 0.8 mm ball pitch and up can easily be soldered with a hot air gun, and JLCPCB now offers 4-6-8 layers PCB at very affordable prices. And 6-8 layer ones even come with FREE via-in-a-pad process! I've soldered quite a number of 484 balls BGA with a hot air gun before I invested into a reflow oven with zero soldering defects!
I may have to recheck their prices!
@@JohnsBasement I would recommend to begin with smaller packages, like caBGA121 or caBGA256 for ICE40HX4K/8K, both have 0.8 mm ball pitch and so you shouldn't have any troubles soldering them. Just make sure to include alignment marks in the silkscreen so that you can position the part properly, add some tacky flux (I prefer water-washable gel flux like SMD4300TF10) and apply a heat gun from some distance as to not blow the chip away, slowly bringing it closer as flux works it's magic and evaporates. At some point you will see the package drops - that means all solder balls have melted and the job is done. Remove the hot air and let it cool naturally - don't force cooling to avoid uneven cooling.
I personally learnt to love reasonable-pitch BGA packages because they allow for more compact PCBs, of course now that I have a reflow oven, soldering them is a complete non-issue, but still.
JLCPCB offers 4 layer PCBs for basically nothing (shipping is going to cost more than PCBs), and 6 layer boards for about $50 for five 10x10 cm (with the via-in-a-pad process for free!). That is super-affordable in my book, infact I just recently received five 15x12 cm 10 layer PCBs manufactured by them with ENIG, controlled impedance and other bells and whistles for just under $220 - which is insanely cheap and totally unheard of! BTW you might even want to contact them and ask if they are interested in sponsoring your videos - I've seen many HW-related channels sponsored by them so they seem fairly open to that.
@@JohnsBasement I myself work almost exclusively with Xilinx (now AMD) 7 series FPGAs like Spartan-7 and Artix-7, so my experience with Lattice devices is limited, but at least they are very cheap compared to devices I work with (some of them are pushing well north of $100 per chip).
@@asmi06 Yeah... they're open to it... They have offered to sponsor me in the past. But, as you note, free pcbs isn't much of a sponsorship when shipping is the real cost anyway. Maybe when I start needing $300 boards I'll change my mind? 🤔
@@JohnsBasement I don't feel that 20$ for shipping is a serious impediment, especially in my case when parts cost is an order of magnitude higher 😀
I can't wait to see what kind of applications for interfacing with the Z180 are possible with this chip!
A graphics adapter sounds good.
I'm pretty excited about it too! Let's figure out how to make it happen!
Nice video, thanks for sharing, well done :)
Thanks!
Great stuff John. Newbie here so forgive me. What exact files do I need from your GitHub repository to send to get the board manufactured?
You will want the gerber files from the latest release. But note that they will just get you a board. I always just assemble mine myself. On the discord,there are folks that have been ordering things assembled. Jump in there on the Nouveau channel and ask away... I aughtta learn how to order them assembled myself so I can post the BOM in the right format for that too some day.
Thank you John. I was shocked at how cheap it was to have some these boards made ... something like CAD $12 incl shipping from JLCPCB. They are on their way, so I'm looking forward to 'playing along at home' ;-)
You asked for comments about port names vs pin numbers. No real preference; it seems to me that this translation is done in the pcf file, so it shouldn't really matter.
However, I noticed that in your git examples you've included pcf 'snippet' files i.e. the file contains LED[7:0] matched to 8 pin numbers, but not much else. Do you happen to have a 'default' pcf file which matches ALL of the many port names to pin numbers? I don't mean to nag, nor could I find such a beast online (I was surprised.) If you don't have one, I'll be happy to put one together for you ... but it would be nice.
I made one at one point... It is probably in one of my repos somewhere. I will see about putting one in the repo with the board. Thanks for the idea.
@@JohnsBasement
Thank you John. Not a biggy, but it should save everyone a bit of effort.
My PCBs arrived a few days ago. I'm currently up to my eyeballs in other projects and family stuff etc., so I haven't had time to populate them yet. Soon I hope ...
@@UA-camBorkedMyOldHandle_why In my case, I wanted real RS-232 for my real terminals!
fpga with 4k LE isnt too small for implementing peripherals for z80 ?
@@AjinkyaMahajan It is plenty big enough for things like UARTs, I2C, SPI, VGA, PS2, gamepads, joysticks,...
Thanks for making these videos. I'm trying to make a ice40 fpga system of my own. Do you have any advice for what I can do to improve spi signal quality? Even at slow speeds, the square waves are pretty bad but it can eventually write files and read them and only miss less than 100 bytes in a 2mb file. Also, my spi roms stop working frequently. I killed the most recent one by writing a file at the slowest speed and waiting an hour for it to finish which it never did. I've double checked so many times and compared other peoples ice40 schematics so thoroughly that it can't be a pinout issue.
You're welcome. I'd have to see the scope images of your waves to have an idea of the issue. If it is overshoot, maybe add some series 33 ohm resistors close to the driving end of the PCB trace. Do you have a ground plane? Power supply problem?
the worst part is that the pin layout numbers and functional label numbers are all in very much the same range - so any number on the schematic could conceivably belong to either group
not to mention IOB looking like 108 until you zoom in lol
That's to keep us on our toes!!
Icestick is currently 150 dollars on both Mouser and Digikey
Skip it & either build a 2057 or try the upduino. -- When we start running synthesizable code, I'll try to always test all three boards.
@@JohnsBasement I own one, just checked the pricing when you mentioned how expensive they were in the video (at the time of your video it was 50 I think?)
I'm making use of your FPGA series here to embed an iCE40 onto an inductive load controller. I have changed almost everything (including the FPGA, I'm using a 48 pin) to suit my usecase but I would be having a terribly difficult time without your videos. Thanks.
Good morning....
Please can you do a video to explain how to flash the Bitstream in the fpga?
In great detail!
...if you are working ahead, look around the github repo at the commands in the minimal example that flashes the EPROM from a raspberry PI.
github.com/johnwinans/Verilog-Examples