Changes between Version 3 and Version 4 of howto/XPS_to_PlanAhead


Ignore:
Timestamp:
Mar 4, 2014, 8:55:59 PM (10 years ago)
Author:
murphpo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • howto/XPS_to_PlanAhead

    v3 v4  
    2121You should now see the PlanAhead workspace.
    2222
    23 == Creating the PlanAhead XPS Source ==
     23=== Creating the PlanAhead XPS Source ===
    2424 1. Start in the PlanAhead workspace and find the '''Sources''' tab, probably in the upper-left of the Project Manager sub-pane.
    2525 1. Right-click and select '''Add Sources'''
     
    4747If XPS throws an error,  you probably forgot to copy cores/code from the old XPS project. Also double check that your edk_user_repository is up to date and that the edk_user_repository is in the Global Peripheral Repository Search Path in the XPS preferences (see [wiki:edk_user_repository edk_user_repository] for more).
    4848
     49=== HDL Wrapper ===
     50
    4951At this point your PlanAhead project has one source, the XPS project. Unfortunately PlanAhead does not support XPS projects as top-level modules for implementation.
    5052
     
    5355[[Image(pa_src_top_hdl.png)]]
    5456 1. Notice that the XPS project instance has been renamed {{{xps_top_i}}} - this is important for the next step
     57
     58=== Constraints ===
    5559
    5660You must now add a constraints file to the PlanAhead Project. Your constraints will be based on the top-level constraints from your source XPS project.
     
    6872The PlanAhead-wrapped XPS project uses the same net names when connecting XPS ports to top-level pins. For constraints which refer to top-level nets, like {{{NET clk_in LOC = SOME_PIN}}}, no changes are required.
    6973
    70 For constraints which refer to nets or instances by hierarchical name, the new UCF must be udpated to reflect the XPS project instance name.
     74For constraints which refer to nets or instances by hierarchical name, the new UCF must be updated to reflect the XPS project instance name and hierarchy.
     75
     76For example, assume your original XPS project {{{system.ucf}}} had the following constraints:
     77{{{#!sh
     78#XPS system.ucf
     79
     80#Top-level ports
     81NET "led_red"    LOC = A1;
     82NET "led_green"  LOC = A2;
     83NET "led_yellow" LOC = A3;
     84
     85#TEMAC loc
     86INST "ETH_MAC*v6_emac" LOC = "TEMAC_X0Y0";
     87}}}
     88
     89The updated constraints for the PlanAhead {{{xps_constraints.ucf}}} file would be:
     90
     91{{{#!sh
     92#PlanAhead xps_constraints.ucf
     93
     94#Top-level ports
     95NET "led_red"    LOC = A1;
     96NET "led_green"  LOC = A2;
     97NET "led_yellow" LOC = A3;
     98
     99#TEMAC loc
     100INST "xps_top_i/ETH_MAC*v6_emac" LOC = "TEMAC_X0Y0";
     101}}}
     102
     103Notice the '''{{{xps_top_i}}}''' prefix on the TEMAC LOC constraint. Because this constraint refers to a design object by hierarchical name the path must include the new XPS project instance name.
     104