circt
juvix
circt | juvix | |
---|---|---|
6 | 7 | |
1,520 | 300 | |
2.1% | - | |
9.9 | 9.5 | |
5 days ago | about 2 years ago | |
C++ | Haskell | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
circt
-
Ask HN: How to get a job as a compiler engineer?
MLIR (https://mlir.llvm.org/) is a quickly growing compiler toolkit which attempts to synthesize the learnings of LLVM and currently powers compilers for programming languages, machine learning and circuit design (https://github.com/llvm/circt). and there are a ton of companies with real employees working on it (including Microsoft) and MLIR is at the core of Chris Lattner’s new company, ModularAI. I’d recommend taking a look at it, there are a large number of ways to get involved and a number of paths from contributor to employee.
-
Rapid Open Hardware Development (ROHD) Framework by Intel
Might be good to target the CIRCT infrastructure at some point.
-
TSMC eyes Germany for first European chip production plant
Even small optimizations like removing unused pins from internal modules are often times opposed.
Chris Lattner and others are currently working on an "industry" version of firrtl as part of the CIRCT hardware compiler framework: https://github.com/llvm/circt
-
Chisel/Firrtl Hardware Compiler Framework
Did you see the work being done on CIRCT? https://github.com/llvm/circt
I remember one of the reasons you did not want to use firrtl was that its compiler is implemented in Scala and thus hard to integrate into other projexts. CIRCT will solve that problem by providing a firrtl compiler implemented in C++. Other languages like Verilog/VHDL and new high level languages for HLS-like designs are also on the todo list.
- Julia Receives DARPA Award to Accelerate Electronics Simulation by 1,000x
-
VHDL backend
Relevant: https://github.com/llvm/circt
juvix
-
Ask HN: Who is hiring? (October 2022)
Heliax | Multiple roles | REMOTE (+-2 hours from CEST ideal) | Full Time | https://heliax.dev/jobs#all-jobs
Heliax is a public goods lab which was built on years of pioneering experience across distributed systems, programming language theory, and zero-knowledge cryptography. All our work is open-source. Examples of some of our projects are Namada (https://github.com/anoma/namada), a sovereign proof-of-stake blockchain; Juvix (https://github.com/anoma/juvix), an experimental programming language; and Taiga (https://github.com/anoma/taiga), a framework for generalized shielded state transitions.
We are currently actively hiring for a number of positions, most notably Senior Rust Engineers, Senior Full Stack Engineers, and a Protocol Security Lead.
For the Senior Rust Engineer position, we are looking for experienced Rust developers that are interested in applying novel research to create high-quality open-source technology and solve outstanding problems in the blockchain space. You'll be working on distributed ledger technology implemented in Rust, all the way up and down the stack from the P2P layer to consensus algorithms, smart contract systems, proof-of-stake incentive mechanisms, privacy-enhancing cryptographic components, and on-chain governance procedures.
For the Senior Full Stack Engineer position, we are looking for either web developers with experience using TypeScript and other modern web frameworks or software developers who have experience with Rust. Some representative examples of features you’ll be working on in this role are: adding support for Ledger hardware wallet connectivity, support for generation and use of file-based keys, generation of shielded transactions using cryptographic libraries, display of any digital asset (including NFTs) and associated transaction history, and on-chain management of staking and governance. It's a plus if you've previously worked with WebAssembly.
For the Protocol Security Lead, you'll be responsible for breaking protocols both in theory and practice in and outside the company, and assembling a team to help them do so. You'll receive a high degree of latitude and autonomy to prioritize tasks and search for the weakest links in complex systems in order to break them. The rough structure could be compared to Google Project Zero, but with a focus on cryptographic protocols & implementations instead of web technology writ large.
-
Ask HN: How to get a job as a compiler engineer?
> What are the companies that do exciting stuff in compilers?
Some companies solve problems that have a larger component of parsing and evaluating things.
One example is Hasura's SQL-to-GraphQL layer: https://hasura.io/
Another example is GitHub's CodeQL: https://github.com/github/codeql
A third example -- I forget the name of the company -- parses Counter-Strike games real-time and restructures this data for better analytical introspection, e.g. for betting, time-scrollable replay, 2D rendering, etc. There appears to be a lot of hard-earned going from a stream of events monkey-patched over two decades, to a complete model of a game (who's on what team, who is dead, what round is this, etc.)
Microsoft does a lot of interesting compiler-related stuff, too, of course.
Then there's blockchain: A lot of programming-language enthusiasts have been employed to write VMs and DSLs to express safe application-level environments. An example is Anoma's Juvix: https://github.com/anoma/juvix
A job I was looking at involved building a more programmatic interface to some legacy SCADA systems, i.e. make old factory monitoring systems interoperate via a DSL. The idea, I think, is to transform and manage the configuration files from a dynamic GUI system.
tl;dr: If your main tool is a compiler, there are compiler problems everywhere.
-
Missing line in a smart contract leads to $10M hack
I dont know how hard it would be to port it to other platforms. Different Virtual machine.
Tezos uses a human readable stack based language as a low level represenation that is suited for formal proofs: https://tezos.gitlab.io/008/michelson.html
If archetype depends on that then its going to be hard to port but i dont think it does.
Another interesting project in development is https://juvix.org/ which targets more backends beside michelson like llvm and wasm. Might run on eth2/Ewasm.
There are also blockchain specific features like: https://medium.com/tqtezos/tickets-on-tezos-part-1-a7cad8cc7...
-
Why would someone build on Tezos rather than Solana?
Rust is very nice and might be a good fit for smart contracts tough i am not sure what you really gain over Haskell. In Tezos you have a more developed ecosystem and can code in Python, Ligo, Archetype, Haskell and in the future Juvix. You also have a human readable low level (assembly like) representation in Michelson that you can do optimizations and/or run formal proofs with Coq. Smart contracts are a very very special beast and i am somewhat sceptical about developing them in a general purpose language vs a domain/smart contract specific one in the long run (but i could be wrong here).
-
ELI5 This “superior tech” Tezos has
and in the future: https://juvix.org/ (This stuff is just ridiculously advanced)
-
Dactylobiotus
Github: https://github.com/metastatedev/juvix
Best regards,
What are some alternatives?
SpinalHDL - Scala based HDL
plutus - The Plutus language implementation and tools
chisel - Chisel: A Modern Hardware Design Language
coq-tezos-of-ocaml
hdlConvertor - Fast Verilog/VHDL parser preprocessor and code generator for C++/Python based on ANTLR4
mi-cho-coq
torch-mlir - The Torch-MLIR project aims to provide first class support from the PyTorch ecosystem to the MLIR ecosystem.
tzip
mlir-aie - An MLIR-based toolchain for AMD AI Engine-enabled devices.
morley
cocotb - cocotb, a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python
linear-base - Standard library for linear types in Haskell.