02 Sep

It's been a while since my last post, and although there has been some interesting work on more example designs (which just got sent to fab 🎉) that'll be another post for another day, hopefully with some fun videos. But today, we revisit an old friend: refactoring the compiler. Again. IntelliJ...

12 Aug

While there has been much work on example boards and core logic over the past months, that work has exposed limitations and UI quirks that have impeded work. Now that the main features are done, it's time decompress and clean up some of that cruft, in particular to maintain development velocity goin...

29 Jul

My last few blog posts have been about bringing up example boards designed in our HDL, especially ones incorporating the new features of port arrays and multipack devices. Some of them were more toy examples and intended as proofs-of-concepts (like the LED matrix), while others were more practical...

14 Jun

Boards sent out a while ago have finally come back, and they are working! Above is the charlieplexed LED matrix board with a basic firmware load that draws a smiley face on the LED matrix. It also allows the user to select a different image (just a frowning face for now, but it needs a duck) t...

08 Jun

One again, using custom test equipment (the DC supplies at the top and bottom) ... to bring up custom test equipment (the BLE multimeter at the center)! This time around, there's no blue wires, and things generally went according to plan. The one place where things didn't go according to plan (an...

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...