BeagleV-Fire RISC-V and FPGA

Today on IRC the BeagleV-Fire was brought to my attention. This computer system sports an FPGA and looks like just the thing to get as an entry-level system to learn about FPGA tech. These things seem to be hard to find at the moment but apparently they sell for around US$150 which is quite affordable for an entry-level system. And the manufacturer’s commitment to open hardware is encouraging. Click-through on the link to find a heap of developer resources.

Complex Programmable Logic Device

ChatGPT explains a Complex Programmable Logic Device (CPLD):

A CPLD (Complex Programmable Logic Device) is a type of digital integrated circuit that is used for creating custom digital logic designs. It’s a step between simple PLDs (Programmable Logic Devices) and more complex FPGAs (Field-Programmable Gate Arrays).

Click through for further details.

Critical Path != Critical Section

I always get the concepts “critical path” and “critical section” confused.

The “critical section” is the part in your algorithm which you must hold a lock for; whereas the “critical path” is an idea from hardware design which relates to the time taken for the longest combinatorial logic that needs to be processed during a clock cycle, thus limiting the frequency you can run your clock at.

Although the terminology “critical path” came from hardware, the same terminology is used in software. ChatGPT has a fairly good write-up on the two uses of the term “critical path”.

I learned a little more about this in Introduction to VHDL for FPGA and ASIC design.