When one PLD just isn't enough - Page 1
Forum section: electronics / projects

author: dexters_lab
author_rank: Unknown
timestamp: February 26, 2018, 10:16:37 am
content: This amused me a bit, it's the image processing card from another bit of quantel broadcast video hardware called HAL i have been tinkering with, its from the 1990s and does multi-layer video compositingthis card does all the rotation, scaling, perspective and 3D warps/transforms on the video datano less than 82 Altera Flex EPF8282 PLDs!why not use fewer larger PLDs or an FPGA?I guess they had their reasons!

author: frozenfrogz
author_rank: Frequent Contributor
timestamp: February 26, 2018, 10:36:27 am
content: Wow. That looks intimidatingI guess at that time there was not that much bigger - better - faster hardware available at reasonable prizes.CPLDs have been introduced by Altera in 1988 (?) and the first FPGAs have not been around much longer.

author: dexters_lab
author_rank: Unknown
timestamp: April 08, 2018, 10:56:04 am
content: sorry shameless bump!spent a bit of time using and learning about this card, it was introduced by Quantel in 1995, it looks like they are using the Flex as they are SRAM based, they are fast and re-programmable on the fly.There doesn't appear to be any code storage for the PLDs so it's all loaded over from the main operating system, so i would speculate all or parts of it get reprogrammed depending on the task. So in effect the card is like a GPU i think. The PCB is 10 layers.The three large ceramic devices are Logic 2246 10-bit image filters that do bi-linear filtering, the other Ratheon 3211 device i can't find any data on. The parts in the lower left corner are an Inmos 805 25Mhz CPU and 16mb ram that acts as the interface between the card and the main system.anyone care to speculate what the manufacturing cost would have been in 1995?

author: donmr
author_rank: Regular Contributor
timestamp: April 08, 2018, 04:59:05 pm
content: Many small devices will also have more I/O pins.If they want to implement several independent functions, or several copies of the same function, then using several smaller devices could be a good approach.

author: BrianHG
author_rank: Super Contributor
timestamp: April 08, 2018, 09:26:04 pm
content: Quote from: dexters_lab on February 26, 2018, 10:16:37 amMost of those may have the same program, basic bux musing & a few bytes cache, or, simple data multiplier & adder. Buying in such quantity + perhaps a quick mask from Altera brings down cost compared to 1 giant FPGA + bootprom at the time of design.

author: Mr. Scram
author_rank: Super Contributor
timestamp: April 08, 2018, 09:29:34 pm
content: Quote from: dexters_lab on February 26, 2018, 10:16:37 amThat's a sight to behold. Thanks for sharing!

author: T3sl4co1l
author_rank: Super Contributor
timestamp: April 08, 2018, 09:30:35 pm
content: So much current consumption...Tim

author: dmills
author_rank: Super Contributor
timestamp: April 09, 2018, 11:44:10 am
content: I quite possibly know some of the guys who designed that thing.To give you a flavour of what went on in the video processing game back then, the **FAST** multipliers needed for compositing were a problem, so using PROMS to hold log tables and doing log, add, antilog in separate chips was not at all uncommon as this could get you an approximate pipelined multiplication every clock at video rates.The video interconnects back then were either parallel or those god awful (from a reliability perspective) early Sony SDI chips at 270Mb/s, horrible things.Quantel missed the memo about doing video in graphics cards, and ended up IIRC being brought by Snell and Wilcox, who then ended up as SAM (Snell advanced media) who have just been brought by Belden (Who also own Grass Valley who had in turn brought Miranda).IIRC there was a hedge fund involved somewhere in all that as well.Regards, Dan.

author: dexters_lab
author_rank: Unknown
timestamp: April 09, 2018, 09:45:39 pm
content: Quote from: dmills on April 09, 2018, 11:44:10 amoh i know all about those SBX160x devices and the STV160x that ST Micro did... yes horrible indeed!Quoteyep, as impressive as the quantel board is... i can certainly remember what my 3dfx voodoo could do at pretty much the same time and i could play quake on it!

author: BrianHG
author_rank: Super Contributor
timestamp: April 09, 2018, 10:16:06 pm
content: Quote from: dexters_lab on April 09, 2018, 09:45:39 pmYes, but then, quantel couldn't appropriate R&D dollars / tax relief or justify such a huge budget for R&D when just using third party GPUs and algorithms. They wanted investment $ and to shore up the numbers, they could not say that this could be done with 2 or 3 off the shelf ICs.Also, 3Dfx voodoo is only 24 bit color and doesn't properly mix colors in proper inverse gamma and component (if the quantel paintbox does color mixing and blending properly). If I remember correctly, it was exclusively RGB. The video broadcast industry is finicky about keeping everything in component and deep color (at least 30 bit) to avoid loss in color space conversion. More modern high end NVidia chipsets with true deep color support can do this, but it is not usually used in games since games are targeted for speed over quality.Though the screen resolution wasn't up to par, I did think that my 3dfx card had the nicest colors in QuakeII, and if you knew the console commands in Quake1_GL, the 3dfx had the exclusive ability of turning on real mirrors and reflective surfaces. Something not seen again for quite awhile in games.

