01 Jun

Can you spot the difference from last week's board design (I mean, aside from the duck 🦆 moving)? Right above the LEDs, instead of 4 resistors, there's now 2 4-pack resistors (RN1 and RN2). Up to this point, the board design HDL followed a pretty strict hierarchy block design structure. Hierar...

24 May

Another good example that demonstrates the power of generators with array-typed ports is a LED matrix generator. But this isn't just generate-30-LEDs-and-plug-into-30-IOs, this uses Charlieplexing to reduce the IO pin requirements significantly. In short, each IO pin can drive both a row of LEDs...

09 May

Fix one bug... Two more pop up... In getting the electronics HDL IDE set up on a new machine, it threw a bunch of errors because sbt was compiling to a newer Java bytecode version than supported by the IntelliJ Java runtime. The fixes tried previously didn't work (perhaps as a result of technolo...

25 Apr

Over the past 3 months, there's been a lot of work on electronics design HDL, both improving the core semantics (like through array ports) and refactoring the parts library (like separating out the power path for switching converters or creating a base microcontroller class) - you can even see a...

19 Apr

Last week's work was adding array-to-array connects, but array-valued expressions (eg, [1, 2, 3]) are helpful in parameterizing variable-sized devices, like a n-ported resistive divider. So that's what this week was, but as with everything else, easier said than done. The main issue is trying to...

12 Apr

Continuing off the implementation of port arrays for microcontroller IOs in the last post is support for array-to-array connections. While prior we could only connect ports to arrays, now, we can do something like this: The updated RGB LED definition defines its IOs as an array of 3 digital in...

02 Apr

Finally, payoff for a feature that's been in low-level development for over a year, and in heavy development for the past few weeks! Port arrays are now advanced enough to implement an abstract microcontroller class, and the end-to-end demo is apparent from the source-measure unit example layout: ...

26 Mar

Weekly WIPs (work in progress) are shorter posts that describe projects or features that are still being worked on, as opposed to fuller posts looking at completed work. Most features take weeks to build, so these are smaller intermediate progress reports, but hopefully will still be interesting! ...

19 Mar

Weekly WIPs (work in progress) are shorter posts that describe projects or features that are still being worked on, as opposed to fuller posts looking at completed work. Most features take weeks to build, so these are smaller intermediate progress reports, but hopefully will still be interesting! ...

11 Mar

Weekly WIPs (work in progress) are shorter posts that describe projects or features that are still being worked on, as opposed to fuller posts looking at completed work. Most features take weeks to build, so these are smaller intermediate progress reports, but hopefully will still be interesting! ...