Design Kit Updates

This is a summary and update of what’s known and what’s unknown for all the design kits (DK) that have been tested. As the 0.35u DK was only installed recently, it has not been as extensively tested as the other design kits. However, if the Mentor toolchain is set up properly, the 0.35u DK is more likely to work than the 0.50u/0.70u DK. Our main problem is the incompatibility between toolchain and design kits.

The ideal situation would be to get a copy of the ADK from Mentor. However RJ has not gotten back to me on this. The next best solution is to have the appropriate Mentor software installed but SJM has been unable to do it as yet. According to him, he has been busy trying to fix the security problems and is unable to fix the Mentor problems for now.

HDL Design Entry

  • 0.35u – Untested, presumably working as HDL netlist importing is built into DA_IC.
  • 0.50u – Tested with ICSTUDIO
  • 0.70u – Tested with ICSTUDIO

HDL Behavioral Simulation

  • 0.35u – Untested, unknown status
  • 0.50u – Tested with MODELSIM. HDL libraries for standard cells are provided.
  • 0.70u – Untested, should work like 0.50u as a similar HDL library is provided.

HDL Synthesis

  • Untested for ALL as Leonardo Spectrum is unavailable.

NOR2 Gate Schematic

  • 0.35u – Schematic entry works. Simulation is untested.
  • 0.50u – Working schematic entry + simulation.
  • 0.70u – Working schematic entry + simulation.

NOR2 Layout

  • 0.35u – Works automagically.
  • 0.50u – NOT working.
  • 0.70u – NOT working.

Standard Cell Schematic Capture

  • 0.35u – Unknown/Untested.
  • 0.50u – Working
  • 0.70u – Working

Standard Cell ELDO Simulation (ANASIM)

  • 0.35u – Unknown/Untested.
  • 0.50u – NOT working.
  • 0.70u – Tested and working.

Standard Cell MODELSIM Simulation (DIGISIM)

  • 0.35u – Unknown
  • 0.50u – Should work (partial testing)
  • 0.70u – Should work (similar library provided as 0.50u)

Standard Cell Autofloorplan (AFP)

  • Untested for ALL as there seems to be a license problem.
  • Will presumable work for 0.35u but may not work with 0.50u/0.70u.

Design Rule Check (DRC)

  • 0.35u – Tested and working for the custom NOR2 cell layout
  • 0.50u – Untested
  • 0.70u – Untested

Layout Versus Schematic (LVS)

  • 0.35u – Untested but would likely work.
  • 0.50u – Tested and failed
  • 0.70u – Untested and presumed NOT to work

Parasitic Extraction (XRC)

  • All untested

Back-annotation Simulation (BA)

  • Untested for all

New DK Setup

With the previous problems using the AMI design kits, I got SJM to install the DK for the AMS 0.35u process instead. However, this DK does not work with the newest version of Mentor ICFlow. The problem is with the rules file. ICFlow 2007 removed the use of the POLYNET keyword when defining the rules. So, I switched to using an older version. The rule file loads without errors on pre-2007 ICFlow (2005 & 2006).  However, the pre-2007 ICFlow DA-IC has problems with the Analogue/Mixed-Signal 2006 software. So, I have to resort to switching ICFlows as a temporary work around until SJM fixes the problem.

Schematic Driven Layout
I can safely say that the SDL flow works for the AMS0.35 DK. I could create a custom NOR2 gate in DA-IC and layout the NOR2 gate directly using SDL techniques. However, with the AMS2006 software, I would have difficulty simulating any of the designs. Assuming that the tools are set up correctly, I should be able to do both Standard Cell and custom designs using the AMS0.35 DK. I should say that the schematic for the NOR2 gate was design using the DA-IC from ICFlow 2007.

Project Handout Instructions
AMS provides detailed instructions on their website on how to use the DK. There may be problems accessing it from the Internet but a local copy is installed in the /www directory of the DK install. The steps are fairly concise and straightforward. It should not be difficult adapting these for the project handouts.

Mentor Toolchain Status Update

I’ve been having problems with layout. I will detail them at the bottom. For now, I’ll show the results of what works first and describe the problems.

Transistor Level Design & Simulation

NOR2 transient response

