It almost recommends an ICE40hx1K dev board. I hope we're going somewhere special with this, because I'm not massively confident of what can actually be done with such an entry-level part. I think Shawn has really got into this one, though - even to the point of insisting that we should not make 'blink' on episode one or two... or three.. PDM microphone to I2S: - go! (eventually?) Part 3 > and only as 'digital' as a Class D amplifier, i.e. not synchronous ("blocking") yet.
From my humble point of view you Shawn are the most impressive and brilliant educator/innovator I have ever seen. Awesome channel and impressive people who support the content and channel. Have a nice day!
Thank you for the clear explanation - Icestick just arrived and managed to get it up and running. Everything works, including my full adder implementation!! Really looking forward to the next part.
I am a bit late to the party, but I'm here now. Very good stuff so far and very beginner friendly. I like the assignments at the end too! I ordered an Alchitry Cu, closest thing I could get to the Icestick. It will be a bit before I get it, but not 21 weeks! I have a cheap Chinese dev board with a Cyclone 4 and a lot of peripherals on it. I am currently using that to follow along till I can get my new board. I will try and catch up as soon as I can. Good job so far.
I've been looking forward to this video and now I'm looking forward to the next. It occurred to me: I should probably subscribe XD I love bitbanging in assembly and this looks like it might be even more fun :O
Interesting overview of verilog! FPGAs are really great for those interesting in retro-computing or learning how a CPU works. I am implementing Ben Eater's 8-bit computer in an FPGA in a series of videos on my channel for anyone interested.
I just get started with fpga and I use Notepad++. The verilog syntax coloring is great, but I agree with you about pcf file. It's plain color, probably need to define by myself
With 3 pins (video data, colorbust, H and V sync) and an external module with a few resistors and transistor you could generate a Black and White(no colorbust) or composite color signal. Apple II schematic has one bipolar transistor and a few resistors and a variable resistor to get the correct voltage. Before HDMI composite video was everywhere. For color it's critical to be able to generate a multiple close to 14.31818 MHz. Colorburst frequency is 3.579545. Artix-7 clock module gets close enough. I tried with Spartan-3e and couldn't get close enough so had drifting colors.
What language is the pcf file in? And after generating the ini file "apio_init -b icestick" How does "apio build" automatically generate the command "yosys -p "synth_ice40 -json harware.json" -q and_gate.v"? for example, if you havd more files, now does it know which is the top one? apio upload
So, I programmed the full-adder. I must say the synthesiser's error messages are not particularly helpful. Also one of my buttons on the breadboard was not working well, and I thought there was a problem with the verilog code. So a good advice is to test one's hardware using a simple programme, for example having each button press light a particular led. Anyway, great stuff. Incidentally, the link to the Wikipedia article about full adders is missing in the description of the video.
Can anybody help me? I'm a beginner and I'm looking for a FPGA board to start with. I don't know which board is the most suitable for me. Nexys A7 is way too expensive. My options for the time being are: Basys 3 artix-7, Arty A7/S7 or Cmod A7/S7 (breadboardable). I need a good price quality ratio. And also I don't know if the breadboardable boards are enough powerful and capable. Are they worth it? Or the extra money for the other boards like Basys and Arty is worth it more? Thank you very much!
Hey Shawn, I dont known, why! this is happening? Im using Icebreaker dev board and i use your code and using yapio to build and upload the code. "&" is performing "|" operation and vice versa. can you help me out!
sick. over too quickly, I could watch this for hours. one thing I didn't get fully though is the 'wire' part. I'm thinking the 'assign' only works with outputs and if you're trying to take output from a gate to another gate you'd use a wire? and also, are wires just implicit when you do multiple operations in one expression? i.e. "~a & ~b"? thank you!
Yes, wires are implicit when you do something like `assign out = ~a & ~b;` A wire is just a way to name an intermediate node (or "wire") that connects other logic. You could accomplish the same thing with: wire not_a; wire not_b; assign not_a = ~a; assign not_b = ~b; assign out = not_a & not_b; As you can see, we're just using wires to name the intermediate connections. Also, the `assign` keyword does not need to be used on outputs--we can use it to make connections between things within the module (e.g. connecting the `not_a` wire to the output of the logic `NOT a`). Hope that helps!
Yes its awesome, i have learned alot from this videos, my only problem was that I use iCE40 UltraPlus breakout board, that had a bad FTDI setup, but finaly I managed to change the Descriptor with FT_Prog.
It would be amazing if someone could take a digital logic simulator like Logisim and have it be capable of compiling the physical schematic into Verilog or VHDL!
i am getting a "Error: module 'click' has no attribute 'get_terminal_size'" when i verify. i am using python 3.8.2 and apio 0.6.7. Anyone else see this?
the fpga is very IO focused. why are there only so few pins on this board. i would rather have the possibility to use all pins. also why does it have male full size USB ? I hope they will release a arduino style board soon with about pins at either side and a micro/type c USB connector for easy use on a breadboard. The world of FPGA is still not ready I guess ^^
There are dozens of different boards. This is like saying the world of microcontrollers isn't ready because there's a plastic casing on the EZ430-F2013. APIO alone supports over 30 different boards; e.g. the IceZUM Alhambra is shaped like an Arduino and the iCE40-HX8K Breakout Board breaks out many IOs to the sides. The first FPGA board I remember imitating the Arduino layout was the Papilio One. The TinyFPGA, iceFUN or OrangeCrab might fit better on a breadboard.
I've looked at several fpga tutorials, this is by far the best. Absolutely fantastic.
It almost recommends an ICE40hx1K dev board. I hope we're going somewhere special with this, because I'm not massively confident of what can actually be done with such an entry-level part. I think Shawn has really got into this one, though - even to the point of insisting that we should not make 'blink' on episode one or two... or three.. PDM microphone to I2S: - go! (eventually?)
Part 3 > and only as 'digital' as a Class D amplifier, i.e. not synchronous ("blocking") yet.
It is refreshing to go through all the concepts which I loved learning at my College. Really a Great tutorial
From my humble point of view you Shawn are the most impressive and brilliant educator/innovator I have ever seen. Awesome channel and impressive people who support the content and channel. Have a nice day!
I almost completely agree if I hadn't attended courses with Professor Niklaus Wirth (ETHZ). But yes, compliments!
I love the FPGA tutorials
Keep making great videos
I'm about to take an HDL course at university next semester so this is super helpful! Thank you Digikey and Shawn!
Thank you. This is a nice, gentle introduction to the subject. Perfectly paced. That it uses open-source tools is a bonus. Much appreciated.
I'm really enjoying the series. Following along without a FPGA and just using the simulator, at the moment. Thanks again.
Well done Shawn! Moving up in the world since the beginning of our Sparkfun Days!
Thank you for the clear explanation - Icestick just arrived and managed to get it up and running. Everything works, including my full adder implementation!! Really looking forward to the next part.
Loving this series. I have the subscriptions with the bell on for this channel just so I know when these are out!
Awesome next video of the series. Very well and simply presented. Waiting for the next one
You have a very good presentation style. Clear, concise, articulate. Definitely one of the best presenters I've seen for this material.
Very clear, easy to understand! Keep doing these videos please!
This is a very excellent course, many thanks 👍
Love your videos, the way you explain things....you're amazing! Thanks Shawn for your dedication to education.
Very good tutorial! Perfect tempo and presentation! Keep on the good job 👍👍👍!
This is so great, thank you very much for this easy to follow jump into the topic. This is exactly the level I needed to get started!
I am a bit late to the party, but I'm here now. Very good stuff so far and very beginner friendly. I like the assignments at the end too! I ordered an Alchitry Cu, closest thing I could get to the Icestick. It will be a bit before I get it, but not 21 weeks! I have a cheap Chinese dev board with a Cyclone 4 and a lot of peripherals on it. I am currently using that to follow along till I can get my new board. I will try and catch up as soon as I can. Good job so far.
I've been looking forward to this video and now I'm looking forward to the next. It occurred to me: I should probably subscribe XD
I love bitbanging in assembly and this looks like it might be even more fun :O
Why bitbang in assembly...when you can do it in hardware! :P
Interesting overview of verilog! FPGAs are really great for those interesting in retro-computing or learning how a CPU works. I am implementing Ben Eater's 8-bit computer in an FPGA in a series of videos on my channel for anyone interested.
I wish you could use editor like Visual Studio Code with some extension that styles/colors PCF files syntax. Anyways, great video as always!
I just get started with fpga and I use Notepad++. The verilog syntax coloring is great, but I agree with you about pcf file. It's plain color, probably need to define by myself
i am searching too!!
Thank you, you are the best.
Nice work...Thank you so much
Can you perhaps share the Fritzing part for the iCEstick?
Note that "apio build" now defaults main as the module name. Use the --top-module option to change.
Thank you for making the videos. Your demo is in Windows. Could I work on the project using the Linux system? Thank you.
This is absolute gold
I'm curious to know the contents of the "funny" folder at 3:30 :) (Only if it isn't too personal..)
Mostly just random memes I find and keep :P
With 3 pins (video data, colorbust, H and V sync) and an external module with a few resistors and transistor you could generate a Black and White(no colorbust) or composite color signal. Apple II schematic has one bipolar transistor and a few resistors and a variable resistor to get the correct voltage. Before HDMI composite video was everywhere. For color it's critical to be able to generate a multiple close to 14.31818 MHz. Colorburst frequency is 3.579545. Artix-7 clock module gets close enough. I tried with Spartan-3e and couldn't get close enough so had drifting colors.
For ICE Stick 4 month factory lead time. Not Good..Factory Lead-Time: 21 weeks
What language is the pcf file in?
And after generating the ini file
"apio_init -b icestick"
How does
"apio build"
automatically generate the command "yosys -p "synth_ice40 -json harware.json" -q and_gate.v"? for example, if you havd more files, now does it know which is the top one?
apio upload
Because I couldn't generate the files: .gtkw and .tb To do the simulation?
So, I programmed the full-adder. I must say the synthesiser's error messages are not particularly helpful. Also one of my buttons on the breadboard was not working well, and I thought there was a problem with the verilog code. So a good advice is to test one's hardware using a simple programme, for example having each button press light a particular led. Anyway, great stuff.
Incidentally, the link to the Wikipedia article about full adders is missing in the description of the video.
Muito Obrigado por democratizar esse conhecimento ❤
Can anybody help me? I'm a beginner and I'm looking for a FPGA board to start with. I don't know which board is the most suitable for me. Nexys A7 is way too expensive. My options for the time being are: Basys 3 artix-7, Arty A7/S7 or Cmod A7/S7 (breadboardable). I need a good price quality ratio. And also I don't know if the breadboardable boards are enough powerful and capable. Are they worth it? Or the extra money for the other boards like Basys and Arty is worth it more? Thank you very much!
very helpful bro. thank you!
Hey Shawn, I dont known, why! this is happening?
Im using Icebreaker dev board and i use your code and using yapio to build and upload the code.
"&" is performing "|" operation and vice versa. can you help me out!
solved the issue, made a mistake in de morgan's law ! thanks
sick. over too quickly, I could watch this for hours.
one thing I didn't get fully though is the 'wire' part. I'm thinking the 'assign' only works with outputs and if you're trying to take output from a gate to another gate you'd use a wire?
and also, are wires just implicit when you do multiple operations in one expression? i.e. "~a & ~b"?
thank you!
Yes, wires are implicit when you do something like `assign out = ~a & ~b;` A wire is just a way to name an intermediate node (or "wire") that connects other logic. You could accomplish the same thing with:
wire not_a;
wire not_b;
assign not_a = ~a;
assign not_b = ~b;
assign out = not_a & not_b;
As you can see, we're just using wires to name the intermediate connections. Also, the `assign` keyword does not need to be used on outputs--we can use it to make connections between things within the module (e.g. connecting the `not_a` wire to the output of the logic `NOT a`). Hope that helps!
Yes its awesome, i have learned alot from this videos, my only problem was that I use iCE40 UltraPlus breakout board, that had a bad FTDI setup, but finaly I managed to change the Descriptor with FT_Prog.
It would be amazing if someone could take a digital logic simulator like Logisim and have it be capable of compiling the physical schematic into Verilog or VHDL!
i am getting a "Error: module 'click' has no attribute 'get_terminal_size'" when i verify. i am using python 3.8.2 and apio 0.6.7. Anyone else see this?
had this issue! Try update apio: python -m pip install apio==0.8.4 then use: apio install oss-cad-suite. You should then be able to use APIO verify
👍👍
The Special Tuesday digilent FPGA board prices for Arty and Zynq are well worth looking at. For today only. 11/30/2021.
Brilliant
Has anyone tried following this series using the Alchitry Au?
These videos are great. I just wish that they used vhdl
Oh and Senator, love the bowtie
I need to wait until after work to watch these videos, too distracting.
the fpga is very IO focused. why are there only so few pins on this board. i would rather have the possibility to use all pins.
also why does it have male full size USB ?
I hope they will release a arduino style board soon with about pins at either side and a micro/type c USB connector for easy use on a breadboard.
The world of FPGA is still not ready I guess ^^
There are dozens of different boards. This is like saying the world of microcontrollers isn't ready because there's a plastic casing on the EZ430-F2013. APIO alone supports over 30 different boards; e.g. the IceZUM Alhambra is shaped like an Arduino and the iCE40-HX8K Breakout Board breaks out many IOs to the sides. The first FPGA board I remember imitating the Arduino layout was the Papilio One. The TinyFPGA, iceFUN or OrangeCrab might fit better on a breadboard.
hi
Karnaugh maps are very useful for designing combinatorial logic. en.wikipedia.org/wiki/Karnaugh_map