5 ms·
I wonder how the "pixel matrix + laser diode + image processing part" & similar products are designed. Is it done using a specialized graphical CAD software or
by antoineMoPa 10y ago
I wonder how the "pixel matrix + laser diode + image processing part" & similar products are designed. Is it done using a specialized graphical CAD software or with a language such as VHDL? Or a combination of both?
- rasz_pl 10y agolaser is not on the same die
- akira2501 10y agoI've only ever used the low end tools for FPGA parts, but even when you design with an HDL, the output is realized in stages. It translates your code, then determines a netlist, then does physical layout and routing, then it can produce either a bitstream output for something like an FPGA, or one of several outputs that can be sent to a fabrication plant for ASIC production. For the image processing "state machine" I imagine most of the "core" design is done at the HDL level with some small tweaks to the other steps along the way to optimize the chip for physical production.
- Cyph0n 10y agoIt depends on the specific application and of course your requirements. In general, there two ways to design a ASIC. The more common approach is called semi-custom design. The idea is to write your gate-level design in VHDL, and simulate it extensively to make sure it works. Once you want your circuit to be realized, you pipe that code to a synthesis tool that does a place-and-route. In a nutshell, the synthesis tool takes each gate, converts it to its transistor layout level design using a standard cell library, and finally routes the gates (or cells) together to realize the connections between them. The tool would then perform a LVS check which makes sure that the layout performs the same function as the HDL code you wrote. Finally, the synthesizer outputs a GDS file which describes the exact layout specifications, including transistor dimensions, spacing, and placement on the silicon die. You send this GDS file to a fab and voila you get a circuit! The other approach is much less common nowadays in digital circuit design, and is limited to applications where performance is key. It is known as full-custom design. You basically design the circuit at the transistor level by hand, and then simulate it to make sure it works. After that you manually design the layout of that circuit, and as before perform a LVS check. Your EDA tool will package your layout into a GDS file which you again send to the fab for manufacturing. For example, in a modern CPU, key circuit components such as adders, multipliers, dividers, multiplexers, encoders, flip-flops, and cache memory are usually designed using a full-custom approach for maximum efficiency and performance. Other general circuitry may be designed using semi-custom. It also varies by company. I believe that ARM processors are completely designed using standard cells, not sure about Intel/AMD though.
- Gibbon1 10y agoI know ten years ago you could get standard cells for various peripherals and processors that were known good for the process you were going to use. Advantage is known good working part with documentation, probably test vectors as well. Might be hard to say about the chips used for optical mice. First article I read on them was about 20 years ago in maybe Electronic Design News or some such. Deal with these is because of the image sensor and analog driver circuitry need a certain amount of real-estate, and the requirements don't change much, they might just occasionally tweak the design to make it work with whatever fab process is cheapest. AKA they could be using really old layouts/designs.