gcc will not let you actually define a negatively-sized array. Check it with some simple code -- I did. Even with -Wall -Wextra -O1 -std=c11 -Wpedantic, if I actually try to create foo[-1], on the stack or in BSS, I get the proper error:
error: size of array 'foo' is negative
F = Field
P = Programmable
G = Gate <---- important
A = Array
You aren't "programming", you're "wiring gates together". In other words, you can build custom hardware to solve a problem without using a generic CPU (or GPU) to do it. FPGAs are implemented as a fabric of LUTs (Look-up Tables) which take 4- or 6- (or more) inputs and produce an output. That allows Boolean algebra functions to be processed. The tools you use (Vivado / ISE / YoSys / etc.) take a your intended design, written in a HDL (Hardware Design Language) such as Verilog or VHDL, and turn it into a configuration file which is injected into the FPGA, causing it to be configured to into the hardware you want (if you've done it right). FPGAs are a stepping stone between generic hardware such as a CPU or GPU and a custom ASIC. They win when you can express the problem in specialized hardware much better than writing code to do something on a CPU/GPU. Parallelization is the key to many FPGA designs. Also, you don't have to spend >$1MM on a mask set to go have an ASIC fabricated by TSMC, etc.
Given the density of the PDF, I saw AMD and AI in the title and assumed the scientific community was trying to get AMD GPUs to work. This makes more sense.
It's not just that the boards are expensive; you'll also need a Vivado license to create any designs for it. That license is at least several thousand dollars for the Versal devices.
Artix 7 is simplistic compared to any of the Versal chips. You buy an expensive FPGA and then try using an "open-source" tool chain that exposes 25% of the FPGA's potential. Not a great trade-off, eh?
> Thanks to the extensive work of the MiSoC and LiteX crowd, there’s already IP cores for DRAM, PCI express, ethernet, video, a softcore CPU (your choice of or1k or lm32) and more.. LiteX produces a design that uses about 20% of an XC7A50 FPGA with a runtime of about 10 minutes, whereas Vivado produces a design that consumes 85% of the same FPGA with a runtime of about 30-45 minutes.. LiteX, in its current state, is probably best suited for people trained to write software who want to design hardware, rather than for people classically trained in circuit design who want a tool upgrade.
Thanks for the pointer! DARPA ERI investment was initially directed to US academic teams, while Yosys & related decentralized OSS efforts were barely running on conviction fumes in the OSS wilderness. Glad to see this umbrella ecosystem structure from LF Chips Alliance. Next we need a cultural step change in commercial EDA tools.
> I doubt there will be a single person for whom Thunderbird is their first email/messaging type app. Most would have used something on their iOS or Android devices first at least.
You'd be wrong. I, grudgingly, moved from mutt to Thunderbird after it was clear that email was turning into MIME-encoded web pages.
If you've been using Mutt, the concept of multiple recipients itself is a much harder process of discovery :)
Ironically, I am moving from Thunderbird to Mutt (NeoMutt actually). I find the elimination of HTML means it's actually easier for me to not get distracted by stuff I dont care about for email, which is interaction with real human beings, who are unlikely to be typing complicated HTML messages. Besides, with the right config (I'm still working on it), the HTML message is 1 shortcut away.
Unfortunately, my colleagues, who mostly use Outlook, employ HTML to its full extent when pasting in content to messages. ("Refer to the text highlighted in red.", "See the table for details", etc.)
Back in my BBS days, there was ANSI color with IBM-extended (CP437) block graphics to liven things up, so I can see it has gone full circle a bit.
"The compose window now also takes up less space with recipients listed in “pills” instead of an entire line for every address.."
Yup, already hate it. I much prefer not looking through a list of buttons on the To line for the one I want to remove. Additionally, I can instantly see if I'm sending and email to my coworkers company or personal address without some damn tag after his name.
The market can't discover this when consumers are misled by the delivery services. 10% is reasonable. Let the delivery service add a fee to recover their cost rather than take the food provider's profit. Otherwise, these food providers are going to go out of business (and be bought by the delivery services).
The market determines what is reasonable, not you (or any one person). "Recover their cost"? What is this, communist Russia?
So what if the food providers sell off to the delivery services? Perhaps it will result in a better match for the market demands. Preserving jobs isn't the goal of capitalism, profit is. Those businesses who try to go too far toward extreme profit usually fail when smaller, more nimble upstarts dig the foundations out from under the bigger ones.