Data formats including YAML

I finally got around to reading about YAML at Wikipedia. Worth doing if you use YAML anywhere and haven’t read the YAML page yet.

The Wikipedia article links to the official website: yaml.org, which is good fun. It’s written in YAML! :D

If you’re interested in data formats and markup languages here’s some other reading on the subject:

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.