monsonite

Using a FPGA as a CAD engine

Recommended Posts

Hi Jack and Forum,

 

I have been experimenting with the Papilio Duo with ZPUino and VGA, as a means of producing CAD gerber files.

 

It's very early days - but shown is a screen shot of a LQFP-64 package, created on the ZPUino and displayed in VGA. I've added a few vias and a 4 thou track for scale.

 

If Chuck Moore could change the way VLSI CAD tools were used in the early 1990s - then I'm sure the Papilio Duo and ZPUino can be applied in this area.

 

Imagine a complete CAD workstation embedded in a mouse - it's been done before.  Here's a posting from 3/8/2000 by the late Jeff Fox - who worked with Chuck Moore on the early Forth chips

 

http://www.ultratechnology.com/scope.htm

 

Nothing new under the sun - we just forget 99% of what's gone before us

 

 

 

Ken

 

 

London

  • Like 1

Share this post


Link to post
Share on other sites

Jack

 

Alvie has got back to me describing the generic 2048x2048 VGA for the Papilio Duo.

 

Have you any more information/examples on this?

 

 

Ken

Share this post


Link to post
Share on other sites

Tech details are:

 

a ) RGB format 565 (16-bit)

b ) Internal, software-configurable PLL with 48MHz base clock.

c ) Up to 2048x2048 (including porches and sync). Can be extended to 4096x4096.

 

Your problem will be bandwidth and memory size. Full-HD resolution, for example, uses 1080p @ 60 Hz (1920x1080), with a pixel clock of  148.5MHz. This will be hard to generate with FPGA, but even harder to get the data from memory (memory is shared with CPU, so you cannot go past 60%). With 16-bit memory width, and assuming this 148.5MHz clock and 60% bw usage, you'd need to clock memory at ~300MHz (this includes latencies, so not 250MHz as expected). Too high for most memories. And you'd need at least 4MB for each framebuffer.

 

If you can get your color depth lower (like RGB332 or even lower), it may be possible... But will be sloooow (ZPUIno is not the fastest thing around)

 

Alvie

Share this post


Link to post
Share on other sites

Alvie

 

Alvie,

 

I have a Papilio Duo with a 2MB SRAM and a Logicstart shield for the VGA.

 

A video resolution of 1024 x 768 in RGB332 would be more than adequate for the type of applications I am thinking.   Even 4 bit colour would be acceptable for viewing pcb layouts and gerbers. This resolution would allow 100mm x 75mm pcbs to be displayed down to 0.1mm resolution - ideal for most hobbyists.

 

I take your point about the video clock from your other post - and how the SRAM can be the video bottleneck. 

 

1024x768 at 60Hz is 65MHz for RAM access  - might this be achievable?

 

http://tinyvga.com/vga-timing/1024x768@60Hz

 

I was thinking of ways in which tiles and sprites - stored in a character ROM, could represent the pads and tracks in a typical pcb. It's back to the old tricks of the 1980s video games - to achieve more with less.

 

 

 

 

 

 

Ken

Share this post


Link to post
Share on other sites

May be possible with RGB332. I have not fully implemented it, so I was not able to test.

Let me see if I can put it to work with DUO, and I'll report results.

Share this post


Link to post
Share on other sites

Hello everyone,

 

I just got back from vacation and am catching up with the forum. This looks pretty cool! I'm going to post it to the blog.

 

Jack.

Share this post


Link to post
Share on other sites

Ok.... RGB332 seems to be working out of the box:

 

Lack of color resolution is pretty much noticeable. This is a DUO board, with 2MB SRAM, and outputting a JPEG file.

 

But works :) note - you will need to wait for next designlab release. I made some changes to the software part to handle 16 and 8 bit.

 

Alvie

IMG_20150331_194647.jpgB

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now