author: BrianHG
author_rank: Super Contributor
timestamp: April 09, 2018, 10:54:37 pm
content: Quote from: dexters_lab on February 26, 2018, 10:16:37 amThose PLDs arent big enough to do anything else than count, load/store a few bytes of data, address decode and mux/demux.They are not doing any 3D, blending, mixing. The LOGIC LF2246GC33 has 11 x 10 bit multipliers in a 2D matrix designed to be an image filter, so, it's doing deep color image processing.As for checking the data sheet, the EPF8282 is fast enough to mux/demux 32 bits into a 10 wire bus and back at 108MHz (8x the speed of NTSC/PAL sample clock of 13.5MHz, the pixel speed) / 4 equals sending 2 pixels/1 video sample clock, or add 32 bit address as well, means sending 1 pixel per sample period. Place them all over your PCB and you can send/receive pixels with address from any point A to any point B on your PCB with only 10 wires. Or, you can do this with multiple banks of 6 wires, one for address, one for pixel. Looking at all the memory and buffers and sections on the multiple boards of the quantel, this divides your wire count between sections by 8 fold and you can now have multiple dedicated buses. Especially when feeding the LOGIC LF2246GC33 multipliers from different frame and mask banks either stored or computed elsewhere on the paintbox.

author: BrianHG
author_rank: Super Contributor
timestamp: April 09, 2018, 11:45:00 pm
content: Remember, that memory isn't blazingly fast to begin with, and they have different CPU architectures all over the place & I'm sure on different PCBs as well.

author: fpgaarcade
author_rank: Contributor
timestamp: December 28, 2018, 03:49:51 pm
content: I used to work in Quantel R&D, if you have any questions from that period.I know the guy well who designed the image card, I worked on the slightly later stuff./Mike

author: Mr. Scram
author_rank: Super Contributor
timestamp: December 28, 2018, 03:53:42 pm
content: Quote from: fpgaarcade on December 28, 2018, 03:49:51 pmCan you tell us more about the decisions that lead to this or similar designs?

author: fpgaarcade
author_rank: Contributor
timestamp: December 28, 2018, 04:42:03 pm
content: Sure, I'll respond later this evening. I joined Q in 93 ish so this card was just leaving R&D and going into production.I used a lot of the ideas on this card for the first generation of image processing on the HD machines.Interestingly, this card replaced three boards in the Henry system - which was great as it freed up slots for, well, more of them!/Mike

author: Mr. Scram
author_rank: Super Contributor
timestamp: December 28, 2018, 05:54:26 pm
content: Quote from: fpgaarcade on December 28, 2018, 04:42:03 pmI'd love that. Things like these are why I'm on these forums.

author: NiHaoMike
author_rank: Super Contributor
timestamp: December 28, 2018, 06:51:25 pm
content: Quote from: dmills on April 09, 2018, 11:44:10 amWeren't there a few ATI GPUs 15 years ago or so that had video input? I recall they had very limited success since videoconferencing was a niche market and live streaming games pretty much didn't exist.

author: oPossum
author_rank: Super Contributor
timestamp: December 28, 2018, 06:56:45 pm
content: Quote from: NiHaoMike on December 28, 2018, 06:51:25 pmATI Theatre series chips. (Not GPUs.)