These are the ELDO results for a NOR2 gate constructed using the DK transistors via schematic capture. So, we can construct our own custom gates and simulate them. However, I was unable to get SDL working for this design. Note: It took a while to get this working as ICNET was not getting the W/L information from the INSTPAR property. We need to specify a W and L property for each transistor to get the simulation models to work. We can use the default MN and MP symbols from Mentor as long as we set the appropriate ASIM_MODEL, W and L properties.

The DK provides TYP, SLOW, FAST transistor models. These files (in $MTC_CMOS05/analog/) need to be included in the final SPICE netlist. This can be specified from the simulation menus. The models used here are the EN and EP models. There is also a ENMM9 and EPMM9 model (Philips MM9) in the library that we can use. The SGS-Thompson models in the library cannot be used as we do not have the license for it.
Analogue Design & Simulation

NOR2_RING analogue simulation

As you can see, ELDO simulation of a NOR2_RING works. The design is made up of instances of the NOR2 above, laid out in a RING via schematic capture. So, it is possible to capture a hierarchical design in a schematic, and simulate it. This is only useful for designs constructed from scratch. The DK does not provide schematic level simulation data for the standard cells. It only provides compiled digital models. So, it is only possible to do complex gate-level simulation digitally. This should be okay as long as we limit the analogue simulation to our custom NOR2 gate.

Digital Design & Simulation

NOR2_RING digital simulation

As you can see, the digital simulation works as well. This is a MODELSIM simulation of the RING oscillator that was designed via schematic capture. However, instead of simulating the transistor models, the NOR2 gate above is described using a VHDL model. It was important to test this as there are VHDL simulation models for all the DK standard cells. Even if we do not get Leonardo working, it would still be possible to construct a design using the standard cells by performing synthesis by hand of simple designs.

It should be possible to enter the design as a schematic (as is done in the present VLSI project) and construct basic building blocks (counters, shift registers and other blocks). Then, it should hopefully be possible to instantiate the DK simulation models. I have tried simulating the DK models and they work. However, I have yet to try instantiating the DK models from within a schematic capture for digital simulation.

I have also yet to try building a design and simulating it from a purely VHDL netlist. This should work as we are allowed to IMPORT a VHDL netlist from within ICSTUDIO. I will need to try this next.

What DOES NOT Work

At the moment, the biggest head-ache is layout. It is possible to directly run SDL for the standard cells by modifying the existing DK. I am still unable to get the internal device generator to work, in order to layout transistors directly. This may have something to do with another missing property for the transistors, or it may be something else. I’ll try to get this to work. If this can work, we can at least bring the design of a single NOR2 gate from start to finish.

Although I am able to run SDL for the standard cells, I am unable to get FLOORPLANNING nor AUTOCELLS to work. So, the standard cells are laid out according to their positions in the schematic. This means that there will be a lot of manual cajoling required. I do not know why these things do not work. Hopefully, I’ll figure it out soon.

What We CAN do

  1. Design the whole design using standard cells in a schematic or possibly, a low-level VHDL netlist. We can simulate it at the gate-level with digital simulation and layout the design using the standard cells via SDL.
  2. Design a custom NOR2 using standard transistors. This will fall short of the full design flow as we cannot yet do the transistor level SDL layout.

What is UNKNOWN

For some reason, Calibre has popped up in the menus. As I am yet unable to do a transistor level layout, I have yet to test the DRC, XRC processes. I have also not been able to test BACK-ANNOTATION nor digital simulation with SDL (delay) data. I will try to get layout working and ascertain if Calibre works.

Mentor Toolchain Status

We have started making some progress with the installation and setup of the Mentor software. Due to the difference in the versions for the AMI05 design kit and the latest Mentor version, the instructions for using the DK are essentially non-applicable. So, I am trying to figure out how to work the DK from within the latest Mentor setup.

Library Integration
The MGC_DESIGN_KIT can be manually specified from within ICSTUDIO. This means that the old mgc_location_map file is not really relevant anymore. The /parts folder contains circuit symbols ONLY.

Schematic Entry
Schematic capture within DA_IC works as before. When the correct AMI05 library is added, all the standard cells can be inserted into the schematic. I tested it by building a RINGOSC schematic using 17 NAND gates.

