alex

Board support in Xilinx Impact

8 posts in this topic

Not sure if this is common knowledge but I more or less accidentally came across it when I was playing around in Impact and did a JTAG scan with my Pipistrello attached. It was detected by Impact and I was able to point Impact to a bit file and it successfully uploaded it to the board.

 

post-29560-0-20473700-1380661322.png

 

The Impact log shows the following:

Welcome to iMPACTiMPACT Version: 14.5// *** BATCH CMD : setMode -bs// *** BATCH CMD : setMode -bs// *** BATCH CMD : setMode -bs// *** BATCH CMD : setMode -bsGUI --- Auto connect to cable...// *** BATCH CMD : setCable -port autoINFO:iMPACT - Connecting to TCF agent...INFO:iMPACT - Digilent Plugin: Plugin Version: 2.4.4INFO:iMPACT - Digilent Plugin: found 1 device(s).INFO:iMPACT - Digilent Plugin: opening device: "Pipistrello", SN:400100000001INFO:iMPACT - Digilent Plugin: User Name: PipistrelloINFO:iMPACT - Digilent Plugin: Product Name: Pipistrello-USBINFO:iMPACT - Digilent Plugin: Serial Number: 400100000001INFO:iMPACT - Digilent Plugin: Product ID: 30800151INFO:iMPACT - Digilent Plugin: Firmware Version: 0105INFO:iMPACT - Digilent Plugin: JTAG Port Number: 0INFO:iMPACT - Digilent Plugin: JTAG Clock Frequency: 10000000 HzAttempting to identify devices in the boundary-scan chain configuration...INFO:iMPACT - Current time: 2/10/2013 9:46:41 a.m.// *** BATCH CMD : Identify -inferir PROGRESS_START - Starting Operation.Identifying chain contents...'0': : Manufacturer's ID = Xilinx xc6slx45, Version : 4INFO:iMPACT:1777 - Reading C:/Xilinx/14.5/ISE_DS/ISE/spartan6/data/xc6slx45.bsd...INFO:iMPACT:501 - '1': Added Device xc6slx45 successfully.--------------------------------------------------------------------------------------------------------------------------------------------done.PROGRESS_END - End Operation.Elapsed time =      1 sec.// *** BATCH CMD : identifyMPM 

It appears it is using Digilent drivers which I already had installed (or maybe Xilinx installs by default). If you don't have them installed, the installer for them seems to be located in C:\Xilinx\14.5\ISE_DS\common\bin\nt64\digilent\install_digilent.exe (or the equivalent path for your version install).

 

I was even able to click on the SPI/BPI and select the attached flash as a N25Q128 which is a supported option but didn't experiment yet with writing a file to the flash as I needed to convert it to .mcs format first.

 

I also attached my Papilio and run a scan but it wasn't detected. I suspect this is because as I remember from another post in this forum, Magnus said he is sending the Pipistrello boards with the FTDI eeprom pre-programmed whereas the Papilio FTDI eeprom is left blank.

 

 

Share this post


Link to post
Share on other sites

Not sure if this is common knowledge but I more or less accidentally came across it when I was playing around in Impact and did a JTAG scan with my Pipistrello attached. It was detected by Impact and I was able to point Impact to a bit file and it successfully uploaded it to the board.

Magnus did tell me on purchase that "Unlike the Papilio boards, this board is also fully supported by all the Xilinx tools (Impact, ChipScope, SDK etc.) using the Digilent driver plugin.", although having no prior experience of using ISE outside of using the Papilio boards with WebPack I didn't really appreciate what this really amounted to.

Share this post


Link to post
Share on other sites

I had a play with programming the EEPROM on the Papilio but still no go. I think it's because of the slight difference in the FTDI chip, one uses a FT2232D the other uses a FT2232H even though the USB VID/PID are the same.

Share this post


Link to post
Share on other sites

Woah! I've been trying to figure out how to get supported by the Xilinx tools for years now! Magnus, do you have any tips on how to get the Papilio supported by the Digilent drivers?

 

Thanks,

Jack.

Share this post


Link to post
Share on other sites

Well, first of all I would like to caution anyone from using the Digilent plugin with Pipistrello since the Digilent license agreement specifically states that the Digilent plugin should only be used with Digilent product so you are technically violating the licensing agreement if you use it with Pipistrello.  This is the reason why I have not publicly announced that it will work in this fashion.  I really wish that Xilinx would make the plugin API open so that anyone with the right skill can write their own plugin but that's not the case.

 

As for Papilio, I don't think the Digilent plugin will work with FT2232D parts but I have not tried that out.

Share this post


Link to post
Share on other sites

As for Papilio, I don't think the Digilent plugin will work with FT2232D parts but I have not tried that out.

 

I have...It doesn't. See my post above.

 

Oh and sorry for publicizing this, I admit to not having read the Digilent license agreement. Technically I plead ignorance. I literally just installed the free ISE Webpack and it just happened to detect and work with the Pipistrello without me doing anything to actively bypass anything. I call this unintended consequences :)

 

If Digilent wanted to, they could rewrite their driver to check the Manufacturer string and if it's not Digilent, refuse to work with it. Then you'd have to program the Pipi FTDI eeprom to identify itself as Digilent, forcing you to actively do something to bypass their "protection". In the current case, where the hardware clearly identifies itself as Saanlima/Pipistrello but it still works with their driver that I didn't actively install, I don't feel at all bad if I was to use it and I'd be technically breaking their license.

 

It would be very petty of Digilent if they made a big deal out of this... and not a huge loss, I don't actually have to use Impact, it's just nice to be able to if I wanted.

Share this post


Link to post
Share on other sites

Yeah, especially since they use the open FTDI VID/PID code.  It would be totally different if Digilent bought their own VID from the USB consortium, then they have the exclusive right to that VID/PID combo.

 

I agree with you on Impact, not my favorite tool.  However, if you do any serious Microblaze development then this is very important since with this you can directly download the compiled code from within SDK with a single pushbutton push and use the Microblaze JTAG debugger for breakpoints etc.

Share this post


Link to post
Share on other sites

I can't get this to work, all i get is "Digilent Plugin: no JTAG device was found.", on plugin version 2.4.4 or 2.5.2

I'm using a generic ft2232h breakout that i've set to use the FTDI vid/pid (and even tried setting the correct manuf/description as well as user area contents, no change).

It's supposed to show up as USB Serial Converter A and B, right ?

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