Archive for June, 2008
FPGA USB Interface
Ok.. found a site http://fpgaz.com/usbp/ that talks about creating that usb/pc connection and has some libraries to use. I’m also scouring through datasheets at Xilinx regarding the system. Apple’s support of USB development seems to be top notch, minus the fact that it needs to be written in C#..
The guys @ picocomputing demoed a system like this at a conference, so i’ll try contacting them to get some additional information..
Also threw up a post to comp.arch.fpga describing the project to drum up some additional information/suggestions..
edit: heres a site with a mpeg2 fpga implementation…using the same board I have.. nice!
http://www.kdvelectronics.eu/mpeg2fpga/mpeg2fpga.html
Quickest way to learn the way of the FPGA
I’ve been reading a couple books on VHDL/Verilog and have come to this conclusion. Learning for the sake of learning is lame. There must be some purpose behind learning, ie. a project.
So. Here are two i’m bouncing out there.
1. (FPGA) PAR2 Repair Engine (Reed-Solomon Decoder)
2. (FPGA) x.264 to h.264 conversion engine
Both projects will utilize USB/PCI-x connections to pipe data directly from the disk to the FPGA that will do the offboard processing of the data.
Two of the things that are the most annoying to me are repairing broken usenet downloads (rare, but it does happen) if more than a few blocks are missing (takes about an hour at times) and trying to watch anything in HD that’s not already encoded in WMV-HD on my xbox 360.
What would be optimal is to integrate this with the already complete solution to downloading via hellanzb. Download a NZB, hellanzb processes it, if its broken, it sends the par2repair processing over to the FPGA. If its an x.264, it begins piping the file over to the FPGA for (hopefully) translation to h.264.
So, what we’ll do is start this from the most basic level. Problem identification and….flowcharting!
Here are my initial observations
- Both projects are similar in that data from the computer hard drive needs to be transferred to the FPGA, processed, then re-assembled on the pc.
- I’m assuming this is a fairly common practice, so examples on the internet regarding the buffering necessary for this type of transfer abound.
- I need an introductory understanding of x.264 vs. h.264 before I can proceed with that portion
- Getting data in and out via USB might be a quicker, easier way to get something started
I’ll hook up the ML-505 to the trusty macbook pro and get USB/disk transfer going this week and go from there. Stay tuned for updates.
4 comments