0
\$\begingroup\$

I'm trying to learn basics of hardware design process to get a better understanding of how CPUs, microcontrollers etc work and how are they made.

My googleing gave me many articles with info like "HDLs are now used to design CPUs", but every manual for dummies I've found talks about Verilog usage with FPGA, which is absolutely not what I need, 'cause there is no transistor-level (CMOS, for example) circuit involved in the process (FPGA itself is an already designed and producted device), so it's not "hardware design" in terms of my understanding of the word.

The question is: are HDLs really used to design digital devices from scratch? If so, what exactly happens between the HDL code and a transistor-level circuit implementation? Are the logical gates (as a result of synthesis) translated to circuit diagram (for some tech process usage) with some other tools? What are those tools?

Or, maybe, am I taking a wrong direction in my study?

\$\endgroup\$
  • \$\begingroup\$ The final step is "GDS 2" \$\endgroup\$ – pjc50 Aug 28 '18 at 18:00
4
\$\begingroup\$

are HDLs really used to design digital devices from scratch?

Having done exactly that for many years, I can assure you that, yes, real chips are developed with HDL.

For that we use, just like with FPGAs a synthesis tool, followed by a team of fellow engineers driving lay-out tools. The difference is that the synthesis tool works with libraries++ from a silicon house. TSMC and UMC are prime examples, but there are other companies providing chip fabrication and each have their own library. By choosing the library you decide if it is going to be a 100, 60, 40 or other nano-meter process. You also have to decide on number of metal layers,

Are the logical gates ... translated to circuit diagram.

The synthesis tool can produce a logic diagram, but we (as we, designers) rarely look at it. Some other tools read the net-list and produce a schematic which we sometime use for X-propagation tracing, but again that is exceptional.
But the logic diagram itself is not an intermediate step in the design flow.

++A library is a collection of 'gates' where each gate consist of several transistors which make up a logic function. e.g. a NOT gate but also AND, OR, AND_OR_INVERT, registers with and without reset, with and without scan logic. etc. etc. Also many components exists with different driver strength: BUF, BUF2, BUF4, ..BUF32.

Along side the logic library you often have other libraries like I/O pad libraries and then there are the analog blocks: Oscillator, PLL, LDO, HDMI, USB...

|improve this answer|||||
\$\endgroup\$
  • \$\begingroup\$ So, in simple words, is the flow like that: HDL code -> synthesis, acquisition of logic gate level schematic -> substitution of gates with transistor-level schematic -> production? \$\endgroup\$ – sidav Aug 27 '18 at 9:10
  • \$\begingroup\$ In my answer I already said that there is no intermediate schematic step. It is HDL->gates. The gates are pre-defined lay-out blocks consisting of transistors. \$\endgroup\$ – Oldfart Aug 27 '18 at 9:15
  • \$\begingroup\$ Thanks. It seems my English is too weak to catch the point. I just didn't get that where is the lowest-level (transistor level) circuit diagram created (it's impossible to produce a digital device without it). So, as I understood, there are some basic predefined transistor devices to use in production. \$\endgroup\$ – sidav Aug 27 '18 at 9:18
  • \$\begingroup\$ Yes, that is what is called a "library". A collection of transistors for a specific silicon process which make up the basic logic gates. My error: I was assuming that was well known. I'll update my answer. \$\endgroup\$ – Oldfart Aug 27 '18 at 9:25
1
\$\begingroup\$

HDL is a Hardware Description Language, like Verilog or VHDL. It is used to control and set the insane amount of transistors inside an FPGA. You can use HDL to write a soft-core, which is a Processor inside an FPGA. A soft-core processor can be wholly implemented using logic synthesis. It can be implemented via different semiconductor devices containing programmable logic (e.g., ASIC, FPGA, CPLD)

So yes with HDL you can design soft core processors all the way from scratch, or like a million other logic ic's, functions or however you please.

(FPGA itself is an already designed and producted device), so it's not "hardware design" in terms of my understanding of the word.

Yet it is, if this is not what you want, you probably have to start learning ASIC Design. https://en.wikipedia.org/wiki/Application-specific_integrated_circuit

If so, what exactly happens between the HDL code and a transistor-level circuit implementation?

HDL is a formal description of an electronic circuit. The description allows for the synthesis of your code into a netlist. This netlist is a guide for how the electrical components you described should be connected together.

|improve this answer|||||
\$\endgroup\$
-2
\$\begingroup\$

Read up on register-transfer-languages, which use busses and registers and functional blocks to implement computational requirements

|improve this answer|||||
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.