Alchemy Semiconductor Projects

M2 connectors

Ampro’s M2 board connectors.

We worked on several Alchemy Semiconductor MIPS projects. When the Au1000 was launched, it was a lot faster than comparable PowerPC and ARM devices. It also featured two Ethernet ports and several serial ports; ideal for industrial automation. The chip ran at 400 MHz and dissipated half a Watt. The first project used an Ampro M2 evaluation board; their first MIPS product. In the past, we had used several Ampro x86 CPU and peripheral boards and they worked in extremely hostile environments (tannery). We bought the M2 kit which included a base board.

The second Alchemy Semiconductor board was the Ampro M3, which replaced the M2. Ampro was on the MIPS and embedded Linux curve, but if you take a look at the M2 board, it included a fairly large FPGA from Actel for the PCI interface. The Au1500 included PCI, so the board cost must have been a lot less. We had found numerous problems with the M2, however, Ampro was very good at intercontinental phone calls, correcting documentation and helping via email. They also swapped out the M2 board for the M3. We were dealing through their South African agent, who also provided excellent service. The boards were expensive for deployment and we wanted to stay with the Au1000 as we had no need for PCI. A writeup of a design is available here as au.pdf (1,45 Meg).

We designed our own Au1000 board using the same Ethernet PHYs as the Ampro M2 and M3, as these also needed to be programmed. The Ampro base board came with circuit diagrams, but the graphics port was no use as there was no graphics output in the Au1000 or the Au1500. The parallel port, IDE connectors and several PC specific connectors would not be used, so it would be too expensive to use the Ampro base board in installations. The connectors on the M2 and M3 modules were also pretty complex, as can be seen in the picture on the left. Before we laid out our design, a local company near Stellenbosch offered to supply their hardware if we could assist with the Linux port. Two of their engineers visited Port Elizabeth for a week for assistance on the port. The archive of the kernel is posted here as au1000.tgz (14 Meg) and is the result of trimming about 8000 files off the kernel source tree. The disassembled kernel and the 4,1 Meg S record are included in the compressed tar ball. Our AU1000 work was done at the end of 2001 and during 2002/ 2003. We tried to sanitize the code and have only posted test versions. Doxygen and Graphviz were used, but there are problems with the call graphs, even though run in 2011. We’ll update when the bugs are resolved. The HTML output is a lot better but too much to post. We ported the code to HP-UX, SunOs, Linux and embedded Linux.