author: fpgaarcade
author_rank: Contributor
timestamp: December 28, 2018, 11:06:21 pm
content: I'm probably going to regret sticking my neck out hereI was in Q R&D from 1995 to 2008 ish - but contracted for a couple of years on and off after I left. The image card was designed by a chap called Simon Jones in a couple of months if I remember rightly.It was usual for one developer to do the complete card, and one layout guy/girl to route it. Probably an 18 layer card, might have been more.He moved to Japan a few years ago and I haven't talked to him for a while, I'll try and get hold of him.When I joined this card had just entered production, but I used a lot of Simon's code in my designs for the first HD systems, using first larger flex8k but mostly flex10ks by that point.Quantel's philosophy was essentially no-compromise on picture quality, so everything was done as well as it was possible to do - money almost no object. Our customers were doing high-end commercials and wanted the best possible result.My memory is a bit rusty, but if you look at image card picture, down the bottom left is the transputer subsystem with local memory. This used a few of the standard MAX7K CPLDs we used everywhere. The computer managed the card and communicated with the main CPU at the top of the rack. All the flex8K's were volatile and had to be configured when the card booted. The FPGA image files were part of the system software, and could be updated.Top left is the address generator which managed the first store (cypress chips mid left). I'm guessing a bit here but we usually had FPGAs either side of the store which took the video data and made it wider, so it could be written to the store in a shorter period of time, allowing cycle sharing and hence multiport access. Top right is the output store, four channels CMYK or RGBK I think, flowing down to the Logic devices filter chips. To the right of the filters I think are 3 Quantel Combiner ASICs which do x*k + y*(1-k), where k is key. We had to fetch a lot of points and filter them to derive each output pixel. The picture would be written into the store (a bit bent) and then read out with multiple read store ports in parallel to generate the data to be filtered. At the same time the address generators would work out the filter coefficients to be fed the the Logic devices and then this would be written back to the store. This card could also do full 3D LUT manipulation for keying, which involves reading 8 pixels around the point of interest in 3d space and then doing a tri-linear interp.In the centre is a cypress PLL and clock buffers to give a zero delay clock distribution network. The video clock, usually 27MHz was star distributed to all the devices from there.So, why so many small FPGAs? Well, compared to what we used before - the CPLDs, these were pretty big with 282 flops. You could fit enough logic for one channel of pixel processing and enough IO to get the video and control data in and out. You would often have the same design duplicated 3 or 4 times for each colour channel. It was also about cost. The price went up faster than the logic did, so Simon worked out that lots of small chips was the most cost effective - we got a pretty decent price on them due to the volume!/MikeJ

author: fpgaarcade
author_rank: Contributor
timestamp: December 29, 2018, 08:44:19 am
content: Thinking about it overnight, it might not have been 18 layers - no BGAs on it. Many of the Henry cards were 10 layers. Does it have the stackup layer numbers printed on it? I can't see from the photo./Mike

author: Mr. Scram
author_rank: Super Contributor
timestamp: December 29, 2018, 04:56:38 pm
content: I always like the "money no object" type of equipment. Some will say it's unbecoming for an engineer not to have limitations imposed, but it's more like the state of the art becoming the limit. If you can find a way to make it happen, do so. Even if you know literally about the technologies involved, that board looks interesting.The concept of creating volume purchases by simply using the same part many times is interesting too.

author: dexters_lab
author_rank: Unknown
timestamp: December 29, 2018, 05:11:38 pm
content: Thanks fpgaarcade for a great insight into this card and how it works. There is a layer count on the board but IIRC it's under the little aluminium block that has the card name on (on the top left of the pic). 18 layers comes to mind, i'd have to open my Paintbox and take a look to confirm.so, from what i can tell this was an upgrade to the C.A.P. card which enabled the 'Contour' features on various systems like Paintbox and HAL. Fpgaarcade, was the 'RAVE' card an upgrade to the Image card or is it something entirely different?any idea what the rough cost would have been to someone who wanted one of these Image cards to upgrade their system? When i swapped out my regular Perspective card and put the Image card in place of it the system just recognised it and enabled all the options.

author: james_s
author_rank: Super Contributor
timestamp: December 29, 2018, 06:09:06 pm
content: Quote from: dexters_lab on April 09, 2018, 09:45:39 pmI still remember the first time I saw Quake on a Voodoo card, I was blown away. Prior to that I had only ever seen software rendering which looked like absolute garbage in comparison. Suddenly that glassy smooth framerate, high resolution textures, light and shadows, it's hard to even imagine today how amazing that was at the time.

author: dexters_lab
author_rank: Unknown
timestamp: December 29, 2018, 06:17:58 pm
content: Quote from: james_s on December 29, 2018, 06:09:06 pmat the time the 3dfx voodoo arrived i was working for a software company and i remember after buying a Diamond Monster 3D i was harassed by the rest of the developers to get it plugged into my work PC so we could all marvel at the graphics, it really was a sea change in the quality of the graphics, it re-wrote what was expected. Later i switched to dual Voodoo 2 which meant i could play QuakeWorld at 1024x768

author: fpgaarcade
author_rank: Contributor
timestamp: January 01, 2019, 02:00:11 pm
content: "Fpgaarcade, was the 'RAVE' card an upgrade to the Image card or is it something entirely different?"Call me Mike! If I remember correctly the Rave card was done by Simon after the Image card. It's an audio processing board introduced with the external fader panel. It has a scsi controller for it's own disk where the audio was stored."any idea what the rough cost would have been to someone who wanted one of these Image cards to upgrade their system? When i swapped out my regular Perspective card and put the Image card in place of it the system just recognised it and enabled all the options."The board also served as a hardware dongle for the software, so the price covered the hardware and software options. £25-30K apparently. Remember these machines were rented out by the hour. The card would have paid for itself very quickly due to the reduced rendering time and extra feature set.