This page was written in September, 2011, in Australia almost four years after leaving South Africa. It is part archeology and to publish what tools we support, or are likely to support in the future. For local design under contract, the request is likely to be in Altium format, however, semiconductor evaluation board suppliers generally supply in OrCAD design format.
Xilinx Spartan 3AN FPGA on the Altium Nanoboard 3000
In 2003, nVisage (Altium company) was advertising mixing schematics and VHDL seamlessly for US$2995. In November, 2006, we paid the equivalent of a small vehicle for the full Altium suite (R97,000), after years of OrCAD’s lack of decent FPGA integration. Altium also had hardware which looked good in brochures (Nick Martin promising to make ARM as pervasive as 8051), but the TSK3000A MIPS-like core was too slow compared to commodity ARM devices for a few dollars. We don’t believe the promise was kept to make ARM support as good as the brochures promised. The MIPS/DLX is not as attractive as ARM for embedded customers so a licence model like Actel’s for the M0 in a FPGA would have been great.
We attempted several FPGA examples from the Altium site, but don’t believe they put in the required effort to develop application notes. The “C-to-hardware” compiler was worth a look, but the documentation pool was very shallow. The Aldec promotion seems to have fizzled out, so not sure what the hardware based simulation future for Altium looks like.
A few years later the model changed to a subscription with the tools essentially having zero resale value. This displeased us! We mainly used the package for schematic capture and PCB layout.
We read in all our OrCAD files during an evaluation of the package, and we knew several people who were using Protel for layout, so we were not too concerned. The FPGA integration would be a bonus. We tried out the FPGA side on the Digilent Spartan3 board to test the instrumentation on the second JTAG. We used the embedded logic analyzer block with several probes on counter outputs. We also compiled the TSK3000A MIPS-like core and ran the compiler plus simulator. The trace was not what we wanted, but it was better than nothing. There were also application notes of two cores with trace ports. We bought the Nanoboard 3000 to test the trace ports, but the trace was not on branches.
The TSK3000A core did not run very fast and was not supplied in Verilog or VHDL source. Lattice Semiconductor’s Mico32 would be a better bet.
We took a quick look at the Altium website at the beginning of September, 2011. The day after the 40% discount offer expired on a Nanoboard 3000. The hardware is the same—two years of idle time or management executed poorly. The Nanoboard NB2 is still being advertised, but the plug-in modules are incompatible with the 3000 to the best of our knowledge. We will remain with FPGA vendor tools, as well as their evaluation boards. Finding datasheets for the earlier PowerPC405 and ARM boards or their new equivalents appears to be a well hidden secret.
We are unlikely to use Altium compilers for our own work. We have the Rowley Associates ARM toolchain, Xilinx free tools, a Lattice Semiconductor Versaboard and will use their tools, then will likely return to the OrCAD schematic capture fold.
We wish Altium good luck with their move to China. The market there is obviously much bigger than Australia. Our hands are fairly full for the rest of this year, but we will have one last look and evaluation of the tools within six months.
Altium’s documentation and application notes are not as useful as those from Xilinx, so inspite of supposedly being able to use any FPGA with Altium, they do not provide VHDL for their IP blocks. Without source code (VHDL or Verilog) it is essentially useless for prototype extention or instrumenting.
The Altium FPGA pin definitions differed to Xilinx’ UCF files, and again the documentation was sketchy. We gave away an earlier NanoBoard 3000. Unfortunately, the designers of the Nano3000 board chose a silly connector that Tyco stopped making before selling the tooling to Altium—talk about trying to lock in people and then not offering the connector with the kit! Why not use a similar connector to newer FPGA boards from Altera or Xilinx ?
Provide decent circuit diagrams of the boards.
Configuring a 32-bit soft-core processor needs more than a couple of pages. It also needs some “hooks” for mapping the registers to dual ported BlockRAM with alternative debug capability—i.e., not Altium debug but user created debug infrastructure.
The C-to-Hardware manual at 106 pages is not good enough. How do you use the framework to make an interrupt controller or a Uart? Was this something to compete with SystemC, Catapult or Handel-C? How do you single-step the hardware or provide a decent debug environment?
The first set of Nanoboard interfaces do not plug into the Nanoboard 3000. Define an interface and then stick to it. Upgrade what can be retrieved or at least follow on with some updates. The Sharp ARM devices (in the NB1 or NB2 processor boards) were sold to NXP and since then upgraded. ARM of three years ago is very different to today. Similarly with the PowerPC boards — migrate them or provide an interface to the newer Nanoboard 3000.
Put in a decent size FPGA that can be addressed from an external CPU and can also be used to debug the CPU software. A dedicated JTAG interface to the CPU core is essential, so tools other than Altium’s can be used for software development.
SERDES is becoming increasingly important — how about some test boards?
A reasonable speed ADC to make embedded oscilloscope functions as part of their instrumentation package.
We posted some additional information about the various CAD packages we have used or intend using here, with a section on Altium. We have also been through this mill with mechanical CAD, but SolidWorks in Australia is almost double the US pricing, so on our next overseas trip, we might activate/ purchsase it, or simply go with Alibre for our needs.