The Hazard 3 is basically a hobby project of Luke Wren, a Raspberry Pi Employee. He's contiuing to evolve it further, but I don't think it's ready for a full replacement of the Cortex-M yet, especially in regards to the Security Features.
The source code is all from Luke Wren and I don't think other cores use the source code directly, but improvements to test harnesses or general implementation patterns as well as better software support help other cores: https://github.com/Wren6991/Hazard3
For the SoCs I would expect to see an off-the-shelf Risc-V core (certainly no Hazard3 as the main CPU), but we'll see.
The Hazard3 in the Pico 2 are bigger, more capable cores than the Cortex-M0 in the first Pico, and therefore in general faster at the same clock for compiled code.
You're supposed to be able to just recompile most Pico projects to use them as long as there is no ARM assembly in it.
They are only inferior to the ARM Cortex-M33 cores in the Pico 2.
I know the "basically" is probably doing a bunch of heavy lifting, but dang, that's still awesome to think about. I didn't know hardware development was at the point where a hobby project CPU, apparently mostly developed by one guy, can realistically end up in a mass produced product like that.
I am curious to know which RISC-V design they'll go for in this SOC.
M. Wren getting real hard experience on RISC-V is going only to help RP to select and audit more seriously any RISC-V design which would make its way in their SOCs.
I just don't want to contribute to arm IP racketering (and we have mpeg and hdmi to take into account too with avX and eDP/DP).
My "Homeserver" with its database running on an old laptop has less downtime than AWS.
I expect most, if not 99%, of all businesses can cope with a hardware failure and the associated downtime while restoring to a different server, judging from the impact of the recent AWS outage and the collective shrug in response. With a proper raid setup, data loss should be quite rare, if more is required a primary + secondary setup with a manual failover isn't hard.
What are the benefits of SV for multi-clock design? I found migen (and amaranth) to be much nicer for multi-clock designs, providing a stdlib for CDCs and async FIFOs and keeping track of clock domains seperately from normal signals.
My issue with systemverilog is the multitude of implementation with widely varying degrees of support and little open source. Xsim poorly supports more advanced constructs and crashes with them, leaving you to figure out which part causes issues. Vivado only supports a subset. Toolchains for smaller FPGAs (lattice, chinese, ...) are much worse. The older Modelsim versions I used were also not great. You really have to figure out the basic common subset of all the tools and for synthesis, that basically leaves interfaces and logic . Interfaces are better than verilog, but much worse than equivalents in these neo-HDLs(?).
While tracing back compiled verilog is annoying, you are also only using one implementation of the HDL, without needing to battle multiple buggy, poorly documented implementation. There is only one, usually less buggy, poorly documented implementation.
Looking forward, it seems possible for Amaranth to be a full fledged language unto itself without needing python. One could maybe use python as an embedded macro language still -- which could be very powerful.
One of the reasons amaranth (and other neo-HDLs) is so great is the full-fleged seamless integration with the host language. Generating DSP filters using the numpy for all parameters, creating CRC structures, diffent logic for different word widths, ... .
This is all feasible with SV or an embedded Macro language as well, but you'll either have to live with a poorly documented meta language (as not a whole lot of people are using it) or heavy missmatches between the meta language and the "real" language. Cocotb very much suffers from this for simulation usage.
And, tbh, if it can be nicely implemented in the host language (which IMHO is the case with amaranth, less so with migen), I don't think there are many benefits by being standalone.
>
There's still relevance in making it stupidly easy to make an LED blink and make basic apps on circuit boards. Education + weekend hardware hackers might look for something different in a framework than a professional.
This group is has been moving to circuitpython, which is much less performant, but even easier to use. The more serious cross-platform development environments, like Zephyr, have also become much better.
How would you effectively stop windows updates to china? Bypassing the Windows activation measures isn't stopping single pirates (or people still wanting Windows 7 updates intended for big business with legacy devices), the only way to stop windows updates is preventing access to it. It's impossible to do so while still having Windows as an Operating System that people outside high security environments use.
To be fair, Microsoft could be persuaded to add actual exploits to Windows contingent on the install being in China. In that case, they would want the Windows updates to be installed. There is thus no realistic scenario where exports of Windows updates would be possible or even desired by the US government.
While energy is expensive, I find it hard to blame on the "green stuff".
The majority of the energy cost increases in the last few years are because fossil fuels got more expensive for europeans, as cheap gas and oil from Russia wasn't cheap nor very available any more. Lower emissions technologies require much less energy: Heat pumps, induction stoves, electric goods and private transport. Renewables are furthermore more resilient to supply shocks, as they aren't as dependent on from despotic states such as Russia, Saudi Arabia or (seemingly) the US for much of the (fossil) energy. The correct response would be to electrify as much as possible (much less energy required) and produce electricity without the need for importing fossil fuels.
The housing situation sucks, but while many rules discourage housing production, only a smaller subset is there to reduce emissions (requirements about amenities such as outlets, room size and layout, parking and local opposition have little to do with emissions). Many countries such as the US which care much less also suffer heavily as well from being unable to build enough housing.
I have little idea about what specifically the netherlands are doing on climate, but it has at least not been my impression that they were the "best boy in class".
It takes a bit of effort to add all you would want and, for me personally, bangs can be anywhere instead of having to be at the start of a search query as is needed for custom search keywords.
And to avoid having two sources (perhaps with slightly different voltages) connected together and leading to hijinks. E.g. a usb A-C cable plugged into a USB-C power supply.
That is the point of Amaranth (and migen). It's not HLS, it doesn't try to generate logic from normal python code. It's an HDL implemented in python, not trying to look like python code.
In my opinion, it's even more of an HDL than SV or VHDL: It has native concepts of Clock Domains, reset handling and e.g. blockram, it describes the hardware. There is no missmatch with two different, weird assignment types. It's occupied with with accurately covering available/commonly used hardware constructs with commonly used features, not introducing useless abstractions that don't help in practice (trivial example: Your clock signals are not just another signal that mess up timing everywhere if you try to use them that way).
But on the other hand, there is no weird, half-useless metaprogramming/simulation layer with almost the same syntax but tricky rules that differ. That part is proper python.
Thus it's easy to write code that is flexible over different interface types (i.e. one async fifo that can be used for almost all data or an width adapter that mostly works automatically), generate memory-mapped registers that are correctly hooked up, generate wide e.g. CRC operations that are optimized in python code before making HDL out of it as Vivado barfs on them (which I've also seen done with python code that generates systemverilog using string concatenation).
I think my point is just that SystemVerilog isn't a good HDL. It makes it hard to (correctly) describe hardware and makes reuse often harder than it needs to be.
Regarding the intermediate translation step: Amaranth has it's own native simulator and for system-level simulation interfaces directly with yosys for cxxrtl or synthesis for parts directly supported by yosys, bypassing the need for a yosys-> verilog conversion. It's "only" needed for most commercial tools, that can only process SV and VHDL.
A few points I want to add: The Stadtbahn (called Tram-Metro in this Article) is usually just as fast in the outlying areas as in the inner areas and rarely street running, just doing it with less infrastructure. It's just that rail tracks are even faster.
There are quite a few newly built S-Bahn Tunnels in cities under a Million in Germany, in Frankfurt, Stuttgart and Leipzig (you could quibble about citie vs metro area population).
The major downside of Tram-Trains compared to S-Bahns, Rapid Transit or just through running away from the city center is that they slow way down in the city center, much more than the other options. This makes it a bad fit for the sprawly, north american cities without a strong center which have much more demand for non city center destinations and a much more expansive center compared to european cities with tram-trains.
The big benefit of Tram-Trains is the flexibility. Over a region, some sections can implement their own new through running section for the Network (Heilbronn), be almost a metro (the Kombilösung and some parts of S11) or provide S-Bahn style service (e.g. Freudenstadt for a mediocre Regio S-Bahn).
But it's a master of none: Too slow and cramped for high-quality regional services, too few doors for rapid passenger exchange, too demanding and expensive (electrification and vehicles) for connecting small rural lines, legally limited in capacity (75m) for very busy services.
They can be great, but it really depends on local circumstances.
Before converting commuter rail to Tram-Trains, most American cities should first implement a frequent (at least 2tph), all-day, regular service with more urban stations for commuter rail and perform true ticket integration between mainline rail and their other urban transport (the ticket integration is very important!). This also applies to many european cities, such as in France, Spain, Belgium, ... .
The source code is all from Luke Wren and I don't think other cores use the source code directly, but improvements to test harnesses or general implementation patterns as well as better software support help other cores: https://github.com/Wren6991/Hazard3
For the SoCs I would expect to see an off-the-shelf Risc-V core (certainly no Hazard3 as the main CPU), but we'll see.
reply