WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2016-Jul-19 11:09:46

bwerth
Member
Registered: 2016-Jun-15
Posts: 6

Modifying 802.11 pcore

Hello,

   For the past couple of weeks I have been working on making some changes to the wlan_phy_tx pcore in the 802.11 reference design. I have not been able to run the modified reference design successfully after modifying a pcore in system generator and I know model itself is not the issue. I started by creating a new model called wlan_phy_tx_pmd_2 in the wlan_phy_tx_pmd pcore folder. I copy everything from the wlan_phy_tx_pmd model into the new file and make my changes. After that I export the model as a pcore to the system.xmp file for the project. I open the system.xmp file in XPS and add the new pcore. After that, I delete the new code in the mhs file that has been added for the new pcore and rename the wlan_phy_tx_pmd pcore block after the new pcore. I then make the necessary changes in the ucf file for bitstream generation to work. Finally, I export to SDK and compile before programming the fpga. Does this all seem correct? I have been trying to debug this for a while and I'm not sure exactly where I'm going wrong. I have also made some changes to the defined bit width in one of the pcore mpd files and in the mhs pcore block for the dac fmc because the bit widths were not matching after I made changes to the model in sysgen. If any of this sounds blatantly wrong, I would love to know because my feeling is that there may be holes in my understanding of how to modify the reference design as I am trying to. Thanks for any help.

Offline

 

#2 2016-Jul-19 13:10:34

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Modifying 802.11 pcore

A few things:
-When exporting a pcore from System Generator, we recommend the "Export Pcore to: System Generator target directory" flow. This will create a new pcores folder, inside of which is a standalone pcore. You can then copy this pcore to the XPS project directory.

-You should also update the pcore version to a new value (different from whatever is currently used in your XPS project). Then modify the HW_VER param for the core instance in system.mhs to match the new pcore version. This ensures XPS will reference the pcore HDL you want the next time it builds the hardware project.

-You should not edit the MPD file generated by System Generator. You should only edit MPD files for cores you create manually (i.e. custom HDL). If you need to change the port widths or port names for a Sysgen-created pcore, you should edit the corresponding Gateway blocks in the Sysgen model and re-export the pcore.

I then make the necessary changes in the ucf file for bitstream generation to work

What UCF changes did you make? If you're using the modified PHY core with the WARP v3 RF interfaces you shouldn't need to modify the UCF.

Other than these suggestions, you'll have to be more specific about what problems you're observing. For example, does your software design successfully boot in both MicroBlaze CPUs?

Offline

 

#3 2016-Jul-19 13:44:33

bwerth
Member
Registered: 2016-Jun-15
Posts: 6

Re: Modifying 802.11 pcore

Hello,

   I wouldn't necessarily have had to modify the UCF, I believe, if I had changed the pcore version as you suggested. Modifying the UCF was part of a workaround because I didn't know about changing the version. The design successfully boots, but all I see on the oscilloscope is noise. It's a very broad issue, I think I'll need to try what you have suggested above. With that said, I do have one more question: is it okay that I put the new version of the pcore (wlan_phy_tx_pmd_2) in the folder of the original pcore (wlan_phy_tx_pmd)? A folder for the new pcore has shown up but all of the necessary files are in the original pcore folder because when I try to move the files to the new pcore folder and generate the pcore, everything including the matlab scripts and model get deleted from the folder and I lose access, even as the administrator. My hunch is that this is probably part of the issue, but I am not entirely sure. Thanks again for your help.

Offline

 

#4 2016-Jul-20 15:32:20

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Modifying 802.11 pcore

I wouldn't necessarily have had to modify the UCF, I believe, if I had changed the pcore version as you suggested. Modifying the UCF was part of a workaround because I didn't know about changing the version.

You should only change the UCF file when adding/removing/renaming top-level pins or when modifying timing constraints. Modifying a pcore (without modfying top-level connections) requires only MHS changes.

is it okay that I put the new version of the pcore (wlan_phy_tx_pmd_2) in the folder of the original pcore (wlan_phy_tx_pmd)? A folder for the new pcore has shown up but all of the necessary files are in the original pcore folder because when I try to move the files to the new pcore folder and generate the pcore, everything including the matlab scripts and model get deleted from the folder and I lose access, even as the administrator.

You do not need to rename the .mdl file. You can iterate on the .mdl file, export new pcore versions and update the pcore version in the MHS file, all using the same model/pcore name.

System Generator writes its output netlists to the folder specified in the "Target Directory" field in the System Generator token. You can use relative path names in this field (like "./my_export_00"), which will create a folder named "my_export_00" in the same directory as the .mdl file. You can update this folder's name on every export to be sure everything is written from scratch. The exported pcore will be in the 'pcores' subfolder of the netlist folder.

Offline

 

#5 2016-Jul-21 09:01:12

bwerth
Member
Registered: 2016-Jun-15
Posts: 6

Re: Modifying 802.11 pcore

Hi,

   That's good to know. The issue ended up being the changes I made towards getting bit width to match. I undid all of the changes I made and it ended up working for some reason. Thanks for your help!

Offline

 

Board footer