• 0 Posts
  • 549 Comments
Joined 2 years ago
cake
Cake day: June 15th, 2023

help-circle

  • Is there like a programming language of some sort where a compiler converts syntax into circuitry layouts?

    You are looking for something like System Verilog (Or VHDL).

    Both these languages let you describe hardware. They can both go down to the circuit and transistor level, but people won’t write that by hand. Rather, they will write code that is a description of digital hardware (flip-flops and the logic between them), and then let tools synthesize their description down to individual logic cells and simple functions. Often, chip fab houses have “standard cell libraries” that implement the most common logical functions, and the tools stich them together based on the higher level description.

    Then there is all the verification that needs to be done, not just verification that the design is doing what it needs to do at all times, but that every individual chip is made correctly. Defects do happen, and you want to find them as early as possible in the process. Chip companies spend considerable effort on verification.

    Lots and lots of expensive tools and specialized knowledge! A good middle ground are FPGAs. These are special chips with lots of generic logic building blocks, and ways to programmatically make connections between them. You can write the same VHDL or Verilog for FPGAs, butt the tools map the logic to the FPGA vendor’s chip directly, and “programs” the chip to implement the logic. These still require tools and specialized knowledge, but much cheaper than a fully custom chip.

    One of the trippy things to understand about digital logic when coming from a software background is that it is massively parallel. All the logic is ticking on each clock edge, all the time. While there may be an order to how an HDL file is written, the individual blocks in it are all operating at the same time once the design is actually running in silicon. So when you write it, you need to keep all this parallelism in mind




  • There are two ways to interpret the question.

    If you go with “will the internetworking between independent diverse networks ever go offline”, the answer to that is most definitely “no”. With so many independent entities involved, and so many redundant connections, data will find a way to be routed to where it needs to go. Perhaps a coordinated attack on undersea cables might disconnect continents from each other.

    But if you go with “can the commercial Internet that companies use to sell stuff ever go offline”, I think we’ve seen that the answer to that is “yes”. As more and more commerce moves “to the cloud” I think people are ignorant about how concentrates computing in a few distinct geographical areas and companies. Yes, I am aware that those companies are very good at 24/7 operation and site reliability. Until they fire so many people that they aren’t reliable anymore.