发布了我的 Transputer ISA 板的原理图和印刷电路板

Developing my transputer ISA board
作者:Óscar Toledo Gutiérrez    发布时间:2025-07-04 12:30:30    浏览次数:0
Development of a transputer ISA board
开发变速箱ISA董事会

I developed software for transputers in the years 1993-1996. A few months ago, I wrote some articles about my experiences, and most recently I developed a transputer emulator in Javascript
我在1993 - 1996年开发了用于变速器的软件。几个月前,我写了一些有关我的经历的文章,最近我在JavaScript中开发了一个变速器模拟器

After my transputer emulator in Javascript was working, I got curious about running my software on a PC computer. I have several PC motherboards with ISA connectors, and I decided to build a card compatible with the Inmos B004 (a single board to test transputer processors). Out of curiosity, I decided for compatibility because I wanted to run the Inmos Occam compiler.
在JavaScript中的变速器模拟器工作后,我很好奇在PC计算机上运行软件。我有几个带有ISA连接器的PC主板,我决定构建与INMOS B004兼容的卡(用于测试变速箱处理器的单板)。出于好奇,我决定兼容,因为我想运行INMOS OCCAM编译器。

A quick look in eBay and I got two transputer boards (TRAMs) for $25 each one. Both based on the Inmos T805 transputer running at 30 mhz.
在eBay中快速看一下,我得到了两个变速箱板(电车),每座$ 25。两者都基于以30 MHz运行的INMOS T805换变量。

I got the port numbers for the board from Geekdot , and designed a decoder schematic based on TTL circuits.
我从GeekDot获得了董事会的端口号,并根据TTL电路设计了一个解码器示意图。

My first schematic for the board. My first schematic for the board.
我第一个董事会示意图。我第一个董事会示意图。

The TRAM board contains the transputer and its memory. It is connected to the ISA board with a Inmos C011 chip that serializes and deserializes the communication link. This chip is accessed via the ports 0150H-0153H. My ISA board also provides a 5 mhz oscillator, two flip-flops to reset and analyse the transputer, and a tri-state gate to read the error status.
电车板包含变速器及其内存。它通过INMOS C011芯片连接到ISA董事会,该芯片序列化并应对通信链接进行序列化。该芯片可通过端口0150H-0153H访问。我的ISA板还提供了一个5 MHz振荡器,两个触发器来重置和分析变速箱,以及一个三态门来读取错误状态。

Ports of an Inmos B004 board Offset Field 0150H Read Receive data 0151H Write Send data 0152H Read Receive status 0153H Read Send status 0160H Write Latch bit 0 = Direct to Reset 0161H Write Latch bit 0 = Direct to Analyse 0160H Read Bit 0 = Direct from notError
INMOS B004板偏移字段的端口0150H阅读接收数据0151H写入发送数据0152H读取接收状态0153H阅读发送send status 0160H写入latch latch latch bit 0 =直接重置0161H写入闩锁latch latch latch latch latch latch latch latch bit 0 =直接分析0 =直接从noterror读取noteRrorror

I required a single ISA board drilled for homebrew development. I was going to buy one board in eBay for $35 dollars shipped, but I considered it was way too expensive. After some searching, I found the PCBWay showcase, where this same board was available for sale. And better, I could get 5 boards of 10x10cm. for $25 dollars shipped.
我需要一个ISA董​​事会进行自制开发。我打算以$ 35美元的运输方式在eBay购买一台董事会,但我认为这太贵了。经过一番搜索,我找到了PCBWAY展示柜,那里有同一板可供出售。更好的是,我可以得到5个10x10cm的板。以25美元的价格发货。

The ISA board for homebrewing. The ISA board for homebrewing.
ISA自制委员会。ISA自制委员会。

I got the board and I started to put sockets for the chips. It took me a while to get the oscillator working. Once it was generating the 5 mhz. clock, I wired everything step-by-step, testing as possible. I was so happy doing this, that I never noticed I built the components on the solder side. My first insertion on a PC motherboard killed two 74LS08 when I feed 12V+ through the chips.
我得到了董事会,开始为筹码放置插座。我花了一段时间才能使振荡器工作。一旦生成5 MHz。时钟,我逐步连接所有内容,并尽可能地进行测试。我很高兴这样做,以至于我从未注意到我在焊料一侧建造了组件。当我通过芯片喂12V+时,我在PC主板上的第一次插入杀死了两个74LS08。

