UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 19753

6.3/6.2 EDK - How to upgrade PPC405 from v1.00a to 2.00c in EDK

Description

Keywords: PPC, upgrade, PPC405, PowerPC, 2VP

Urgency: Standard

General Description:
The PPC405 v1.00a was introduced when the EDK tools were still in their infancy. As more and more design support has been added to the tools, this has raised the bar for how cores should be designed. To satisfy this, new versions have been created. In EDK 6.2 release the advances in, and maturing of, the EDK tools have resulted in a stable version (v2.00c), which has all the necessary hooks. This has led to the decision to no longer support version v1.00a.

If you are using PPC405 v1.00a in a design today, Xilinx recommends you to follow the upgrade procedure described below. An alternative to this is to create your own pcore of the old version and continue to use it. Xilinx will not test or support PPC405 v1.00a in future EDK releases. For instructions on how to create your own pcore, please refer to (Xilinx Answer 19531). The v1.00a version of the core is located in your EDK 6.2.2 or older installation.

Solution

To upgrade, please make the following changes to your MHS file:

1. If your design includes a JTAGPPC_CNLTR v1.00a or v1.00b, please refer to (Xilinx Answer 19754) or (Xilinx Answer 19682) on how to upgrade these to v2.00a.

2. If you are using the instruction side and/or data side OCM interface, please refer to (Xilinx Answer 19558) and (Xilinx Answer 19559) on how to upgrade these interfaces. Be sure to note what the C_TIEISOCMDCRADDR and C_TIEDSOCMDCRADDR parameters are set to.

3. Assuming your PPC405 design looks like this:

BEGIN ppc405
PARAMETER INSTANCE = ppc405_0
PARAMETER HW_VER = 1.00.a
BUS_INTERFACE ISOCM = iocm
BUS_INTERFACE DSOCM = docm
...
PORT TIEC405DETERMINISTICMULT = net_xx1
PORT TIEC405DISOPERANDFWD = net_xx2
PORT TIEC405MMUEN = net_xx3
...
END

Make the following changes:

BEGIN ppc405
PARAMETER INSTANCE = ppc405_0
PARAMETER HW_VER = 2.00.c
PARAMETER C_DISABLE_OPERAND_FORWARDING = x #see comment below
PARAMETER C_DETERMINISTIC_MULT = 0 #must be set to 0!
PARAMETER C_MMU_ENABLE = y #see comment below
PARAMETER C_ISOCM_DCR_ADDR = isaddr #see comment below
PARAMETER C_DSOCM_DCR_ADDR = dsaddr #see comment below
BUS_INTERFACE ISOCM = iocm
BUS_INTERFACE DSOCM = docm
...
END
* where x is 1 if (net_xx2 == net_vcc) else 0
* where y is 1 if (net_xx3 == net_vcc) else 0
* where isaddr comes from the "C_TIEISOCMDCRADDR" parameter on the isocm_bram_if_cntlr v1.00a. This value is 8 bits, and needs to be padded with 2 least significant bits and assigned in binary format. Example: if C_TIEISOCMDCRADDR=0x06, then C_ISOCM_DCR_ADDR = 0b0000011000
* where dsaddr comes from the "C_TIEDSOCMDCRADDR" parameter on the dsocm_bram_if_cntlr v1.00a. This value is 8 bits, and needs to be padded with 2 least significant bits and assigned in binary format. Example: if C_TIEDSOCMDCRADDR=0x07, then C_DSOCM_DCR_ADDR = 0b0000011100

4. All the TIE* ports on the old instance should be removed, as that information is now provided through the C_TIE* parameters. If your MHS is not explicitly assigning some of the above parameters/ports or bus interfaces, you do not need to worry about them. The default assignments used in the MPD files are unchanged.

5. You have now completed the upgrade from 1.00a to 2.00c.
AR# 19753
Date Created 07/29/2004
Last Updated 04/10/2007
Status Archive
Type General Article