[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[f-cpu] ERIN32 Components



Ben--
 
I will be using QL6600's of the Eclipse Family from Quicklogic having 4032 Logic Cells.
 
The Language Processor uses two FPGA's and the Peripheral Processor is a mirror image. 
 
Each ERIN32 consists of a Data Processor & an Address Processor.  I fetch four instructions and four operands in parallel.  The Microinstruction is 72 Bits, where 18 are Source address and 18 Bits are Destination address.  Modified Harvard Architecture.
 
The instruction Pipeline is four deep.  And where possible all four are executed.  I have a Bit in the instruction which I call DDP (data dependent) if an instruction requires the result of the previous, I have a controlled stall/restart.
 
There seems to be a direct correlation of performance to pipeline depth.  I.E.--
1, 2, 4, 8.16 etc.  I will have a 200 MHZ average execution time operating from a base 50 MHZ oscillator applied to a PLL.
 
The design is NOT logic cell limited.  The DAP uses 2100 cells and the ADP uses 1800 - most are used by Multiply and Divide instructions. I was going to have these as optional instructions - but since I had space to burn, they are free-bees.
 
I am using Synchronous Static Rams (SSRAM) from Cypress Semi.  Both two port and four port. The local memory is essentially an Orthogonal Array.  Access time is 4.5 NS for both types.
 
I am currently doing the FBC (fully buffered channel) which should be complete this week.  Will probably use an QL6500 here.
 
Next I will be doing the CICU (Console Interrupt Control Unit) for 128 User Stations.
This design should take two weeks - and at this point I will have all designs completed for the Expo at San Jose.
 
Don't hesitate sending Questions - the only thing I have that is Company Private is the Memory Architecture.
 
Regards
Dick Hartney