The board also has a lot of noise produced by the wiring. After adding some decoupling capacitors, I was able to run my Pascal compiler and ray tracing software from 1993
板上还具有接线产生的大量噪音。添加了一些去耦电容器后,我能够从1993年运行Pascal编译器和射线跟踪软件

The transputer board working with the ray tracer. Notice my wrong mounting side, and that I'm using a AMD K5 motherboard. The transputer board working with the ray tracer. Notice my wrong mounting side, and that I'm using a AMD K5 motherboard.
与射线示踪剂一起工作的变速器板。注意我错误的安装一侧,并且我正在使用AMD K5主板。与射线示踪剂一起工作的变速器板。注意我错误的安装一侧,并且我正在使用AMD K5主板。

The ISA board I've built. The ISA board I've built.
我建造的ISA板。我建造的ISA板。

Going the PCB route
去PCB路线

A few weeks later, I decided to learn a little about KiCAD 9, so I installed it on my Macbook Air. Having used OrCAD many years ago, and my own programs that I developed later (I need to write more about it), I recognized most of the tools, and fortunately for this article, KiCAD comes with a predesigned ISA bus component.
几周后,我决定对KICAD 9了解一些信息,因此我将其安装在MacBook Air上。多年前使用了Orcad以及以后开发的自己的程序(我需要对此进行更多文章),我认识到大多数工具,并且幸运的是,对于本文,KICAD带有预先设计的ISA总线组件。

Once I put the ISA bus component on the sheet, I wondered if there was a 74LS245 in the library, and yes, so I started adding the components. I wired the pins. I also used the component designer to create the Inmos C011 chip, and the TRAM pinout.
一旦将ISA总线组件放在表格上,我想知道库中是否有74LS245,是的,所以我开始添加组件。我连接了别针。我还使用组件设计器创建INMOS C011芯片和电车引脚。

In less than two hours I had a schematic for my transputer board. It looked good, and from some tutorials in Youtube I heard about a very easy path from schematic to printed circuit board, so I exported the netlist, solved some bugs, and then invoked the PCB program. I discovered that I was missing the footprint for the TRAM.
在不到两个小时的时间内,我为变速器板有一个示意图。看起来不错,从YouTube的一些教程中,我听说过从示意图到打印电路板的一条非常简单的路径,因此我导出了网络名单,解决了一些错误,然后调用了PCB程序。我发现我错过了电车的足迹。

With the footprint designed, the components appeared almost magically in the workspace. And you only had to click and drag and drop the components to their place! This was heaven! I didn't found an autorouter, so I went ahead to draw some lines.
通过设计足迹,这些组件几乎神奇地出现在工作区中。而且,您只需要单击并将组件拖放到它们的位置!这是天堂!我没有找到汽车,所以我继续画一些线条。

