Forum Discussion
Hardware Reference Design
Hello I have been looking for a very simple programming circuit for cyclone III FPGA's for the past 6 months or so, and have not been able to find one...then the next thing I know bemicro came out with their usb stick...I am in the process of getting one, but I noticed they do not provide complete documentation for the blaster interface which was a bummer. I was hoping the reference design would come with hardware docs so I could expand on their design. I was wondering if altera has a recommended version similar to the bemicro one so that after I get some code going I can add some parts that I want to use to a board and have a quick easy way to debug my project. I also have the DE-270 board...but the blaster interface on that board is huge, so I do not want to use that. I was also hoping for recommended flash setup for independent use. Let me know if this is the right place to post this...any help is appreciated thanks.
26 Replies
- Altera_Forum
Honored Contributor
there a serveral ways to connect your fpga board to your pc to test and debug your application.
1. USB Blaster this is a very common way and interfaces between USB and JTAG, but this requires an CPLD with some logic (the sources can be found) and the USB IC 2. Ethernet Blaster like the USB Blaster but with Ethernet Interface to your pc, unfostunately not faster than the USB Blaster 3. ByteBlaster This Interface is between your LPT Port of your PC and the JTAG connector of your target PCB. a very simple and easy interface, just one simple latch and a few resistor. but this is a slow interface compared to the others. the schematic of the byteblaster is available via altera web site. all these 3 type work with the altera development tools and the target fpga. if jtag speed is not the main task, but an easy logic is, i would go for the byteblaster. as i had done this lots of times until USB blaster got cheaper :-) you are correct, the bemicro is badly documented. i too have one and the i still haven't found more information about the usb implementation they have used. so bemicro is nice to start with but designing the first own simple pcb with a fpga is also easy. Cyclone III has some little pitfalls to take care about (for example if Vio is 3,3V). what would be the minimum requirements for your board to start with ? - Altera_Forum
Honored Contributor
I have seen the external byte blasters I was just hoping to just put everything on the board like the bemicro so that I don't have to carry around a programmer to program it. Plus I usually do a lot of debugging, sometimes in different places, and I don't like carrying all of the extra stuff around. I would just like it to all be on one board...I would use the expansion connector but there are some surface mount parts, so if I have to make a board anyways, I would rather put it all on one board. I would be interested to know if a custom interface was made for the Bemicro or if it uses the normal altera interface, I assume they did something special because it requires some special drivers but I am not sure...anyways as far as the project I was hoping to interface it to a small camera sensor and make a little usb camera stick...ie I don't want it to be huge..I would like to use it for robotic vision in the future
Edit: removed useless comments :/ I am also surprised to find no cyclone series with a built in block for programming...considering that the fpga can emulate basically anything you would think they would add a programming "block" so that you could just hook up a single usb chip to interface to it...but that is just me. Anyways any help is appreciated thanks. - Altera_Forum
Honored Contributor
I really just want to be able to add a usb chip and an ee-prom to the board with the cyclone and be able to program the device and run it without being connected to the computer. Jtag would be nice but that is not at the top of the list. I guess I would like to be able to have some sort of high speed usb interface to the computer but serial would probably be fast enough.
- Altera_Forum
Honored Contributor
with jtag you would have a big freedom
what about cloning that what has been done on the bemicro, if is for your own board ... just copy the schematic part and with the usb tools from ftdi you can read the bemicro and clone those informatio to your own device, so the bemicro driver "thinks" there is a bemicro ... so this is just 1 usb chip - Altera_Forum
Honored Contributor
I don't have the bemicro schematics. What kind of JTAG interface do they use? Is it basically a FT2232 connected directly to the JTAG pins, similar to the FTDI JTAG design example? If so, it would offer a nice option to build a more simple JTAG adapter using the bemicro driver with Quartus.
- Altera_Forum
Honored Contributor
Here are my thoughts on the subject:
1 - I believe the FTDI chip on the BeMicro gets all of its startup information from the little microchip EEPROM on the board. You could just copy the contents of that EEPROM and lay down a circuit with the FTDI chip identical to the BeMicro board. 2 - See if these help: http://www.ixo.de/info/usb_jtag/ http://openocd.berlios.de/web/ 3 - One of our software guys here wrote his own little programmer for a cyclone III using the FTDI chip. He doesn't use JTAG mode though and it's not compatible with the Altera programming tools. He just basically bit-bangs the serial programming pins on the Cyclone III with the FTDI chip. It's actually significantly faster than JTAG mode. Jake - Altera_Forum
Honored Contributor
I would like to do that but the bemicro schematic has not been released, and there are no app notes for the interface. I was thinking that since it was a reference design they would release the schematics...like the people that make the de2-70 did, but that is not the case. If anyone finds any info on the schematics let me know I would definitely like to use the same interface. It would be nice if arrow and/or altera had some sort of docs or explanation for this interface, this is basically all I would want.
- Altera_Forum
Honored Contributor
--- Quote Start --- I believe the FTDI chip on the BeMicro gets all of its startup information from the little microchip EEPROM on the board. --- Quote End --- Yes, that can be expected. It's the same with USB Blaster. It's clear, that FT2232 can be used as a JTAG adapter without additional logic (except for the configuration EEPROM). I wanted to know from someone, who owns the bemicro, if it's done there this way. The first question is about the exact FTDI chip type. I only have the bemicro manual, and I can't clearly see from the assembly drawing if there's any PLD chip that could be possibly work as additional JTAG glue logic. Perhaps someone can share a high resolution photo of the board to identify the assembled parts. - Altera_Forum
Honored Contributor
Looks like they have some legal stuff pertaining to using the software....
By installing the software onto your PC you are bound to the license agreement of the Arrow USB-Blaster software. The complete license agreement can be found in chapter 5, License Agreement on page 7. This license agreement, in short, allows you to use the software only in conjunction with Altera FPGA purchased or obtained in any other legal way from Arrow or a subsidiary of Arrow. So if I used their design and bought the fpga that I was using from them I guess I could make a board and use their software...correct me if I am wrong here. - Altera_Forum
Honored Contributor
FVM,
There is no CPLD on the BeMicro. When you plug the BeMicro into the PC, it basically shows up as an "Arrow USB-Blaster". It looks and behaves just like a USB-Blaster cable would and the Altera software appears not to distinguish between the two. My guess is that they've written the software driver on the PC to do the work that the MAX CPLD did on other development boards. I assume they are using the FTDI chip in JTAG mode but the driver is providing that interface layer between the Altera world and JTAG. Jake