This post assumes a basic familiarity with the user-facing aspects of Google's open-source protobuffer suite. In short, protobuffer allows you to define a set of messages which you would like to exchange using a simple DSL in a .proto file. Using this description, the protoc compiler (or a number of alternative implementations) can generate encoders and decoders for these messages in a large…
While most modern programming languages feature very advanced editor integrations especially through LSP server implementations, VLSI, RTL, and (System)Verilog tooling is always a bit ... different . Fortunately, these tools are not inherently bad, but rather a little more old-fashioned. This means that while they might not be as straightforward to use, the tools and techniques for an efficient…
One size fits not quite all While my neovim configuration works out of the box for most of the projects I work on, I have increasingly encountered situations where I need to adjust certain aspects on a per-project basis. For example, while doing some work with LLVM, I wanted to make use of the MLIR and TableGen LSP servers. While I could install these on my machine and add them to my main neovim…