News: September 2021
Project F news is your monthly bowl of FPGA goodness with tasty tips and links from other developers mixed in. This month I began a new series on Maths & Algorithms, added a new rotation demo, and started a new blog on computing history. September also saw the release of Yosys 0.10 and the sad death of Sir Clive Sinclair.
Read the October 2021 news or see the news archive.
Maths & Algorithms
My current major FPGA series, FPGA Graphics, is winding down. There are still some posts to expand on and some designs to test, but I’ve covered what I want to for now (3D graphics will follow later). So, it’s time to start work on a new series, and when I asked you earlier this year (Twitter Poll, March 2021) what you wanted, Maths and Algorithms was the clear winner.
In September, I published the first part, Numbers in Verilog. Numbers in Verilog gets to grips with how integers are represented in Verilog, covers binary coded decimal (BCD), vectors, and $clog2, and digs into why signed numbers cause designers so much trouble in Verilog. From this solid foundation, we’ll cover simple mathematics, including division and CORDIC, before looking at more complex algorithms, such as data compression.
I’m still working on this first part, and I’m keen to receive your feedback. You can find me on Mastodon @WillFlux@mastodon.social or join me on 1BitSquared Discord
Rotation Demo
I’ve been working towards completing the FPGA Graphics series. This month I added a quick rotation demo: In a Spin to Animated Shapes. An iCEBreaker version should be available soon, once I finish the double-buffer design for iCE40 SPRAM.
You rotate the filled triangle using the push buttons on your FPGA board. Sounds simple, but it includes loads of practical designs, from button debouncing and double-buffering to filled triangles and sine table lookup.
NB. The rotation demo has since been replaced by others designs.
Yosys 0.10
Yosys has been on version 0.9 for a few years now, so it was a pleasant surprise to find 0.10 released on 27th September. While many developers have been tracking git, a new release is important to set a new baseline. I hope 0.10 makes it into Ubuntu 22.04 LTS and other distros.
A few of the new features:
- Added automatic gzip decompression for frontends
- Added $NMUX cell type
- Improve attribute and parameter encoding in JSON
- Improvements in pmgen: subpattern and recursive matches
Improved SystemVerilog support is very welcome:
- Added checking of always block types (always_comb, always_latch and always_ff)
- Added support for wildcard port connections (.*)
- Added support for enum typedefs
- Added support for structs and packed unions.
And new backends:
- Added initial EFINIX support
- Added Intel ALM: alternative synthesis for Intel FPGAs
- Added initial Nexus support
- Added initial MachXO2 support
- Added initial QuickLogic PolarPro 3 support
This is just a fraction of the changes since 0.9.
For more details, see the official Yosys 0.10 release notes.
Interesting Links
FPGA and RISC-V links that caught my eye:
- 6,000 RISC-V Cores on a Xilinx FPGA Break the CoreScore World Record (Tom’s Hardware)
- Olof Kindgren’s SERV makes an appearance in mainstream tech media
- FPGA craft released - a Minecraft clone for iCE40 FPGA (nickmqb on GitHub)
- How to wire and control a NeoPixel with an FPGA (Sylvain Lefebvre on Twitter)
- Look-up Table Generation for RGB->NTSC color encoding (beefok on Twitter)
- Tiny SMD test-hooks (Greg Davill on Twitter)
For more great links, try Recommended FPGA Sites.
New Blog: SystemTalk
This month I started SystemTalk, a new blog looking at the history of computing. During COVID lockdowns, I found myself reading many old computer magazines and wanted to share some of the fascinating stuff I’ve uncovered. There’s so much to choose from, but I’ve decided to start with MacUser.
It begins with A Macintosh History 85.10.
In the first post, from 1985, we’re introduced to Microsoft Excel and the Commodore Amiga, go on a fantasy adventure, design some icons, build a desk accessory, and John Dvorak asks if the Mac is too small to be seen as a serious business computer. There’s even some 68000 assembler in there.
RIP Clive Sinclair
Clive Sinclair died on 16th September 2021.
- Home computing pioneer Sir Clive Sinclair dies aged 81 - from The Guardian
- Goodbye, Sir Clive: A Tribute To Sir Clive Sinclair - from Kim Justice on YouTube
As a child in 80s Britain, I spent many hours on the Spectrum and even got to ride in a Sinclair C5. Sir Clive was one of a kind, and the British computer scene would be unrecognisable without him.
Read the October 2021 news or see the news archive.
Sponsor Project F
If you like what I do, consider sponsoring me on GitHub.
I use contributions to spend more time creating open-source FPGA designs and tutorials.