Hey everyone!
LRJ here again, this time I'm working on the first project to really call my own - a video-card to show to employers, as my new CV, to get a job.
Why a video-card? 'Cause it's fun, and I like PC components! ^^
This post is a work in progress, that will be updated continously, and hopefully become more and more coherent.
Project will be fully open source - but I haven't figured out the license yet - so hence why it's in this section. Might have to release it with several different ones.
The O-SVGA will be based on the "Project VGA" and "GPLGPU" projects that have come before it.
Performance-target:---------------------------
Resolutions:320 x 200
320 x 240
640 x 480
800 x 600
1024 x 768
1920 x 1080
Colour-depth:2-colour
16-colour
32-colour
256-colour
8-bit
16-bit
24-bit
32-bit
Bus-bandwidth:Legacy PCI 64-bit @
533 MB/sCore clock - 400 Mhz
Memory clock - 800 Mhz
Game-performance:60 FPS in Quake (Fitzquake-port for Win98)
60 FPS in Croc
The reason Croc is in there, is because the basic GPU inside of the GPLGPU is based on the #9 ASICS that were used for the S3 Virge cards - hence, it's the best way to test out features.
Quake is of course the gold standard for Legacy 3D-gaming, so that one gets in there by default.
I'm aiming for 4 copper-layers in total - the board will feature mixture of both digital and analogue circuits. (vga, USB-C (w. DP), DVI-I)
Current BoM:LFE5U-85F-8BG381I Lattice FPGA - Field Programmable Gate Array ECP5; 83.6K LUTs; 1.1V
W97AH2KBVX1E Winbond DRAM 1Gb LPDDR2, x32, 533MHz, -25 ~ 85C
S25FL128LAGMFV013 Cypress Semiconductor NOR Flash Nor
74320-9010 Molex HDMI, Displayport & DVI Connectors 29CKT RA PCB RECEPT PNL MNT THRUHOLE
2129320-3 TE Connectivity HDMI, Displayport & DVI Connectors Mini Displayport Reverse Offset
LFE5U-25F-8BG256I Lattice FPGA - Field Programmable Gate Array ECP5; 24.3K LUTs; 1.1V
L77HDE15SD1CH4RHNVGA Amphenol D-Sub High Density Connectors Dsub, Stamped Signal 3A, High Density, Right Angle PCB Thru Hole, FP=8.89mm (.350"), 15 Socket, Bright Tin Shell, Flash Gold, 4-40 Rear Insert, Ground Tab with Boardlock, High Temp, Nickel Shell, VGA
LM26420Q1XMHX/NOPB Texas Instruments Switching Voltage Regulators Dual 2.0A,High Freq Sync SD DC-DC Reg
10133476-10001LF FCI / Amphenol USB Connectors 24 Cont Type C Gen 2 R/A Hybrid Rcpt
SMF52M0JT TE Connectivity Thin Film Resistors - SMD SMF5 2M0 5%
The goal is to keep the manufacturing-cost, with PCB-manufacturing included, below 150 Euro's, thereby improving on the cost of the previous projects. (although with inflation i guess it could be the same)
PCB-fab:-------------------
I'm designing the card aimed at JLCPCB, since according to the PCB-calculator I found online, they seem like the most sensible target, at the moment.
Current Hurdles:-----------------------------
In trying to reach my performance-target, I've hit a wall when it comes to translating 3.3V and 5V signal-levels on Legacy PCI to 1.1 and 1.8 V on the FPGA and DRAM.
64-bits wide bus on card
- 533MB/s.Need to find signal level translators that are fast enough. Any suggestions? Could I use USB or Gigabit Ethernet interface-IC's, perhaps?
Signal-level Translator-candidates:---------------------------------------
QS32X2384Q1G Renesas Electronics Digital Bus Switch ICs 20-bit Bus Switch
QS34X383Q3G Renesas Electronics Digital Bus Switch ICs BUS EX 32-BIT MILLIPAQ
SN74CBT34X245DBBR Texas Instruments Digital Bus Switch ICs 32bit FET
TXS0108EQPWRQ1 Texas Instruments Translation - Voltage Levels 8-Bit Bi-directional, Level-Shifting, Voltage Translator for Open-Drain and Push-Pull Applications 20-TSSOP -40 to 125
SN74ABTH32318PN Texas Instruments Universal Bus Functions 18-Bit Tri-Port Univ Bus Exchanger