I had worked five hours already, and I was pretty bored because I had to redraw line after line to make space in the board, or basically every time some line crossed the wrong place and it blocked other lines. I had heard of an autorouter for KiCAD, but it required to install Java (I remember in the 2010s I hated the slow and weird Oracle's installer), but I couldn't find a way to tell KiCAD I had downloaded an autorouter.
我已经工作了五个小时,而且我很无聊,因为我不得不在一线线上重新绘制一条线才能在板上腾出空间,或者基本上每次有一条线越过错误的位置并阻止了其他线路。我听说过KICAD的一名自动生动器,但是它需要安装Java(我记得在2010年代,我讨厌慢慢而怪异的Oracle的安装程序),但是我找不到一种告诉Kicad我下载了自动校长的方法。

It happens KiCAD has gone through so many iterations that there are tutorials since KiCAD 6. I was reading the information for the wrong version. In KiCAD 9 you only need to open the complements window from the initial startup window, select Freerouter, and you need also to install a more compact Java version (I'm glad I didn't had to see the Oracle's logo!)
碰巧的是,Kicad经历了如此多的迭代,以至于自KICAD 6以来就有教程。我正在阅读错误版本的信息。在KICAD 9中,您只需要从初始启动窗口打开“互补”窗口,选择FreeRouter,还需要安装更紧凑的Java版本(我很高兴我不必看到Oracle的徽标!)

The autorouter didn't worked in the first attempt, because my board outline was open somehow. After some work I was able to make the outline in a single polygon. I made sure the design rules check (DRC) were correct, with some further work going back to the schematic to tag the unused lines, and correct the voltage lines.
Autorouter在第一次尝试中没有工作,因为我的董事会大纲以某种方式打开。经过一些工作,我能够以一个多边形进行轮廓。我确保设计规则检查(DRC)是正确的,还有一些进一步的工作返回到示意图以标记未使用的线并纠正电压线。

I clicked the autorouting icon, and Freerouter appeared. I watched a countdown of 5 seconds, and then my board appeared, and ten-seconds later it was routed!!!
我单击了自动装饰图标,然后出现了Freerouter。我看了5秒钟的倒计时,然后我的董事会出现了,十秒钟后它被路由了!!!

It was mind-numbing!!! My memories went through the mist of times, when the only software available was Ultiboard and it was priced at $5,000 USD, later Orcad PCB with a slow and terrible autorouter, and now I had my board completed thanks to the effort of countless people.
这是令人讨厌的!!!我的记忆经历了时代的雾气,当时唯一可用的软件是Ultiboard,价格为5,000美元,后来又有PCB,速度缓慢又可怕,而现在,由于无数人的努力,我完成了董事会的完成。

Also it is pretty amazing to click a menu option and get a 3D view of the board.
同样,单击菜单选项并获取板的3D视图也很棒。

The 3D view of my first transputer PCB. The 3D view of my first transputer PCB.
我的第一个变速箱PCB的3D视图。我的第一个变速箱PCB的3D视图。

PCBWay
PCBWAY

KiCAD exported the Gerber and Excellon files. In the old times, there was a Gerber plotter that made a 1:1 version of your board for the negative processing, and the file format (with improvements) is still used in these modern times. It looks like I'm going fast, but it is only because I knew most of this beforehand.
KICAD导出了Gerber和Excellon文件。在旧时,有一个Gerber绘图仪制作了板的1:1版本,用于负面处理,并且在这些现代时代仍使用文件格式(具有改进)。看起来我要快,但这仅仅是因为我事先知道了大多数。

What I didn't expected was that dropping the Gerber files zipped into the PCBWay webpage basically gets you an immediate quote, my card was charged, and ten minutes later the PCB was being manufactured in Shenzhen, China. That's the power of Internet unleashed.
我没想到的是,将Gerber文件放在PCBWAY网页上基本上会立即引用报价,我的卡被充电,十分钟后,PCB在中国深圳制造。这就是互联网释放的力量。

The next day, I was watching again my circuit board, and I discovered that because my impulsiveness, all the power lines were 7 mils wide. Face palm, the transputer needs 1 amper of power to work, luckily, 7 mils is enough for 1 amper. However, you never should make lines so thin, you need tolerance, so I found the design settings, and I changed the voltage lines to be wider for the next revision.
第二天,我再次看着电路板,发现因为我的冲动,所有电源线宽70万。面对棕榈,变速器需要1个上班的功率,幸运的是,有7 mils足以容纳1安培。但是,您永远不应该使线路如此薄,您需要公差,因此我找到了设计设置,我更改了电压线以使下一次修订更宽。

One week later, I got my first PCBs, and the first thing I noticed was that some component references were missing. My bad, I never noticed that KiCAD shows two labels on the board, and I believed both were to be printed, but instead one is for your local reference, and the other one is for your silkscreen.
一个星期后,我得到了第一台PCB,我注意到的第一件事是缺少一些组件参考。我的坏人,我从未注意到Kicad在板上显示了两个标签,我相信两者都会被印刷,而是一个用于您的本地参考,另一个是用于您的丝绸屏幕。

Furthermore, my first build step with the 5 mhz oscillator didn't produced any signal. It took me like three hours to discover that I was silly enough to switch the places of the crystal and the capacitor in the schematics. Fortunately, I could swap the componentes on the board.
此外,我使用5 MHz振荡器的第一个构建步骤没有产生任何信号。我花了三个小时才发现我足够愚蠢,可以切换示意图中的水晶和电容器的位置。幸运的是,我可以将板上的组件交换。

In the last building step, I discovered the Reset and Analyse pins were inverted. I was mystified as the schematic looked correct. It wasn't until I made a really big zoom that I saw the bug (KiCAD shines here, as it shows the pin number inside the component pad) I had designed incorrectly my footprint, never noticed I placed first the pad number 10, and then the pad number 9, but these were assigned numbers sequentially. So the pins 9 and 10 of the TRAM were inverted (Reset and Analyse), and the autorouter follow it. I scratched the lines on the board, and put wires, and the board worked just fine!
在最后一个建筑步骤中,我发现重置并分析引脚是倒置的。我被神秘了,因为示意图看起来正确。直到我做了一个非常大的变焦直到我看到了这个错误(Kicad在这里闪耀,因为它显示了组件板中的PIN号),我设计了错误的占地面积,从未注意到我首先放置了第10个PAD号,然后将PAD编号9放置,但是这些数字是依次分配的。因此,电车的第9和10销量被倒(重置和分析),并且自动摄影器遵循它。我刮擦了板上的线条,然后放了电线,板的工作正常!

The revisions of my transputer boards. The revisions of my transputer boards.
我的变速器板的修订。我的变速器板的修订。

More mistakes
更多错误

I wasn't satisfied with this. Another thing I forgot is that because I was now using a PCB board, the signal noise-ratio was greatly diminished, so I could use the 20 megabits speed of the serializer. However, as I connected the lines directly to ground, it wasn't easy to separate them.
我对此不满意。我忘记的另一件事是,因为我现在使用的是PCB板,所以信号噪声比例大大降低,因此我可以使用串行器的20兆位速度。但是,当我将线直接连接到地面时,将它们分开并不容易。

I modified the schematic, and added two jumpers. One for selecting the speed, and another for the port. Because I wanted to put two transputers boards on my PC, just for the sake of doing it and watching some parallel work, although this wouldn't be compatible with the Inmos software.
我修改了原理图,并添加了两个跳线。一个用于选择速度,另一个用于端口。因为我想在我的PC上放置两个变速器板,只是为了进行操作并观看一些并行工作,尽管这与INMOS软件不兼容。

I revised all carefully, I ran all the DRC tests, and sent it to PCBWay to get the finished product. This time in red color finish.
我仔细修改了所有DRC测试,然后将其发送到PCBWAY以获取成品。这次是红色的。

When I received the PCB, I was astonished to watch how the bare PCB stalled the PC motherboard. Turns out that I moved a component on the schematic, and somehow KiCAD decided to add a connection point in a line to make the definitive crossover between the data line D0 and the address line A4. The DRC didn't recognize the mistake because D0 is tri-state, so it enters into the realm of possibilities having D0 connected to A4.
当我收到PCB时,我惊讶地看着裸露的PCB如何停滞PC主板。事实证明,我在原理图上移动了一个组件,而KICAD决定在行中添加一个连接点,以使数据线D0和地址线A4之间的确定性交叉。刚果民主共和国没有认识到这个错误,因为D0是三态,因此它进入了与A4连接的D0的可能性领域。

I was so sad because the D0 line is used in several places, but I was pretty fortunate to find the autorouter leaved the lines in the clear! I only needed to cut the lines in two places, and add a wire. The board was working!
我很难过,因为D0线在多个地方使用,但是我很幸运地发现自动射击者在清晰的线上溜走了!我只需要在两个地方切线,然后添加一根电线。董事会正在工作!

I cut the lines in all the remaining boards in case someday I build more. But I wasn't satisfied, so I sent again the corrected board to PCBway. This time ordered it in blue color, and with some components adjusted for better look.
我在所有剩余的板上都剪了线,以防有一天我建造更多。但是我不满意,所以我再次将校正板发送到了PCBWAY。这次以蓝色订购,并调整了一些组件以更好地外观。

The final revision of the schematic. The final revision of the schematic.
原理图的最终修订。原理图的最终修订。

The blue board
蓝色板

One week later I had the PCB in my hands, I built it in less than a hour, and started testing it. Everything worked perfectly, even a Mandelbrot demo I got from Geekdot.
一个星期后,我手里拿着PCB,在不到一个小时的时间内建造了它,然后开始对其进行测试。一切正常,甚至是我从Geekdot获得的Mandelbrot演示。

It felt good. So I decided, at last, to test the original Inmos Occam compiler. After a cumbersome installation, setting a ton of devices and paths (I just realized how many years have passed since I edited CONFIG.SYS and AUTOEXEC.BAT files), I managed to run the compiler, and it said"Transputer error set".
感觉很好。因此,我终于决定测试原始的INMOSCAM编译器。经过繁琐的安装后,设置了大量的设备和路径(我刚刚意识到自编辑config.sys和autoexec.bat文件以来已经过去了多少年),我设法运行了编译器,并说“变速器错误集”。

WTF? The only thing that could have happened is that it requires an unmodified error flag. I used a 74LS368 that inverts the output, because I decided that if you set Reset and Analyse to 1, then probably you also expect a one as error. I desoldered the chip, and I was about to solder the 74LS367, when I decided to disassemble the Inmos ISERVER.EXE file to make sure I was doing the correct thing.
wtf?唯一可能发生的事情是它需要一个未修改的错误标志。我使用了将输出倒置的74LS368,因为我决定如果您设置重置并分析为1,那么您也可能期望一个错误。我拆下了芯片,当我决定拆卸inmos iserver.exe文件以确保我做正确的事情时,我正要焊接74LS367。

I found easily the code that set the 0150H port as default, and it derived several port numbers. I found the read status port in the first try, and then the code for reading the bit. The program extracted the least-significant bit (this confirms the values in D1-D7 aren't important), and complemented it. This means it expected the unmodified NotError bit.
我很容易找到将0150H端口设置为默认设置的代码,并派生了几个端口号。我在第一次尝试中找到了读取状态端口,然后在读取位的代码中找到了读取状态端口。该程序提取了最不重要的位(这证实了D1-D7中的值并不重要),并补充了它。这意味着它可以期待未修改的刻人位。

With this confidence vote, I soldered the only 74367 I had at hand, and the Occam compiler worked! And by the way, the 74LS367 and the 74LS368 have compatible pinouts.
在这种信心投票下,我焊接了我手头唯一的74367,Occam编译器工作了!顺便说一句,74LS367和74LS368具有兼容的引脚。

I made the change in the schematic, and the silk-screen in the PCB for the release.
我对原理图进行了更改,并在PCB中进行了丝网屏幕。

The final revision of the PCB. The final revision of the PCB.
PCB的最终修订。PCB的最终修订。

Schematics and PCB board
原理图和PCB板

The schematics in PDF and KiCAD format are released at https://github.com/nanochess/transputer . I preferred to put the PCB board only in Gerber format along the drill files. You only need to compress the files in ZIP format for PCBway.
PDF和KICAD格式的原理图可在https://github.com/nanochess/transputer上发布。我更喜欢将PCB板仅在钻头文件沿Gerber格式放置。您只需要以PCBWAY以ZIP格式压缩文件。

Many people have suggested me to order the PCB with gold plated connector, along a beveled edge. This is at your option.
许多人建议我沿着斜面的边缘订购PCB。这是您的选择。

Currently, I have several extra PCB, you can get a board built and tested for $74 USD, shipping included. Good while supplies last. You need to provide your own TRAM board (the one with the transputer), and the Inmos C011 chip. Please write me an email if you are interested.
目前,我还有几个额外的PCB,您可以在包括74美元的运费的价格上建造和测试板。供应最后的好。您需要提供自己的电车板(带有变速器的电车板)和INMOS C011芯片。如果您有兴趣,请给我写电子邮件。

Did you like this article? Invite me a coffee on ko-fi!
你喜欢这篇文章吗?邀请我在ko-fi上喝咖啡!

Related links
相关链接

Last modified: Jul/03/2025
最后修改:7月/03/2025

最新文章

热门文章