17.22. xcvr_diffmifgen Utility
The xcvr_diffmifgen utility allows you to create a .mif file that includes the differences in settings between two configurations. For example, if you have two configurations, inst0_1g_txpll0.mif that sets a TX PLL0 bandwidth to 1 Gbps and inst0_5g_txpll0.mif that sets the TX PLL0 bandwidth to 5 Gbps, the xcvr_diffmifgen utility creates to_inst0_1g_txpll0.mif and to_inst0_5g_txpll0.mif that include the information necessary to change from 1 Gbps to 5 Gbps and from 5 Gbps to 1 Gbps. You can use these files to reduce reconfiguration and simulation times.
The xcvr_diffmifgen utility can operate on up to five MIF files. This utility only works on MIF files at the same revision level. If you try to compare MIF files that are not at the same revision level, xcvr_diffmifgen issues a warning.
xcvr_diffmifgen <options> <MIF file 1> <MIF file 2> <Mif file n> Arguments: -h: Displays help -noopt: The output file is not optimized
The format of the reduced MIF file is the same as for the original MIF files as described in MIF Format. The reduced MIF file, preserves the lines shown in the following table:
|Line Number||Description||Content Includes|
|0||Specifies start of the reconfiguration MIF||Start of MIF opcode|
|1||Specifies the type of MIF||Type of MIF opcode|
|2||Specifies the reference clock||RefClk switch opcode|
|3||Specifies the PLL switch||CGB PLL switch opcode|
|Last||Specifies end of reconfiguration MIF||End of MIF Opcode|
For each difference between the files compared, the reduced MIF file includes the following two records:
- A record indicating the length and address of the change.
- The changed data.
The following example shows part of two MIF files, MIF_A and MIF_B. Line 6, 16, and 20 are different.
Two Partial MIF files
The following example shows and the reduced MIF file, to_MIF_A created by the xcvr_diffmifgen utility: