My background is probably similar to yours. I don't know VHDL. I started with Verilog because of its C-like syntax. If you know C but also understand how clocks work with flip-flips, getting started with Verilog is quite easy, and its module concept works well. I think it is also less verbose than VHDL. But I find things not to like about Verilog. One is that it is not strongly typed. This can lead to errors. Another is that the "wire" vs "reg" definition is pretty weak from a language design point of view. But I think I will stick with Verilog out of inertia. Verilog on a cheap FPGA board can be fun for software folks (like us) who have worked close to the hardware. Cheers.
Verilog puts you on the pipeline to SystemVerilog and SystemC so definitely go verilog. I first learned VHDL and let me tell you, it is awful and has a strict syntax and design in the worst ways. The type system is awful.
@@mattymerr701 When I worked in the defence industry it VHDL was the standard to use. However as an embedded C programmer, I'll take the verilog recommendations, thanks both!
Rust gains traction as it fails compile time, which is better - I see vhdl as the more safe variant. I did however start with verilog, but now i just use whatever is used already :-)
Unless you're doing DSP and math heavy twos compliment /signed and unsigned arithmetic, there's no advantage to VHDL versus Verilog these days. It is more verbose and while 'safe' it looks similar to ADA syntax wise. If you're already comfortable with C , then Verilog will make a bit more sense.
I saw the tang 4K also comes with an M3 coprocessor, would that be ideal for offloading 'non-critical' general compute tasks to, while the FPGA handles the critical functions of a program?
Having a hard core on an FPGA would certainly be interesting. But the 4K is a fairly small FPGA. A Tang Nano 9K with a PicoRV32 soft core likely will have as many resources left over after including the soft core as the 4K has in the first place. But the m3 will likely be faster. The Tang Nano 20K is also nice. After including a PicoRV32 soft core, it will have more resources left over than even the 9K. I think if you are just learning about FPGAs without a specific project in mind (in particular one that needs a core), then the 9K and 20K are good choices. The prices don't appear to be that different. My Tang 20K was $25 from Amazon. That was a good deal. If I could buy a 4K for, say $10, I'd probably get one just to see exactly how the m3 is integrated, though. Basically, they are all good choices in one way or another. By the way, in case you didn't see them, I have several videos that show the use of the PicoRV32 soft core. I like using the version straight from github rather than using the encrypted IP block available directly in the Gowin IDE.
Thank you for the video. Can this Tang Nano 20k generate sine waves at HF (20 meter) frequencies ? Just in case I want to build a well filtered beacon...just in case.
The FPGA on the Tang Nano 20K (and the 9K) is a digital only device so its output pins are either high or low-- so it can produce square waves but not (directly) sine waves. If all you want is a square wave clock generator, check out a part called si5351. John Hawkes made a youtube video about using one of these as an LO sine wave generator by filtering its output. The video is called "SI5351 Clock Gen as Radio Local Oscillator in Old Radios".
@@electronics.tinker Thank you for your reply. I check out Hawkes video. I put a low pass filter into the output from the Si5351a and that knocked everything down a bit. However, the signal was knocked down below 0 db. So now I think I have to amplify and filter the results of the amplifier as well. ... So it goes.