kenkel@mcnc.org (Stephen Kenkel) (11/22/89)
It has struck me recently that there does not seem to exist a good, standard, publicly available collection of benchmark circuits for circuit and timing level simulators. At ICCAD, for instance, I noticed a number of talks giving the performance of simulators, but on circuits that had been selected by the authors of the programs. This makes it difficult to qualify claims of "100X Spice" and "always converges". In contrast, the place and route community and the logic synthesis community each have standard benchmarks which allow comparisons. I would like to propose that a publicly available collection be established of circuits. The circuits would be selected to include tough circuits for traditional simulators (bipolar, opamps, feedback, bi-stable, etc), very large circuits, circuits which are suitable for waveform relaxation, circuits which give rise to unknown states with timing simulators, etc. MCNC would be willing to maintain an make the circuits available by anonymous ftp, if no one else wants to take on this responsbility. At a minimum, the circuits would have to be: 1. Freely distributable. This should not be too much of a problem, since it is difficult to reverse engineer a circuit from the flattened netlist. 2. In SPICE compatabile netlist form. (For lack of a more universal standard) 3. Use a standard device model: SPICE Level I, II, III, IV or BJT. Many industrial circuits use custom device models, which again confuses comparisons. 4. MOST important: include an output file containing what is believed to be a correct simulation at the circuit level, for comparison purposes. If possible, enought information should be given so that SPICE, HSPICE, PSPICE, or whatever can be re-run to verify the correctness of the output. So, is there interest in such a collection? Anyone want to contribute circuits? DISCLAIMER: MCNC distributes a circuit level simulator (CAzM), and has a vested interest in the benchmarking of such programs.
mark@mips.COM (Mark G. Johnson) (11/22/89)
In article <5780@alvin.mcnc.org> kenkel@mcnc.org (Stephen Kenkel) writes: > >I would like to propose that a publicly available collection be >established of circuits. The circuits would be selected to >include tough circuits for traditional simulators (bipolar, >opamps, feedback, bi-stable, etc), very large circuits, circuits >which are suitable for waveform relaxation, circuits which >give rise to unknown states with timing simulators, etc. > Here is a "shar" archive containing one such circuit, and also its output when run on MetaSoft's program HSPICE. CPU time on an M2000 computer (20 VUPS hardware) was 5.80 seconds of which 4.01 seconds was actual transient analysis. The input file is a SPICE compatible netlist, which only produces output by doing ".PRINT" statements (for ease of comparison ... plots are notoriously tough to compare algorithmically). Semiconductor technology is 2.0 micron CMOS, modelled with SPICE LEVEL=2 equations. I hereby release the input file into the public domain; anybody can use it freely without reservation. There are several more input files that are easily distributed (in fact MIPS uses these others as benchmarks; see "MIPS Performance Brief" for details). However, I will delay posting these additional files for a while, pending confirmation that CaZM and the other non-SPICE simulators can indeed run the first one and get similar answers. Note that the shar archive contains 2 files; following the directions below will ensure that you get them both. #--------------------------Cut Here-------------------------- #! /bin/sh # This is a shell archive. Remove anything before the "#! /bin/sh" line, # then unpack it by saving it in a file and typing "sh file." # # Wrapped by Mark G. Johnson,,,,obiwan,open (mark) at hal on Tue Nov 21 14:00:16 1989 # # unpacks with default permissions # # Contents : gbump gbump.hspice # if `test ! -s gbump` then echo "x - gbump" cat > gbump << '@\Rogue\Monster\' * FILE GBUMP: GROUND BOUNCE OF CMOS 74ACT244 OCTAL DRIVER * * * .OPTIONS ACCT ITL1=300 GMIN=1E-11 ABSTOL=1E-9 + LIMPTS=205 NOMOD .WIDTH OUT=80 * * .TRAN 0.1NS 13NS * ********************************************************************** * * POWER SUPPLIES * * VDD 1 0 DC 5.0 VSS 2 0 DC 0.0 * * * THE OUTPUT ENABLES ARE PERMANENTLY ASSERTED IN THIS SIMULATION VOD 11 0 DC 0.0 VOE 12 0 DC 5.0 * * * RDD 1 2 1E6 ROD 11 12 1E6 * ********************************************************************** * * INPUT WIGGLES (PIECEWISE LINEAR WAVEFORMS) * * * VIN 5 0 PWL( 0NS 5.0 1NS 5.0 2NS 0V 10NS 0V ) * RA1A 5 0 100K * * * * ********************************************************************** ********************************************************************** ********************************************************************** * * CIRCUIT HOOKUP (DEFINITION AND INTERCONNECTION) * * * FROM TABLE 1.1-1 OF THE TEXAS INSTRUMENTS "ADVANCED CMOS * LOGIC DESIGNERS HANDBOOK" (SCAA001A) WE SEE THAT A 20 PIN * 300-MIL PLASTIC DIP WITH CORNER POWER AND GROUND HAS 13.7 * NANOHENRIES OF INDUCTANCE IN THE SUPPLY LEADS. * * RATHER THAN SIMULTANEOUSLY SWITCHING EIGHT BUFFERS INTO 13.7 NH, * THIS SIMULATION SWITCHES ONE BUFFER INTO (8 * 13.7) = 109 * NANOHENRIES. * * * * * * HERE ARE THE PARASITIC INDUCTORS (PIN + PACKAGE + BONDWIRE) * AND RESISTORS IN SERIES WITH VDD AND VSS. THERE IS ALSO SOME * AMOUNT OF ON-CHIP CAPACITANCE BETWEEN VDD AND VSS * L44 1 43 109.0E-9 R44 43 44 0.050 * L77 2 76 109.0E-9 R77 76 77 0.050 * C4477 44 77 50.0E-12 * * * * * * * * THE PREDRIVER STAGES * M900 100 5 44 44 P W=22U L=2U AD=176P PD=37U M901 100 5 77 77 N W=11U L=2U AD=88P PD=26U * * M902 201 11 44 44 P W=40U L=2U AD=320P PD=55U M903 200 100 201 44 P W=40U L=2U AD=320P PD=55U M904 200 100 77 77 N W=25U L=2U AD=200P PD=40U M905 200 11 77 77 N W=25U L=2U AD=200P PD=40U * M906 300 12 44 44 P W=24U L=2U AD=192P PD=39U M907 300 100 44 44 P W=24U L=2U AD=192P PD=39U M908 300 100 301 77 N W=11U L=2U AD=88P PD=26U M909 301 12 77 77 N W=11U L=2U AD=88P PD=26U * * M910 400 200 44 44 P W=130U L=2U AD=1040P PD=145U M911 400 200 77 77 N W=65U L=2U AD=520P PD=80U * M912 500 300 44 44 P W=66U L=2U AD=528P PD=81U M913 500 300 77 77 N W=33U L=2U AD=264P PD=48U * * * THE PAD DRIVER TRANSISTORS * M914 600 400 44 44 P W=1200U L=2U AD=4800P PD=600U M915 600 500 77 77 N W=600U L=2U AD=2400P PD=300U * * * * THE OUTPUT LOAD NETWORK * R916 1 600 1.0K R917 2 600 0.5K C918 2 600 75.0P * * * * ********************************************************************** * * OUTPUTS (RAW OUTPUT FROM SPICE) * * * * .PRINT TRAN V(77) V(44) V(500) V(600) * * * ********************************************************************** * * MOS MODEL PARAMETERS FOR 2 MICRON CMOS * .MODEL N NMOS + LEVEL=2 VTO=0.7 TOX=400E-10 + NSUB=9E15 XJ=0.15U LD=0.20U + UO=666 UCRIT=.65E5 UEXP=0.123 + VMAX=5E4 NEFF=4.0 DELTA=1.4 + RSH=36 CGSO=200P CGDO=200P + CJ=200U CJSW=500P MJ=0.75 + MJSW=0.30 PB=0.80 NFS=1E11 * * .MODEL P PMOS + LEVEL=2 VTO=-0.70 TOX=400E-10 + NSUB=7E15 XJ=0.06U LD=0.20U + UO=250 UCRIT=.85E5 UEXP=0.3 + VMAX=3E4 NEFF=2.65 DELTA=1.0 + RSH=100 CGSO=190P CGDO=190P + CJ=250U CJSW=350P MJ=.55 + MJSW=0.34 PB=0.80 NFS=1E11 * ********************************************************************** * * * * .END @\Rogue\Monster\ else echo "shar: Will not over write gbump" fi if `test ! -s gbump.hspice` then echo "x - gbump.hspice" cat > gbump.hspice << '@\Rogue\Monster\' 1****** h s p i c e 8807b 14: 0:38 21-nov89 u n i x ****** copyright 1988 meta-software,inc. *****site:mips sunnyvale ***** * file gbump: ground bounce of cmos 74act244 octal driver ****** input listing evaluation expires 9008 ****** * * * .options acct itl1=300 gmin=1e-11 abstol=1e-9 + limpts=205 nomod .width out=80 * * .tran 0.1ns 13ns * ********************************************************************** * * power supplies * * vdd 1 0 dc 5.0 vss 2 0 dc 0.0 * * * the output enables are permanently asserted in this simulation vod 11 0 dc 0.0 voe 12 0 dc 5.0 * * * rdd 1 2 1e6 rod 11 12 1e6 * ********************************************************************** * * input wiggles (piecewise linear waveforms) * * * vin 5 0 pwl( 0ns 5.0 1ns 5.0 2ns 0v 10ns 0v ) * ra1a 5 0 100k * * * * ********************************************************************** ********************************************************************** ********************************************************************** * * circuit hookup (definition and interconnection) * * * from table 1.1-1 of the texas instruments advanced cmos * logic designers handbook (scaa001a) we see that a 20 pin * 300-mil plastic dip with corner power and ground has 13.7 * nanohenries of inductance in the supply leads. * * rather than simultaneously switching eight buffers into 13.7 nh, * this simulation switches one buffer into (8 * 13.7) = 109 * nanohenries. * * * * * * here are the parasitic inductors (pin + package + bondwire) * and resistors in series with vdd and vss. there is also some * amount of on-chip capacitance between vdd and vss * l44 1 43 109.0e-9 r44 43 44 0.050 * l77 2 76 109.0e-9 r77 76 77 0.050 * c4477 44 77 50.0e-12 * * * * * * * * the predriver stages * m900 100 5 44 44 p w=22u l=2u ad=176p pd=37u m901 100 5 77 77 n w=11u l=2u ad=88p pd=26u * * m902 201 11 44 44 p w=40u l=2u ad=320p pd=55u m903 200 100 201 44 p w=40u l=2u ad=320p pd=55u m904 200 100 77 77 n w=25u l=2u ad=200p pd=40u m905 200 11 77 77 n w=25u l=2u ad=200p pd=40u * m906 300 12 44 44 p w=24u l=2u ad=192p pd=39u m907 300 100 44 44 p w=24u l=2u ad=192p pd=39u m908 300 100 301 77 n w=11u l=2u ad=88p pd=26u m909 301 12 77 77 n w=11u l=2u ad=88p pd=26u * * m910 400 200 44 44 p w=130u l=2u ad=1040p pd=145u m911 400 200 77 77 n w=65u l=2u ad=520p pd=80u * m912 500 300 44 44 p w=66u l=2u ad=528p pd=81u m913 500 300 77 77 n w=33u l=2u ad=264p pd=48u * * * the pad driver transistors * m914 600 400 44 44 p w=1200u l=2u ad=4800p pd=600u m915 600 500 77 77 n w=600u l=2u ad=2400p pd=300u * * * * the output load network * r916 1 600 1.0k r917 2 600 0.5k c918 2 600 75.0p * * * * ********************************************************************** * * outputs (raw output from spice) * * * * .print tran v(77) v(44) v(500) v(600) * * * ********************************************************************** * * mos model parameters for 2 micron cmos * .model n nmos + level=2 vto=0.7 tox=400e-10 + nsub=9e15 xj=0.15u ld=0.20u + uo=666 ucrit=.65e5 uexp=0.123 + vmax=5e4 neff=4.0 delta=1.4 + rsh=36 cgso=200p cgdo=200p + cj=200u cjsw=500p mj=0.75 + mjsw=0.30 pb=0.80 nfs=1e11 * * .model p pmos + level=2 vto=-0.70 tox=400e-10 + nsub=7e15 xj=0.06u ld=0.20u + uo=250 ucrit=.85e5 uexp=0.3 + vmax=3e4 neff=2.65 delta=1.0 + rsh=100 cgso=190p cgdo=190p + cj=250u cjsw=350p mj=.55 + mjsw=0.34 pb=0.80 nfs=1e11 * ********************************************************************** * * * * .end 1****** h s p i c e 8807b 14: 0:38 21-nov89 u n i x ****** copyright 1988 meta-software,inc. *****site:mips sunnyvale ***** * file gbump: ground bounce of cmos 74act244 octal driver ****** operating point information tnom= 25.000 temp= 25.000 ****** ***** operating point status is voltage simulation time is 0. node =voltage node =voltage node =voltage +0:1 = 5.0000 0:2 = 0. 0:5 = 5.0000 +0:11 = 0. 0:12 = 5.0000 0:43 = 5.0000 +0:44 = 4.9995 0:76 = 0. 0:77 = 34.8429p +0:100 = 71.7641n 0:200 = 4.9995 0:201 = 4.9995 +0:300 = 4.9995 0:301 = 35.8888n 0:400 = 12.1605n +0:500 = 23.9224n 0:600 = 4.7878 1****** h s p i c e 8807b 14: 0:38 21-nov89 u n i x ****** copyright 1988 meta-software,inc. *****site:mips sunnyvale ***** * file gbump: ground bounce of cmos 74act244 octal driver ****** transient analysis tnom= 25.000 temp= 25.000 ****** time voltage voltage voltage voltage 0:77 0:44 0:500 0:600 0. 0. 4.9995 0. 4.7878 100.00000p 0. 4.9995 0. 4.7878 200.00000p 0. 4.9995 0. 4.7878 300.00000p 0. 4.9995 0. 4.7878 400.00000p 0. 4.9995 0. 4.7878 500.00000p 0. 4.9995 0. 4.7878 600.00000p 0. 4.9995 0. 4.7878 700.00000p 0. 4.9995 0. 4.7878 800.00000p 0. 4.9995 0. 4.7878 900.00000p 0. 4.9995 0. 4.7878 1.00000n 0. 4.9995 0. 4.7878 1.10000n -3.7585m 4.9959 -3.4256m 4.7875 1.20000n -5.7944m 4.9940 -5.3921m 4.7873 1.30000n -6.3895m 4.9934 -6.0209m 4.7870 1.40000n -6.5644m 4.9932 -6.2022m 4.7867 1.50000n -6.6304m 4.9929 -6.2071m 4.7864 1.60000n -6.4940m 4.9926 -5.9209m 4.7861 1.70000n -6.0875m 4.9925 -5.3024m 4.7858 1.80000n -5.1198m 4.9927 -4.1490m 4.7856 1.90000n -3.9268m 4.9928 -3.5274m 4.7853 2.00000n -2.4118m 4.9925 -3.7128m 4.7851 2.10000n 4.8552m 4.9969 -64.2519u 4.7851 2.20000n 9.9400m 4.9985 996.9036u 4.7852 2.30000n 13.3635m 4.9976 -1.1587m 4.7852 2.40000n 16.4834m 4.9963 -3.9596m 4.7853 2.50000n 16.8181m 4.9913 -8.3046m 4.7854 2.60000n 15.3034m 4.9836 -3.4711m 4.7855 2.70000n 12.9268m 4.9745 17.1126m 4.7857 2.80000n 8.1996m 4.9627 64.0100m 4.7858 2.90000n 2.6955m 4.9510 140.8365m 4.7861 3.00000n 5.3863m 4.9481 260.2752m 4.7863 3.10000n 16.8809m 4.9541 440.5934m 4.7865 3.20000n 34.6304m 4.9662 662.6986m 4.7868 3.30000n 68.1812m 4.9933 936.2604m 4.7870 3.40000n 156.4917m 5.0714 1.2945 4.7870 3.50000n 287.7428m 5.1891 1.7131 4.7866 3.60000n 562.4576m 5.4412 2.2819 4.7849 3.70000n 945.1114m 5.7957 2.9473 4.7819 3.80000n 1.6399 6.4570 3.8832 4.7754 3.90000n 2.5605 7.3427 5.0040 4.7649 4.00000n 3.3872 8.1390 5.9303 4.7471 4.10000n 3.9673 8.6932 6.5744 4.7244 4.20000n 4.0807 8.7876 6.8102 4.6915 4.30000n 3.9769 8.6669 6.8709 4.6516 4.40000n 3.7797 8.4494 6.8063 4.6013 4.50000n 3.5337 8.1812 6.6762 4.5455 4.60000n 3.2015 7.8229 6.4386 4.4809 4.70000n 2.7994 7.3921 6.1204 4.4103 4.80000n 2.2683 6.8297 5.6760 4.3320 4.90000n 1.7198 6.2491 5.2034 4.2515 5.00000n 1.1447 5.6397 4.6715 4.1661 5.10000n 624.0104m 5.0831 4.2039 4.0787 5.20000n 237.5489m 4.6582 3.8852 3.9902 5.30000n 5.3356m 4.3849 3.7223 3.9018 5.40000n -88.2877m 4.2477 3.6903 3.8140 5.50000n -63.2096m 4.2276 3.7624 3.7274 5.60000n 26.5661m 4.2718 3.8869 3.6417 5.70000n 168.8664m 4.3694 4.0474 3.5573 5.80000n 313.6076m 4.4700 4.2047 3.4734 5.90000n 450.3763m 4.5643 4.3421 3.3902 6.00000n 516.6785m 4.5915 4.4016 3.3077 6.10000n 577.2181m 4.6131 4.4548 3.2253 6.20000n 568.2798m 4.5686 4.4412 3.1434 6.30000n 553.6599m 4.5186 4.4221 3.0615 6.40000n 508.4516m 4.4406 4.3729 2.9803 6.50000n 460.7419m 4.3603 4.3213 2.8991 6.60000n 407.1149m 4.2767 4.2592 2.8190 6.70000n 353.0039m 4.1927 4.1962 2.7390 6.80000n 303.8419m 4.1165 4.1329 2.6606 6.90000n 255.0846m 4.0408 4.0696 2.5823 7.00000n 217.7782m 3.9796 4.0132 2.5061 7.10000n 181.4082m 3.9195 3.9573 2.4301 7.20000n 159.6902m 3.8774 3.9130 2.3566 7.30000n 139.1703m 3.8367 3.8696 2.2833 7.40000n 133.6212m 3.8145 3.8395 2.2128 7.50000n 129.2964m 3.7938 3.8106 2.1425 7.60000n 137.9897m 3.7897 3.7946 2.0751 7.70000n 147.7475m 3.7870 3.7796 2.0079 7.80000n 167.1518m 3.7977 3.7757 1.9436 7.90000n 187.3449m 3.8095 3.7727 1.8795 8.00000n 213.2601m 3.8307 3.7782 1.8181 8.10000n 239.6431m 3.8527 3.7844 1.7569 8.20000n 267.7777m 3.8802 3.7961 1.6981 8.30000n 296.0554m 3.9081 3.8084 1.6396 8.40000n 321.8643m 3.9371 3.8231 1.5833 8.50000n 347.4714m 3.9662 3.8380 1.5272 8.60000n 364.3462m 3.9902 3.8509 1.4730 8.70000n 380.5069m 4.0137 3.8637 1.4190 8.80000n 372.1641m 4.0165 3.8633 1.3669 8.90000n 361.8174m 4.0176 3.8618 1.3150 9.00000n 336.3708m 4.0072 3.8520 1.2648 9.10000n 309.6894m 3.9958 3.8415 1.2149 9.20000n 286.5441m 3.9912 3.8344 1.1668 9.30000n 263.6879m 3.9872 3.8276 1.1189 9.40000n 242.6576m 3.9883 3.8240 1.0730 9.50000n 221.7766m 3.9898 3.8206 1.0273 9.60000n 204.6850m 3.9983 3.8224 983.6733m 9.70000n 187.9033m 4.0074 3.8245 940.2202m 9.80000n 171.9300m 4.0206 3.8304 898.8939m 9.90000n 156.0227m 4.0340 3.8365 857.7415m 10.00000n 141.9410m 4.0516 3.8462 818.1376m 10.10000n 127.9582m 4.0715 3.8585 780.0395m 10.20000n 114.5722m 4.0936 3.8729 743.0569m 10.30000n 101.6392m 4.1174 3.8891 706.9079m 10.40000n 89.1974m 4.1431 3.9075 671.8417m 10.50000n 77.2469m 4.1709 3.9280 637.8582m 10.60000n 65.5567m 4.2004 3.9506 604.9115m 10.70000n 54.1269m 4.2315 3.9751 573.0014m 10.80000n 42.8960m 4.2642 4.0015 542.0721m 10.90000n 31.8641m 4.2984 4.0299 512.1236m 11.00000n 20.8904m 4.3338 4.0599 483.0925m 11.10000n 9.9749m 4.3706 4.0916 454.9790m 11.20000n -918.2743u 4.4084 4.1249 427.7142m 11.30000n -11.7891m 4.4473 4.1597 401.2981m 11.40000n -22.5285m 4.4872 4.1960 375.6555m 11.50000n -33.1364m 4.5283 4.2338 350.7864m 11.60000n -44.0325m 4.5698 4.2727 326.6143m 11.70000n -55.2168m 4.6119 4.3127 303.1394m 11.80000n -66.5155m 4.6545 4.3537 280.2810m 11.90000n -77.9284m 4.6976 4.3957 258.0390m 12.00000n -89.4443m 4.7412 4.4385 236.3309m 12.10000n -101.0633m 4.7851 4.4822 215.1567m 12.20000n -112.9299m 4.8291 4.5264 194.4335m 12.30000n -125.0440m 4.8732 4.5711 174.1612m 12.40000n -137.4449m 4.9172 4.6162 154.2588m 12.50000n -150.1326m 4.9612 4.6617 134.7261m 12.60000n -163.0989m 5.0048 4.7073 115.4851m 12.70000n -176.3438m 5.0483 4.7530 96.5358m 12.80000n -189.8371m 5.0913 4.7987 77.8020m 12.90000n -203.5789m 5.1341 4.8444 59.2836m 13.00000n -217.5504m 5.1764 4.8899 40.8709m y ***** job concluded 1****** h s p i c e 8807b 14: 0:38 21-nov89 u n i x ****** copyright 1988 meta-software,inc. *****site:mips sunnyvale ***** * file gbump: ground bounce of cmos 74act244 octal driver ****** job statistics summary tnom= 25.000 temp= 25.000 ****** # nodes = 18 # elements= 32 # real*8 mem avail/used= 250000/ 9320 # diodes= 0 # bjts = 0 # jfets = 0 # mosfets = 16 analysis time # points tot. iter conv.iter op point 0.22 1 14 transient 4.01 131 246 110 rev= 0 input+setup 1.29 pass1 0.86 readin 0.30 errchk 0.08 setup 0.05 output 0.20 total cpu time 5.80 seconds job started at 14: 0:38 21-nov89 job ended at 14: 0:45 21-nov89 @\Rogue\Monster\ else echo "shar: Will not over write gbump.hspice" fi # to concatenate archives, remove anything after this line exit 0 -- -- Mark Johnson MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086 (408) 991-0208 mark@mips.com {or ...!decwrl!mips!mark}
waters@darla.sps.mot.com (Strawberry Jammer) (11/22/89)
In article <5780@alvin.mcnc.org> kenkel@mcnc.org (Stephen Kenkel) writes: }I would like to propose that a publicly available collection be }established of circuits. The circuits would be selected to }include tough circuits for traditional simulators (bipolar, }opamps, feedback, bi-stable, etc), very large circuits, circuits }which are suitable for waveform relaxation, circuits which }give rise to unknown states with timing simulators, etc. An excellent idea! With the usual caveats as to generality and applicability of the test cases. As an industrial CAD type I would also urge the inclusion of some realisticly sized models. For example a portion of a microprocessor with analog I/O - maybe 1000+ (10K+ ?) devices. Far too often I see papers talking about "large" behavioral simulators or routers which have been tested on 100 or 200 gates and are totally useless with 500K+ which is where such things are useful today. }1. Freely distributable. This should not be too much of a problem, }since it is difficult to reverse engineer a circuit from the flattened }netlist. I think this implies some "diddling" of models and process parameters. I know we (Motorola) would not give out any accurate process models and I'm sure the other manufacturers feel the same way. }2. In SPICE compatabile netlist form. (For lack of a more universal }standard) I would suggest EDIF V 2 0 0 which is used for netlists throughout the ASIC industry. There are even examples in some of the older documentation about translating SPICE netists to/from EDIF, it is a very straightforward mapping. }3. Use a standard device model: SPICE Level I, II, III, IV or BJT. }Many industrial circuits use custom device models, which again }confuses comparisons. Yes (see 1 above). It would however have to be of "equivalent" complexity to models in actual use. The best way of achieving this might be by having a number of device engineers at IC companies comment on and validate the model being used. }4. MOST important: include an output file containing what is }believed to be a correct simulation at the circuit level, for }comparison purposes. If possible, enought information should be }given so that SPICE, HSPICE, PSPICE, or whatever can be re-run to }verify the correctness of the output. Again I think EDIF V 2 0 0 might be useful here, possibly one of the EDIF Test proposals for handling test vectors might be worth testing too. It is definitly worth some trouble to use a common standard for both stimuli and output analysis. *Mike Waters AA4MW/7 waters@dover.sps.mot.com * Justice is incidental to law and order. -- J. Edgar Hoover
rxet30@toto.oakhill.uucp (Steve Hamm) (11/23/89)
In article <5780@alvin.mcnc.org> kenkel@mcnc.org (Stephen Kenkel) writes: > It has struck me recently that there does not seem to > exist a good, standard, publicly available collection of > benchmark circuits for circuit and timing level simulators. Nice idea. I hope there's some response. I put a request out for problem circuits some time ago and got, I believe, exactly six circuit files. (Mark Johnson, from MIPS, sent me four of the six circuits. Thanks Mark!) I also got a larger number of requests for my "library of problem circuits" -- but most of the circuits weren't really "problem" circuits, and six isn't a library. Anyway, I suspect there may be more interest in having such a library than in helping to build one. One place to start may be Berkeley. In the SPICE 3C1 distribution, Tom Quarles' writeup (actually an appendix to his dissertation) includes results from a number of "benchmark" circuits (with a fairly descriptive naming convention) that are said to be available from the Berkeley Industrial Liaison office. You might check to see if they wish to contribute these (and thereby reduce their distribution load). Anyone from UC Berkeley care to comment? As a footnote, if you're going to set something up, I'd personally prefer a mail server (ala NETLIB), since I don't have FTP available from my site. > At ICCAD, for instance, I noticed a number of talks giving the > performance of simulators, but on circuits > that had been selected by the authors of the programs. > This makes it difficult to qualify claims of "100X Spice" > and "always converges". Ah, the inevitable ICCAD shell game. I've found it interesting that in industry, at least, in spite of the many papers presented on simulators that all are 100X SPICE and "always converge" nothing seems to have displaced the direct method circuit simulators (e.g. SPICE). TANSTAAFL. Even with UCB standard SPICE input using 2G6 or 3C1 models, there will be games that can be played. Commercial simulators typically relax the SPICE 2G6 default convergence tolerances by factors of 20 to 500000. Some define convergence differently. And different versions of, for instance, the level 3 mosfet model (say, using nice smooth splines to remove nastyness in the I-V and Q-V characteristics :-)) aren't necessarily the "same" model as SPICE for all applications, but this massively changes the overall efficiency and convergence characteristics of a simulator. So an answer is not necessarily the "same" even when it (perhaps by fortunate coincidence) is close to correct. Still, having a collection of standard circuits would be far better than not. > DISCLAIMER: > MCNC distributes a circuit level simulator (CAzM), and > has a vested interest in the benchmarking of such programs. That beats a number of the commercial simulator folks, who may be more interested in making sure that such benchmarking doesn't occur ;-) Oh, yeah, my own disclaimer: I make my living hacking on a circuit simulator for in-house use. --Steve -- Steve Hamm Motorola Inc. Semiconductor Sector CAD, Austin TX (512) 928-6612 oakhill!monarch!rxet30@cs.utexas.edu
tquarles@mentor.com (Thomas Quarles) (11/23/89)
In article <RXET30.89Nov22150818@toto.oakhill.uucp> rxet30@toto.oakhill.uucp (Steve Hamm) writes: > >In article <5780@alvin.mcnc.org> kenkel@mcnc.org (Stephen Kenkel) writes: >> It has struck me recently that there does not seem to >> exist a good, standard, publicly available collection of >> benchmark circuits for circuit and timing level simulators. > >Nice idea. I hope there's some response. I put a request out for >problem circuits some time ago and got, I believe, exactly six >circuit files. (Mark Johnson, from MIPS, sent me four of the >six circuits. Thanks Mark!) I also got a larger number of requests >for my "library of problem circuits" -- but most of the circuits >weren't really "problem" circuits, and six isn't a library. Anyway, >I suspect there may be more interest in having such a library than >in helping to build one. > >One place to start may be Berkeley. In the SPICE 3C1 distribution, >Tom Quarles' writeup (actually an appendix to his dissertation) >includes results from a number of "benchmark" circuits (with a fairly >descriptive naming convention) that are said to be available from the >Berkeley Industrial Liaison office. You might check to see if they wish >to contribute these (and thereby reduce their distribution load). > >Anyone from UC Berkeley care to comment? > Well, since my name has been brought up, I guess I'd better stick in a few words here. I'm still working on a release tape of the benchmark circuits used in the appendix to my dissertation. The problem is that it takes a LONG time to track down the origin of 150+ circuits and make sure that they are all redistributable, and contact the originators of those that aren't clearly marked to ascertain whether they are redistributable. Many of these circuits came to Berkeley in bug reports, and thus their origins are buried in my archive of 2000+ old SPICE3 messages. When I can get through all of these, or at least most of them, Berkeley plans to release a tape of collected benchmark circuits. I hope to get this done before long, and will post a message here when such a tape is available. I no longer have any direct input on the matter of ftp access or just mag tape by mail, that decision is up to U.C. Berkeley. Tom Quarles tquarles@mntgfx.mentor.com
whitaker@manse.cad.cs.man.ac.uk (Nigel Whitaker) (11/24/89)
Hello folks, I saw Stephens request for circuit simulation benchmarks, and thought I would add my 1/2 pence (:-) worth, in my hunt for gate level (and above) simulation benchmarks. In article <5780@alvin.mcnc.org>, kenkel@mcnc.org (Stephen Kenkel) writes: > It has struck me recently that there does not seem to > exist a good, standard, publicly available collection of > benchmark circuits for circuit and timing level simulators. The same situation is also true for simulators at the gate level and above. Indeed I, others (I have seen requests from "Jack V. Briner" <jvb@duke.cs.duke.edu> and gld@cunixd.cc.columbia.edu) have made requests for benchmarks to the net. I assume others working on simulation algorithms, or parallel simulation algorithms, would also benefit from a set of standard benchmarks. The only `standard' simulation benchmarks have been those from ISCAS 85 & 89. These were not intended as simulation benchmarks and to my mind are very poor examples for anything but very simplistic gate level simulations. > I would like to propose that a publicly available collection be > established of circuits. The circuits would be selected to > include tough circuits for traditional simulators (bipolar, > opamps, feedback, bi-stable, etc), very large circuits, circuits > which are suitable for waveform relaxation, circuits which > give rise to unknown states with timing simulators, etc. My wish list would include: gate, functional, behavioural descriptions of large and small, ASICs, PCB designs and possibly microprocessors, or even complete systems?.... > 2. In SPICE compatabile netlist form. (For lack of a more universal > standard) > > 3. Use a standard device model: SPICE Level I, II, III, IV or BJT. > Many industrial circuits use custom device models, which again > confuses comparisons. There seems to be an overlap of standards at the gate level and above. The `standards' in effect in this country include: VHDL, ELLA and EDIF (logicmodel and netlist are probably applicable here) Any others????? I would like to conduct an informal email survey to determine which of these languages are in use, and which could provide the greatest number of benchmark circuits. This would help me, and hopefully others, when trying to find/use benchmarks. Do you use one, or more, of these languages? Do you intend to switch to using one of these? Do you have any opinions as to which language a set of simulation benchmarks should use? Do you have anything at all to contribute on the subject? Please email responses to: whitaker@cs.man.ac.uk, I will summarise any responses back to the net (please state if you require any information supplied to be treated in confidence). > 4. MOST important: include an output file containing what is > believed to be a correct simulation at the circuit level, for > comparison purposes. If possible, enought information should be > given so that SPICE, HSPICE, PSPICE, or whatever can be re-run to > verify the correctness of the output. I agree with this part, there needs to be a set of input waveforms, and output ones, in order to test the correctness of the simulation. What standards could be used in this area? > DISCLAIMER: > MCNC distributes a circuit level simulator (CAzM), and > has a vested interest in the benchmarking of such programs. The same applies here, I am working on workload distribution algorithms for parallel simulation (*currently* using both ELLA and EDIF for various forms of input), and would dearly like some large benchmark circuits. Anything I receive in the way of benchmarks, with the suppliers permission, I would be quite happy to make available to anyone on the net. Thnaks for your time, Nigel -- -------------------------------------------------------------------------------- Nigel Whitaker, Room IT202, Department of Computer Science, University of Manchester, Oxford Road, Manchester, M13 9PL, U.K. Tel: (061) 275 6163 Fax: (061) 275 6280 EMAIL: whitaker@cs.man.ac.uk or ...!uunet!mcsun!ukc!mucs!nigelw
waters@darla.sps.mot.com (Strawberry Jammer) (11/29/89)
In article <61.256c4a76@manse.cad.cs.man.ac.uk> whitaker@cs.man.ac.uk writes: }> 2. In SPICE compatabile netlist form. (For lack of a more universal }> standard) }> }> 3. Use a standard device model: SPICE Level I, II, III, IV or BJT. }> Many industrial circuits use custom device models, which again }> confuses comparisons. } }There seems to be an overlap of standards at the gate }level and above. The `standards' in effect in this country }include: } } VHDL, } ELLA and } EDIF (logicmodel and netlist are probably applicable here) } Any others????? } }I would like to conduct an informal email survey to determine }which of these languages are in use, and which could provide the }greatest number of benchmark circuits. This would }help me, and hopefully others, when trying to find/use benchmarks. } }Do you use one, or more, of these languages? }Do you intend to switch to using one of these? }Do you have any opinions as to which language a set of simulation }benchmarks should use? At Motorola we use both VHDL and EDIF in various groups for various purposes. Our intent is to track the ANSI/ISO standards scene as far as coordination between the two is concerned. We use EDIF netlists in our ASIC work as the only input for our HD CMOS gate array line and as at least an acceptable input for every other ASIC product. As for the VHDL/ELLA tradeoff we take no position, other than to observe that VHDL is more available in the US. Again our intent is to track the formal standards activities coordinating the "overlap" between these standards. For the basic models either ELLA or VHDL would seem to be good candidates, but as far as I know the models beingdone today are in actually C code or an equivalent which is not the intent of either ELLA or VHDL as far as I am aware. For the connectivity between models the EDIF netlist view is clearly (IMHO) the choice since it can handle the entire connectivity problem in a manner consistent with normal circuit level design. I would suggest making contact with the IEEE/EIA committees working on the VHDL/EDIF interaction schemes as well as the ELLA equivalent before making a selection. *Mike Waters AA4MW/7 waters@dover.sps.mot.com * You might have mail