diff --git a/libraries/technology/ip_stratixiv/readme_ip_stratixiv.txt b/libraries/technology/ip_stratixiv/readme_ip_stratixiv.txt index 5b4ff54f2d34372efa2d3a0213354f15d5fffddc..101db4e233238cd2386a105e761f38ce7c6d7550 100644 --- a/libraries/technology/ip_stratixiv/readme_ip_stratixiv.txt +++ b/libraries/technology/ip_stratixiv/readme_ip_stratixiv.txt @@ -10,7 +10,9 @@ Contents: f) ip_stratixiv_asmi_parallel g) ip_stratixiv_remote_update 2) Multi file IP - a) tse_sgmii* + a) tse_sgmii_lvds, tse_sgmii_gx + b) phy_xaui + c) mac_10g @@ -34,12 +36,9 @@ d) ip_stratixiv_hssi* e) ip_stratixiv_gxb_reconfig* - In theory the gxb_reconfig IP are the same, but in practise they can differ - slightly between different Quartus versions. The tr_nonbonded, tse_sgmii_gx - and tr_xaui libraries each use a newly generated gxb_reconfig. Trying to let - them all use the latest version of the gxb_reconfig IP would require - validation on hardware. To avoid having to do this preserve the various - versions of gxb_reconfig that were created in time. Versions overview: + In theory the gxb_reconfig IP are the same, but in practise they can differ slightly between different Quartus versions. The tr_nonbonded, tse_sgmii_gx + and tr_xaui libraries each use a newly generated gxb_reconfig. Trying to let them all use the latest version of the gxb_reconfig IP would require + validation on hardware. To avoid having to do this preserve the various versions of gxb_reconfig that were created in time. Versions overview: reconfig_fromgxb used in library bus width @@ -48,8 +47,7 @@ e) ip_stratixiv_gxb_reconfig* v11.1 : ceil(g_nof_gx/4) * 17 tr_xaui . The gxb_reconfig for v9.1 uses wider reconfig_fromgxb bus width. - . The reconfig_fromgxb for v10.1 and v11.1 seem idendical except for - different internal signal namings. + . The reconfig_fromgxb for v10.1 and v11.1 seem idendical except for different internal signal namings. f) ip_stratixiv_asmi_parallel @@ -62,6 +60,37 @@ g) ip_stratixiv_remote_update 2) Multi file IP -The multi file IP is kept in sub directories in the top level ip_<device_name> -directory to be able to keep the generated files together. +The multi file IP is kept in sub directories in the top level ip_<device_name>/<ip_name> directory to be able to keep the generated files together: + ip_<device_name>/<ip_name>/ -- source files (all in SVN) + <ip_name>/generated/ -- generated files (may also be committed in SVN) + +The source files are kept in the <ip_name> directory. The generated files are kept in a <ip_name>/generated/ directory. The MegaWizard variation file +is typically a <ip_name>.vhd VHDL file is the top level file and that also is used by the MegaWizard to generated the IP. The generate_ip.sh script +can be run to generate the IP, usage: + + ./generate_ip.sh + +The generate_ip.sh script first copies the MegaWizard variation file in the 'generated' output dir, because: + + 1) setting the output dir is not an option in the MegaWizard + 2) The MegaWizard overwrites the variation file sometimes - we don't want that as it could be hand-modified with e.g. added generics + +The generated files for Quartus v11.1 that are needed for simulation and synthesis may also be committed in SVN, so it is not necessary to run this +generate_ip.sh script again. Files that are not needed should better not be committed in SVN. The advantage of only committing what is needed is that +it is more clear what is needed and that it may save substantial disk space in the repository and at local at each check out. The disadvantage of +committing only what is needed may be that it takes some effort to find out what is needed. If the size/amount of files that are not needed is +relatively small then committing all generated files is fine too. + +For simulation the MegaWizard also generates a msim_setup.tcl script. A stripped down version of this msim_setup.tcl script is made manually and +kept in compile_ip.tcl. This compile_ip.tcl only compiles what is needed and is made available in the Modelsim project file via the +modelsim_compile_ip_files key in the hdllib.cfg. The 'mk' command automatically also executes the compile_ip.tcl before it compiles any other HDL +in the library. + +a) tse_sgmii_lvds, tse_sgmii_gx + + +b) phy_xaui + + +c) mac_10g