Very impressive. Congratulations!
Marc

> On Jul 11, 2023, at 3:23 AM, Jay Jaeger via cctalk <cctalk@classiccmp.org> 
> wrote:
> 
> Over the past couple of months I have been working on my FPGA implementation 
> of the IBM 1410 1960's era pre System/360 system again. I am pleased to share 
> that the CPU now passes a significant diagnostic, CU01, which tests almost 
> all of the instructions, and also tests I/O with overlap and the priority 
> feature (interrupts).  Also, it runs at generally the same speed as the 
> original machine (comparing the IBM estimates for 1000 passes), using the 
> same logic as the original machine (though no doubt optimized by the process 
> of taking in VHDL logic statements and turning combinatorial logic into 
> lookup tables (LUTs), and some additions of "D" flip flops to avoid race 
> conditions in latches and logic loops.)
> 
> (The speed is the same because its "oscillator" - crystal controlled in the 
> original - is now a clock divider/counter off of the FPGA chip clock.)
> 
> For more details, see
> 
> https://www.computercollection.net/index.php/ibm-1410-fpga-implementation/
> 
> Mostly the ALD (Automated Logic Diagram) data capture seems to have been very 
> accurate.  I really only had to do four things this year to get it to this 
> point:
> 
> - Make the necessary logic gate deletions / changes for configuration
>  option S40/$40 - 40K of core
> - Add the ability to transfer a core image from the PC support program
>  to the FPGA.
> - Fix some issues in the Assembly Channel because while almost all of
>  the ALDs are for a 1410 with the Accelerator feature, several pages of
>  the very important Assembly channel were for the base 1410 model.
> - Deal with a race condition during overlapped I/O
> 
> These are generally discussed in individual blog posts off the above link.
> 
> I really was quite happily surprised that when capturing the data on over two 
> hundred ALDs with over 10,000 logic gates, over 4,200 individual unique 
> signals, more than 12,000 signal names on individual ALDs, and more than 
> 32,000 interconnections that there were not a lot more problems than these.  
> (I may run into some as yet undiscovered errors involving the channels as I 
> add I/O devices, though).
> 
> I suppose that there were not more problems because for most of the 
> individual sheets and in many cases groups of sheets I wrote VHDL test 
> benches using the Intermediate Logic Diagrams (ILDs) as a guide, and of 
> course took considerable care during the data entry process from the ALDs, 
> checking connection counts on each logic block, for example.
> 
> The last post ("Off to the Races") on the aforementioned web page also 
> discusses the next expected steps: some more work on the PC/Console support 
> program, more diagnostic tests, other support program enhancements, and 
> figuring out how to go about I/O, especially since I don't have ALDs for the 
> 1414 I/O Synchronizers.
> 
> But I no longer have any doubts about the viability of this process, so long 
> as the FPGA logic clock is somewhere around 10x the logic clock of the 
> simulated machine.  (I expect to try and "push it" by speeding up the 1410 
> logic clock to see at what ratio of the FPGA clock to the CPU clock things 
> break down, as well).
> 
> JRJ

Reply via email to