Schematic Driven Layout
SDL works only if the layout cells are specified correctly. At the moment, I cannot figure out how to specify this directly. Therefore, the work-around that I’m using is copying all the layouts for each standard cell into the /parts folder. So, it now contains symbols AND layouts. If I can figure out how to tell ICSTATION to look for the layouts in a different folder, we can leave the DK as it is.

Auto Place & Route
APR doesn’t work as the userware script calls a programme (lconvt) that doesn’t seem to exist. So, the next best thing to do is to use SDL and that works. It produces similar results, as can be seen in the figure. I will not encourage using it for large designs though. Therefore, the final design that we use may need to be partitioned properly.

Layout Checking
The generated layout FAILS LVS. I will need to investigate why the nand instance names changed from ND2 to X_ND2, which is the reason why LVS fails. I cannot seem to invoke Calibre for DRC/PEX checking from anywhere. I’m guessing that there must be some missing environment variable somewhere.

VHDL/Verilog Design Entry
I’m able to edit Verilog files directly from ICStudio. It also invokes Modelsim to check the code for errors. I’m only going to test it with Verilog but I assume that VHDL works the same way.  I will need to get Leonardo Spectrum installed before I can test SYNTHESIS. It has still not been installed at the moment because SJM has discovered that it doesn’t run on Linux. We will try to run it on Windows instead. I can see menus in ICSTUDIO that allow Verilog netlists to be directly imported. I’m assuming that it will be able to generate a schematic from the Verilog netlist, in order for backend work to be done.

VHDL/Verilog Simulation
I can simulate RTL code directly within ModelSim. It seems that DA_IC is also capable of invoking modelsim internally and viewing the output data in EZwave. This will be preferable for simulating post synthesis designs. I will have to investigate how to set this up correctly. At the moment, it doesn’t quite work as it is unable to find the references used.

There is a /quickhdl directory that seems to contain the necessary simulation data for the standard cells. However, I have yet to figure out how to tell Modelsim to use this. There should be some command line parameter or something that I can pass it to get it to work.

Mentor Software Problems

I’d just gotten back from Malaysia and moved into my new room yesterday. I contacted SJM today and he told me that he’s having problems setting up the Mentor software. However, he thinks that he’ll be able to make some progress soon. I’m not sure what the details of the problems are, but hopefully, they’ll be sorted out soon. He says that the same problems exist for different versions of Mentor software.

I’ve  just tried running the software and they’re all complaining of missing various libraries. In certain cases, it seems that the RedHat server has got newer libraries and the Mentor software is looking for older ones. In other cases, it seems that the RedHat server cannot find the libraries even though it’s already located on the system.

I’ve asked SJM to grant me root access to the system so that I can try to help fix the problems. Hopefully, he’ll grant me the access.

Random Email

I just received a random email from some random person using some random gmail address, asking me for instructions on installing Xilinx ISE 7.1 on SuSE 10.1. So, I told him/her to install the latest version of ISE as there are many bugs in earlier versions. And I suggested following the instructions on the Xilinx website. Seeing that this person told me that he/she was a Linux noob, I suggested reading up on Linux or using Windows instead.

PS: I’ve just received a reply from this person. Seems like it was an Indian dude.

C++ Lab Problems

I spent the afternoon trying out the C++ Lab experiments today. I’ve finished 6 of the exercises and I’ve managed to catch a few potential problems:

  1. Emacs is configured with Syntax Highlighting disabled. I had to enable it each time I started Emacs. I don’t use any custom emacs startup scripts. So, this is a global problem.
  2. The XCC tool used as a compile/debug environment has a mouse-over focus. So, the cursor needs to be on the stdin/stdout area in order for the programme to receive user input. This is not stated in the handout.
  3. The instruction for accessing the Animation is inaccurate. It requires a little navigating before the actual link is found. This might confuse some students.
  4. The XCC environment hung a few times, while running the programme halfway (at random points). There may be a stability issue with the XCC.

UPDATE@2355: I finished up to exercise 8 and found a major problem.

  1. Missing GLUE library.

I’ve notified TL about it and he has taken action to fix the problems.