https://mail-index.netbsd.org/port-vax/2021/07/03/msg003899.html Port-vax archive --------------------------------------------------------------------- [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index] First new vax in ...30 years? :-) --------------------------------------------------------------------- * To: port-vax List * Subject: First new vax in ...30 years? :-) * From: Anders Magnusson * Date: Sat, 3 Jul 2021 12:14:02 +0200 --------------------------------------------------------------------- Hi, some time ago I ended up in an architectural discussion (risc vs cisc etc...) and started to think about vax. Even though the vax is considered the "ultimate cisc" I wondered if its cleanliness and nice instruction set still could be implemented efficient enough. Well, the only way to know would be to try to implement it :-) I had an 15-year-old demo board with a small low-end FPGA (Xilinx XC3S400), so I just had to learn Verilog and try to implement something. And it just passed EVKAA.EXE: >FR00000000 200 >G EVKAA V10.4 Hardcore Instruction Test Hit any key to continue EVKAA V10.4 pass # 1(X) done! EVKAA V10.4 pass # 19(X) done! EVKAA V10.4 pass # 32(X) done! EVKAA V10.4 pass # 4B(X) done! EVKAA V10.4 pass # 64(X) done! EVKAA V10.4 pass # 7D(X) done! EVKAA V10.4 pass # 96(X) done! EVKAA V10.4 pass # AF(X) done! EVKAA V10.4 pass # C8(X) done! EVKAA V10.4 pass # E1(X) done!^C Input breakpoint: 000000001 > (the microcode console works like the Nova4 microcode console - simpler to implement than the VAX style...) It runs at 50MHz, but could easily be increased to about 80, just to program DCM. Photo of the "vax": https://www.ludd.ltu.se/~ragge/pics/IMG_0837.jpg I had to get a new FPGA board, since I started to get bit errors on the old one, so I bought a chinese board with essentially the same FPGA (XC3S500E): I have implemented all addressing modes, the interrupt hierarchy, timers, and 151 instructions. No memory management yet though, but that should be quite straight-forward. Currently it uses about 70% of available FPGA resources, which is around 6000 LUTs (which is quite inefficient implemented, since I have learned how to do verilog programming while writing the code...) I'll follow up this mail with two more, one about the implementation and one about how to go forward with the vax architecture :-) -- R --------------------------------------------------------------------- * Follow-Ups: + Re: First new vax in ...30 years? :-) o From: Michael Parson + RE: [EXTERNAL] First new vax in ...30 years? :-) o From: Luke Brennan + Re: First new vax in ...30 years? :-) o From: Paul Koning + Re: First new vax in ...30 years? :-) o From: Dave McGuire --------------------------------------------------------------------- * Prev by Date: Re: Bountysource campaign for gcc-vax * Next by Date: New vax - implementation :-) * Previous by Thread: HEADS UP: GCC 10 now default on several ports * Next by Thread: Re: First new vax in ...30 years? :-) * Indexes: + reverse Date + reverse Thread + Old Index Home | Main Index | Thread Index | Old Index