I have created a periperal IP device using the "Create/Import.." wizard of the EDK 6.3. The IP has 4 32 bit registers. I have been able to connect the IP as a slave to the OPB and write a small program that can write and read these registers. However when I make changes in the vhdl files of the IP it seems to have no effect. I tried reading one of the four registers return a constant value but it still returns the value I previously read .. Do I have do soemthing to make the EDK update the IP?
First, let me say that I am not using the EDK GUI except to create an initial project. Thereafter, I make all changes with a normal text editor, and compile by executing make commands at the command line (on Linux). So keep that in mind when reading my comments.
I also noticed that when I made changes to one of the cores in my project's pcores directory, that the changes were not automatically compiled in. Eventually, I discovered somewhere in the EDK documentation that you had to set a flag somewhere for that to happen (I don't remember the flag, or where it was in the docs). Unfortunately, once I set the flag, EDK insisted on recompiling the core every time, rather than when a change had been made to the code.
So instead I hand edited the makefiles. In system_incl.make, I added lines that look like:
I think that the easy way for you to update your peripheral functionally is to re-import your peripheral(using the wizard) after updating your vhdl files (user_logic.vhd and the peripheral_name??.vhd) that way (i believe..) it will work just fine.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.