Figure 4.7.
The CMOS standard cell family used in the design of the silicon version of the RISC/MIPS processors within the "MIPS for the Star Wars" project.
Figure 4.7.
The CMOS standard cell family used in the design of the silicon version of the RISC/MIPS processors within the "MIPS for the Star Wars" project (continued).
Figure 4.7.
The CMOS standard cell family used in the design of the silicon version of the RISC/MIPS processors within the "MIPS for the Star Wars" project (continued).
Input A:
Rise delay: 117 ps + 0,26 ps/fF
Fall delay: 95 ps + 0,30 ps/fF
Rise time: 117 ps + 0,57 ps/fF
Fall time: 217 ps + 0,60 ps/fF
Input B:
Rise delay: 198 ps + 0,26 ps/fF
Fall delay: 100 ps + 0,34 ps/fF
Rise time: 242 ps + 0,59 ps/fF
Fall time: 223 ps + 0,61 ps/fF
VDD = 2 V
Power: 610
mW
Pin capacitance:
Pin Q: 1 fF
Pin A: 150 fF
Pin B: 150 fF
a)
Figure 4.8.a. The GaAs E/D-MESFET standard cell family: (a) a typical standard cell from the GaAs E/D-MESFET family of standard cells used in the design of the GaAs version of the RISC/MIPS processor within the "MIPS for Star Wars" project; (b) a review of various standard cells from the GaAs E/D-MESFET family, as well as their complexities, expressed in transistor count.
Standard Cell Overview
Cell |
Cell |
Transistor |
4010 |
two-input NAND |
6 |
4020 |
two-input AND, two-input NOR |
10 |
4030 |
two-input AND, three-input NOR |
14 |
4040 |
two-input AND, four-input NOR |
18 |
4050 |
two-input AND, five-input NOR |
22 |
4100 |
invertor |
1 |
4110 |
two-input AND, two-input NOR |
8 |
4120 |
two-input AND, three-input NOR |
12 |
4130 |
two-input AND, four-input NOR |
16 |
4140 |
two-input AND, five-input NOR |
20 |
4200 |
two-input NOR |
6 |
4210 |
two-input AND, three-input NOR |
10 |
4220 |
two-input AND, four-input NOR |
14 |
4230 |
two-input AND, five-input NOR |
18 |
4300 |
three-input NOR |
8 |
4310 |
two-input AND, four-input NOR |
12 |
4320 |
two-input AND, five-input NOR |
16 |
4330 |
four-input NOR |
10 |
4410 |
two-input AND, five-input NOR |
14 |
4500 |
five-input NOR |
12 |
4700 |
latch |
14 |
4710 |
latch with RESET |
22 |
4720 |
latch with SET |
20 |
4800 |
MSFF |
22 |
4810 |
MSFF with asynchronous RESET |
25 |
4820 |
MSFF with asynchronous SET |
23 |
4830 |
MSFF with synchronous RESET |
24 |
4840 |
MSFF with synchronous SET |
22 |
8100 |
ECL ® E/D input pad |
7 |
8200 |
E/D ® ECL output pad |
6 |
b)
Figure 4.8.b.
The GaAs E/D-MESFET standard cell family: (a) a typical standard cell from the GaAs E/D-MESFET family of standard cells used in the design of the GaAs version of the RISC/MIPS processor within the "MIPS for Star Wars" project; (b) a review of various standard cells from the GaAs E/D-MESFET family, as well as their complexities, expressed in transistor count.
Figure 4.9.
Internal structure of some popular PL VLSI chips manufactured by Altera.a) EPM5016
Figure 4.9.
(continued) Internal structure of some popular PL VLSI chips manufactured by Altera.b) EPM5032
Figure 4.9.
(continued) Internal structure of some popular PL VLSI chips manufactured by Altera.c) EPM5064
Figure 4.9.
(continued) Internal structure of some popular PL VLSI chips manufactured by Altera.d) EPM5128
a)
Figure 4.10. Internal structure of some popular PL VLSI chips manufactured by Xilinx.
a) general structure of the reconfigurable cell array.
b)
c)
Figure 4.10
(continued). Internal structure of some popular PL VLSI chips manufactured by Xilinx.b) internal structure of the reconfigurable logic block; c) internal structure of the input/output block.
d)
Figure 4.10
(continued). Internal structure of some popular PL VLSI chips manufactured by Xilinx.d) general purpose interconnect.
e)
Figure 4.10
(continued). Internal structure of some popular PL VLSI chips manufactured by Xilinx.e) long line interconnect.
Editor: Will Tracz, Loral Federal Systems, MD 0210, Owego, NY 13827; Internet, tracz@lfs.loral.com |
||
"Any clod can have the facts, but having opinions is an art." Charles McCabe,
|
Ten lessons learned from a RISC design Lessons can be learned anywhere on earth, and we’ve accumulated a few from our international project— a 64-bit RISC processor design using silicon compilation (with 2.5 million transistors) that took two years to complete. Project teams were located on three continents: a US company provided the hardware description language; a European group (the two of us) was responsible for generating the HDL-based model that correctly described all signals on all pins for each instruction and every operational mode; and a Japanese company generated over 10 Mbytes of tests. Our team’s task was then to successfully pass these tests, after which another US company did the silicon compilation. Finally, another Japanese company did the fabrication. You can imagine the possibilities for complexity! Here are a few of the many lessons we learned. Lesson #1: It’s tough for just one person to understand everything. A silicon compiler’s essential value is that it enables one person to fully understand a relatively complex design task; however, it’s extremely difficult for one person to manage every detail. In our case, the details were all signals on all pins for every instruction executed in each operational mode. It’s important that future HDL extensions contain language constructs to efficiently express such details! Lesson #2: Coding rules for silicon compilation are underdeveloped. One nice thing about HDLs is that they let you adequately exploit the full parallelism at the lowest hardware levels for efficient programming. However, current silicon compilers get "confused" with too much parallelism, so the HDL programmer must serialize the description, which negatively affects programmer productivity. The solution? Develop design rules characterized by maximum parallelism yet without negative effects on synthesis efficiency! Lesson #3: Don’t let silicon compiler warnings get you down. We’ve noticed that many silicon compilers generate correlated warnings. Consequently, a huge number of warnings results in a mere handful of coding rule violations. Therefore, the generated warnings must be orthogonalized! Lesson #4: Be careful when naming variables. A silicon compiler shouldn’t specify how variable names are created. For example, our register variable names had to start with "r_." This can be confusing, especially of required of the HDL programmers after they’ve mostly completed their task. Lesson #5: The environment keeps changing. The silicon compiler was fully developed by the time we started our work, but the programming rules that enabled synthesis were not. Consequently, creating rules was a trial-and-error experience. Also, the silicon-compilation design process is still lengthy, so the project requirements are likely to change during the design process. Nothing new! Lesson #6: Testing is still the bottleneck. The first 90 percent of the project—design—was completed in six months, while the remaining 10 percent—testing—needed another 18 months! Lesson #7: Beware the NIH problems. People who work in high tech tend to think very highly of themselves, and that characteristic caused some problems of the NIH ("not invented here") variety. When a test failed, entirely too much time was spent trying to determine who made the error rather than getting on with fixing it. The typical reaction was always to blame someone else for the error. Lesson #8: Working on three continents is both pleasure and pain. If the phone woke you up in the early morning, you knew the call was from Japan. If the phone woke you up late at night, you knew the call was from the USA. After awhile, you learned the best time to send e-mail to get a prompt response. Cultural differences, although a source of fun, can provoke misunderstandings that create hard feelings. Lesson #9: Time to market is still an issue. A major driver of silicon compiler development is fast time to market. However, the goal has not yet been met to accelerate very sophisticated processor-logic designs adequately. There’s lots of research room for new methodologies in the over-one-million-transistor arena. Lesson #10: We’re always more clever after the fact! As the saying goes, "hindsight is 20-20." Looking back, it’s obvious that better planning up front would have eliminated many problems (although, unfortunately, none of the above!). Better planning would definitely have reduced the 18 months it took to eliminate the last 10 percent of errors. Also, we’re all now older and wiser, with two years’ more experience! OUR PROCESSOR DESIGN PROJECT—with all its lessons learned—was one of life’s special experiences. During the two long years of work, one of the project team members passed away, and another one received a beautiful new baby. Sometimes, life resembles engineering so much! Veljko Milutinovic and Zvezdan Petkovic University of Belgrade |
Figure 5.1.
AN EXAMPLE FOR THE PRACTICAL WORK USING THE SC VLSI METHODOLOGY: schematic diagram of a digital modulator for a modem with the FSK modulation, and the data transfer rate of 1200 bps, according to the CCITT standard. Input signals, FQ, S103, and S105, and output signals, FSKOUT and S106, are defined by the CCITT standard. The complete understanding of the functionality of the diagram is not a prerequisite for the comprehension of the following text.