211
R プロセッサ IP リファレンス ガイド 2004 3

プロセッサ IP リファレンス ガイド - SUZAKUサイト...プロセッサ IP リファレンスガイド 2004 年 3 月 プロセッサ IP リファレンス ガイド 2004

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • R

    プロセッサ IP リファレンス ガイド

    2004 年 3 月

  • プロセッサ IP リファレンス ガイド www.xilinx.co.jp 2004 年 3 月

    http://www.xilinx.co.jp

  • 2004 年 3 月 www.xilinx.co.jp プロセッサ IP リファレンス ガイド

    “Xilinx” and the Xilinx logo shown above are registered trademarks of Xilinx, Inc. Any rights not expressly granted herein are reserved.

    CoolRunner, RocketChips, Rocket IP, Spartan, StateBENCH, StateCAD, Virtex, XACT, XC2064, XC3090, XC4005, and XC5210 are registered trademarks of Xilinx, Inc.

    The shadow X shown above is a trademark of Xilinx, Inc.

    ACE Controller, ACE Flash, A.K.A. Speed, Alliance Series, AllianceCORE, Bencher, ChipScope, Configurable Logic Cell, CORE Generator, CoreLINX, Dual Block, EZTag, Fast CLK, Fast CONNECT, Fast FLASH, FastMap, Fast Zero Power, Foundation, Gigabit Speeds...and Beyond!, HardWire, HDL Bencher, IRL, J Drive, JBits, LCA, LogiBLOX, Logic Cell, LogiCORE, LogicProfessor, MicroBlaze, MicroVia, MultiLINX, NanoBlaze, PicoBlaze, PLUSASM, PowerGuide, PowerMaze, QPro, Real-PCI, RocketIO, SelectIO, SelectRAM, SelectRAM+, Silicon Xpresso, Smartguide, Smart-IP, SmartSearch, SMARTswitch, System ACE, Testbench In A Minute, TrueMap, UIM, VectorMaze, VersaBlock, VersaRing, Virtex-II Pro, Virtex-II EasyPath, Wave Table, WebFITTER, WebPACK, WebPOWERED, XABEL, XACT-Floorplanner, XACT-Performance, XACTstep Advanced, XACTstep Foundry, XAM, XAPP, X-BLOX +, XC designated products, XChecker, XDM, XEPLD, Xilinx Foundation Series, Xilinx XDTV, Xinfo, XSI, XtremeDSP and ZERO+ are trademarks of Xilinx, Inc.

    The Programmable Logic Company is a service mark of Xilinx, Inc.

    All other trademarks are the property of their respective owners.

    Xilinx, Inc. does not assume any liability arising out of the application or use of any product described or shown herein; nor does it convey any license under its patents, copyrights, or maskwork rights or any rights of others. Xilinx, Inc. reserves the right to make changes, at any time, in order to improve reliability, function or design and to supply the best product possible. Xilinx, Inc. will not assume responsibility for the use of any circuitry described herein other than circuitry entirely embodied in its products. Xilinx provides any design, code, or information shown or described herein "as is." By providing the design, code, or information as one possible implementation of a feature, application, or standard, Xilinx makes no representation that such implementation is free from any claims of infringement. You are responsible for obtaining any rights you may require for your implementation. Xilinx expressly disclaims any warranty whatsoever with respect to the adequacy of any such implementation, including but not limited to any warranties or representations that the implementation is free from claims of infringement, as well as any implied warranties of merchantability or fitness for a particular purpose. Xilinx, Inc. devices and products are protected under U.S. Patents. Other U.S. and foreign patents pending. Xilinx, Inc. does not represent that devices shown or products described herein are free from patent infringement or from any other third party right. Xilinx, Inc. assumes no obligation to correct any errors contained herein or to advise any user of this text of any correction if such be made. Xilinx, Inc. will not assume any liability for the accuracy or correctness of any engineering or software support or assistance provided to a user.

    Xilinx products are not intended for use in life support appliances, devices, or systems. Use of a Xilinx product in such applications without the written consent of the appropriate Xilinx officer is prohibited.

    The contents of this manual are owned and copyrighted by Xilinx. Copyright 1994-2004 Xilinx, Inc. All Rights Reserved. Except as stated herein, none of the material may be copied, reproduced, distributed, republished, downloaded, displayed, posted, or transmitted in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of Xilinx. Any unauthorized use of any material contained in this manual may violate copyright laws, trademark laws, the laws of privacy and publicity, and communications regulations and statutes.

    R

    http://www.xilinx.co.jp

  • プロセッサ IP リファレンス ガイド www.xilinx.co.jp 2004 年 3 月

    プロセッサ IP リファレンス ガイド 2004 年 3 月The following table shows the revision history for this document..

    Version Revision

    August 2002

    1.0 Initial Xilinx release for EDK 3.1

    October 2002

    1.1 Add memory and peripheral cores

    November 2002

    1.2 Release for EDK 3.1 Service Pack 2

    January 2003

    1.3 Release for EDK 3.1 Service Pack 3

    March 2003

    1.4 Release for EDK 3.2

    June2003

    1.5 Release for EDK 3.2 Service Pack 2

    August 2003

    1.6 Release for EDK 6.1

    September 2003

    1.7 Release for EDK 6.1 Service Pack 1

    November 2003

    1.8 Release for EDK 6.1 Service Pack 2

    January 2004

    1.9 Release for EDK 6.2 Service Pack 2

    March 2004 2.0 Release for EDK 6.2 Service Pack 2 Gms1

    http://www.xilinx.co.jp

  • Processor IP Reference Guide www.xilinx.com vFebruary 2004 1-800-255-7778

    R

    Contents

    The Processor IP Reference Guide supports the Embedded Systems Design Kit (EDK) for MicroBlaze™ and Virtex-II Pro™. For additional information, see the Embedded Software Tools Guide and the PowerPC 405 Processor Reference Guide.

    Part I: Embedded Processor IP

    Chapter 1: ザイリンクス FPGA での OPB の使用

    Chapter 2: ザイリンクス FPGA での PLB の使用

    Chapter 3: Processor Cores

    • MicroBlaze

    • PPC405 (Wrapper)

    Chapter 4: Bus, Bridge, and Arbiter Infrastructure Cores

    • On-Chip Peripheral Bus v2.0 with OPB Arbiter (v1.10a)

    • OPB PCI Arbiter

    • OPB to PLB Bridge (v1.00a)

    • OPB to PLB Bridge (v1.00b)

    • OPB to PLB Bridge (v1.00c)

    • OPB to OPB Bridge (Lite Version)

    • OPB to DCR Bridge Specification

    • Processor Local Bus (PLB) v3.4

    • PLB to OPB Bridge (v1.00a)

    • PLB to OPB Bridge (v1.00b)

    • Device Control Register Bus (DCR) v2.9

    • Processor System Reset Module

    • Local Memory Bus (LMB) v1.0

    • OPB Arbiter (v1.02c)

    • Fast Simplex Link Channel v1.1

    • PPC405 TOP (Wrapper)

    • Digital Clock Manager (DCM) Module

    http://www.xilinx.com

  • Processor IP Reference Guide www.xilinx.com viFebruary 2004 1-800-255-7778

    R

    Chapter 5: IPIF

    • OPB IPIF Architecture (v1.23e)

    - OPB IPIF Interrupt

    - OPB IPIF Packet FIFO

    - Direct Memory Access and Scatter Gather

    • OPB IPIF (v2.00.h)

    • PLB IPIF (v1.00.e)

    • PLB IPIF (v2.00.a)

    Chapter 6: Memory Interface Cores

    • LMB Block RAM (BRAM) Interface Controller

    • OPB External Memory Controller (EMC) (v1.00d)

    • OPB External Memory Controller (EMC) (v1.10a)

    • OPB External Memory Controller (EMC) (v1.10b)

    • OPB Synchronous DRAM (SDRAM) Controller

    • OPB Block RAM (BRAM) Interface Controller (v1.00a)

    • OPB Block RAM Interface Controller (v2.00a)

    • OPB Double Data Rate (DDR) Synchronous DRAM (SDRAM) Controller

    • OPB SYSACE (System ACE) Interface Controller (v1.00a)

    • OPB SYSACE (System ACE) Interface Controller (v1.00b)

    • PLB External Memory Controller (EMC) Design Specification (v1.00d)

    • PLB External Memory Controller (EMC) Design Specification (v1.10a)

    • PLB External Memory Controller (EMC) Design Specification (v1.10b)

    • PLB Synchronous DRAM (SDRAM) Controller (v1.00c)

    • PLB Synchronous DRAM (SDRAM) Controller (v1.00d)

    • PLB Block RAM (BRAM) Interface Controller (v1.00a)

    • PLB Block RAM (BRAM) Interface Controller (v1.00b)

    • PLB Double Data Rate (DDR) Synchronous DRAM (SDRAM) Controller (v1.00b)

    • PLB Double Data Rate (DDR) Synchronous DRAM (SDRAM) Controller (v1.00c)

    • PLB Synchronous DRAM (SDRAM) Controller (v1.00c)

    • Data Side OCM Block RAM (DSBRAM) Interface Controller

    • Instruction Side OCM Block RAM (ISBRAM) Interface Controller (v1.00a)

    • Instruction Side OCM Block RAM (ISBRAM) Interface Controller (v2.00a)

    • Data Side OCM Bus V1.0

    • Data Side OCM Bus v1.0 (v1.00b)

    • Instruction Side OCM Bus V1.0

    • Instruction Side OCM Bus v1.0 (v1.00b)

    • Block RAM (BRAM) Block

    • OPB ZBT Controller Design Specification

    http://www.xilinx.com

  • Processor IP Reference Guide www.xilinx.com viiFebruary 2004 1-800-255-7778

    R

    Chapter 7: Peripheral Cores

    • OPB Interrupt Controller (v1.00b)

    • OPB Interrupt Controller (v1.00c)

    • OPB 16550 UART

    • OPB 16450 UART

    • OPB UART Lite

    • OPB JTAG_UART

    • OPB IIC Bus Interface

    • OPB IIC Bus Interface (v1.00b)

    • OPB Serial Peripheral Interface (SPI)

    • OPB IPIF/LogiCore v3 PCI Core Bridge (v1.00b)

    • OPB IPIF/LogiCore v3 PCI Core Bridge (v1.00c)

    • OPB Ethernet Media Access Controller (EMAC) (v1.00j)

    • OPB Ethernet Media Access Controller (EMAC) (v1.00k)

    • OPB Ethernet Media Access Controller (EMAC) (v1.00m)

    • OPB Ethernet Media Access Controller (EMAC) (v1.00m)Placeholder 3.12.04

    • OPB Ethernet Lite Media Access Controller

    • OPB Asynchronous Transfer Mode Controller (OPB_ATMC) (v1.00b)

    • OPB Asynchronous Transfer Mode Controller (OPB_ATMC) (v2.00a)

    • OPB Single Channel HDLC Interface

    • OPB Multi Channel HDLC Interface

    • OPB Timebase WDT

    • OPB Timer/Counter

    • OPB General Purpose Input/Output (GPIO)

    • OPB General Purpose Input/Output (GPIO) (v2.00a)

    • OPB General Purpose Input/Output (GPIO) (v3.00a)

    • OPB Central DMA Controller

    • Channel FIFO

    • Fixed Interval Timer (FIT)

    • MII to RMII

    • PLB 1-Gigabit Ethernet Media Access Controller (MAC) with DMA - PRELIMINARY

    • PLB 1-Gigabit Ethernet Media Access Controller (MAC) - PRELIMINARY

    • PLB 1-Gigabit Ethernet Media Access Controller (MAC) - Placeholder 3.12.04

    • PLB 16550 UART (v1.00b)

    • PLB 16550 UART (v1.00c)

    • PLB 16450 UART (v1.00b)

    • PLB 16450 UART (v1.00c)

    • PLB RapidIO LVDS (v1.00a)

    • PLB Asynchronous Transfer Mode Controller (PLB_ATMC)

    • PLB Ethernet Media Access Controller (PLB_EMAC)

    http://www.xilinx.com

  • Processor IP Reference Guide www.xilinx.com viiiFebruary 2004 1-800-255-7778

    R

    • PLB General Purpose Input/Output (GPIO) (v1.00a)

    • DCR Interrupt Controller (v1.00a)

    • DCR Interrupt Controller (v1.00b)

    Chapter 8: Utility Peripherals

    • Util Bus Split Operation

    • Util Flip-Flop

    • Util Reduced Logic

    • Util Vector Logic

    Chapter 9: Debug and Verification

    • Chipscope ICON

    • Chipscope OPB IBA (Bus Analyzer)

    • Chipscope PLB IBA (Bus Analyzer)

    • Chipscope Virtual IO

    • OPB HWICAP

    • Microprocessor Debug Module (MDM) (v1.00b)

    • Microprocessor Debug Module (MDM) (v1.00c)

    • Microprocessor Debug Module (2.00a)

    • JTAG PPC Controller

    Part II: Software

    Chapter 10: Device Driver Programmer Guide

    Chapter 11: Automatic Generation of Tornado 2.0 (VxWorks 5.4) Board Support Packages

    Chapter 12: Device Driver Summary

    Chapter 13: Automatic Generation of Tornado 2.0 (VxWorks 5.4) Board Support Packages

    http://www.xilinx.com

  • Processor IP Reference Guide www.xilinx.com ixFebruary 2004 1-800-255-7778

    R

    http://www.xilinx.com

  • Processor IP Reference Guide www.xilinx.com 1January 2004 1-800-255-7778

    R

    Part I: Embedded Processor IPPart I of the Processor IP Reference Guide includes the following chapters:

    Chapter 1, “ ザイリンクス FPGA での OPB の使用 ”Chapter 2, “ ザイリンクス FPGA での PLB の使用 ”Chapter 3 , “Processor Cores”

    Chapter 4, “Bus, Bridge, and Arbiter Infrastructure Cores”

    Chapter 5, “IPIF”

    Chapter 6, “Memory Interface Cores”

    Chapter 7, “Peripheral Cores”

    Chapter 8, “Utility Peripherals”

    Chapter 9, “Debug and Verification”

    http://www.xilinx.com

  • 2004 年 1 月 www.xilinx.co.jp 2プロセッサ IP リファレンス ガイ ド

    R

    第 1 章

    ザイリンクス FPGA での OPB の使用

    概要

    この章には、 次のセクシ ョ ンが含まれています。

    「ザイ リ ンクス OPB の使用」

    「レガシ OPB デバイス」

    「OPB 使用上の注意」

    「OPB 比較」

    IBM OPB の詳細情報を入手するには、 ザイ リ ン ク スの Web サイ ト にあ る IBM CoreConnectLounge に登録してそこから IBM CoreConnect 関連のマニュアルを参照するか、 IBM 社の Web サイ ト を参照してください。

    OPB は、 IBM CoreConnect アーキテクチャのエレ メン トで、オンチップ ペリ フェラル デバイスを簡単に接続するために設計された汎用同期バスです。 OPB の特徴は、 次のとおりです。

    • 32 ビッ ト または 64 ビッ トのデータ バス

    • 最大 64 ビッ トのアドレス

    • 8 ビッ ト 、 16 ビッ ト 、 32 ビッ ト 、 および 64 ビッ トのスレーブをサポート

    • 32 ビッ トおよび 64 ビッ トのマスタをサポート

    • バイ ト 、 ハーフワード、 全ワード、 およびダブルワード転送を使用したダイナミ ッ ク バス サイジングが可能

    • オプシ ョ ンでバイ ト イネーブルをサポート

    • ト ラ イステート ド ラ イバの代わりに分散マルチプレクサ バスを使用

    • OPB マスタ と OPB スレーブ間のシングル サイクル転送 ( アービ ト レーシ ョ ンは除く )

    • シーケンシャルなアドレス プロ ト コルをサポート

    • 16 サイクルのバス タイムアウ ト ( アービタによ り提供 )

    • スレーブ タイムアウ トの制御機能

    • 複数の OPB バス マスタをサポート

    • バス パーキングをサポート

    • バス ロ ッキングをサポート

    • スレーブが要求した リ ト ライをサポート

    • バス転送の最終サイクルとオーバーラ ップしたバス アービ ト レーシ ョ ン

    http://www-3.ibm.com/chips/products/coreconnect/http://www-3.ibm.com/chips/products/coreconnect/http://www.xilinx.co.jp/ipcenter/processor_central/register_coreconnect.htmhttp://www.xilinx.co.jp/ipcenter/processor_central/register_coreconnect.htmhttp://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 3プロセッサ IP リファレンス ガイ ド

    ザイリンクス OPB の使用R

    OPB はバスのパフォーマンスを向上する多機能を完全に備えたバス アーキテクチャで、 FPGAアーキテクチャでほぼ全ての機能を効果的に使用できます。 ただし、一部の機能を使用するこ とで、FPGA リ ソースを有効利用できなかった り、 システムのク ロ ッ ク レー トが低下するこ とがあ り ます。 したがって、 ザイ リ ンクスでは、 当社が開発した OPB デバイス用の OPB のサブセッ ト を使用しています。 ただし、 FPGA には柔軟性があるため、 バージ ョ ン 2.1 の OPB 仕様に完全準拠したOPB デバイスを使用したシステムをインプリ メン トするこ と も可能です。

    ザイリンクス OPB の使用

    OPB オプシ ョ ン

    レガシ デバイス

    バージ ョ ン 2.0 以前の OPB 仕様では、 OPB データ転送用の信号プロ ト コルが 1 つあ り ました。 このプロ ト コル (バージ ョ ン 2.0 またはそれ以降の OPB 仕様にもある) では、 転送識別子と通知信号の使用によ りダイナミ ッ ク バス サイジングがサポート されます。 転送識別子はマスタによって開始された転送のサイズを示し、 通知信号はスレーブからの転送サイズを示します。 このよ う な種類のダイナミ ッ ク バス サイジングをサポート するデバイスのこ と を、レガシ デバイスと 呼びます。

    バイ ト イネーブル デバイス

    バージ ョ ン 2.0 以降の OPB 仕様で、 バイ ト イネーブルを基にしたオプシ ョ ンの転送プロ ト コルが導入されました。 バイ ト イネーブル アーキテクチャでは、 データ バスの各バイ ト レーンに関連のバイ ト イネーブル信号が使用されます。 この信号は、転送ごとにどのバイ ト レーンに有効なデータがあるかを示します。 バイ ト イネーブル信号にはすべてのサイズ情報が含まれているため、 異なる転送サイズを示す転送識別子を個別に使用する必要があ り ません。 バイ ト イネーブル アーキテクチャでは、 転送ごとに 1 つの通知信号しかないため、 ダイナミ ッ ク バス サイジングは許可されません。 バージ ョ ン 2.0 およびそれ以降の OPB 仕様では、 レガシのみ、 バイ ト イネーブルのみ、 または混合のシステムを構築できます。 バイ ト イネーブル シグナリ ングのみをサポートするデバイスのこ とを、 バイ ト イネーブル デバイスと呼びます。

    OPB V2.0 デバイス

    バイ ト イネーブルとレガシの両方のシグナリ ングをサポートするデバイスのこ と を OPB V2.0 デバイスと呼びます。 この両方のシグナリ ングを使用するシステムでは、ダイナミ ッ ク バス サイジングを実行できます。 レガシ デバイスでは、バイ ト イネーブル転送がサポート されないこ とに留意してください。

    ザイリンクス OPB デバイス

    上記に示す転送プロ ト コルの種類によっては、 ザイ リ ンク ス OPB デバイスのインプ リ メ ンテーシ ョ ンに次のよ う な影響があ り ます。

    変換サイクル

    レガシ デバイスでサポート されるダイナミ ッ ク バス サイジングで、変換サイクルが生成されます。このサイクルは、 マスタが開始した転送がスレーブ応答よ り も大きかった場合に、 データが再転送

    される追加の転送サイクルです。 たとえば、レガシ システムで、マスタがスレーブに 32 ビッ ト ワードを書き込み、 8 ビッ ト スレーブが 8 ビッ ト分の転送のみ受信したと応答した場合、 マスタはあと3 つ変換サイ クルを追加してすべてのデータをスレーブに転送しなければなり ません。 変換サイクルを生成するには、 さ らに多くのロジッ クが必要になり、 マスタが複雑化して、 FPGA リ ソースを有効に利用できなくなり ます。 バイ ト イネーブル アーキテクチャを使用する と、FPGA に簡単にインプ リ メン トでき、 このよ う な問題を回避できます。

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 4プロセッサ IP リファレンス ガイ ド

    ザイリンクス OPB の使用R

    書き込みミ ラーリングと読み出しステアリング

    バス幅よ り も小さいデバイスを使用した場合、 書き込みミ ラーリ ングと読み出しステア リ ングが実

    行されます。 OPB 仕様では、 バス幅よ り も小さいデバイスは常に左寄せになるため (バスの最上位ビッ トにあわせる)、小型デバイスに関連したバイ ト レーンを簡単に判別できます。 たとえば、バイト幅のペリ フェラルは常にバスの最上位バイ トに位置しており、このバイ ト レーンを使用してデータの読み出し、 書き込みが行われます。 バイ ト イネーブルのみの、 書き込みミ ラーリ ングを実行しないアーキテクチャを使用する と、 OPB マスタのデザインを簡略化できます。 ただし、 OPB マスタによ りデータがミ ラーリ ングされない場合は、 バス幅よ り も小さいペリ フェラルを若干複雑にす

    る必要があ り ます。

    理想的な FPGA インプリ メンテーシ ョ ン

    OPB ベースのシステムを FPGA に理想的にインプリ メン トする場合の条件は、 次のとおりです。

    • 変換サイクルが不要

    • OPB 仕様に指定されているよ うに、 バイ ト イネーブル アーキテクチャのみを使用

    • マスタが書き込みデータを ミ ラーリ ングする必要がない

    このよ う な条件によって、 ザイ リ ンクスが開発した OPB デバイスをインプ リ メ ン トする方法を決定できます。 ザイ リ ンクス IP での OPB の使用方法については、 次のセクシ ョ ンで説明します。

    ザイリンクス OPB デバイスでの OPB の使用方法

    ザイ リ ンクスが開発した OPB デバイスを使用する場合、 次の規則に従います。

    • OPB データ バス幅およびアドレス バス幅は 32 ビッ ト と します。 ペリ フェラルによってはバス幅をパラ メータ指定できるものもあ り ますが、 現時点では 32 ビッ ト バスのみがサポート されています。 32 ビッ ト よ り も小さいペリ フェラルは、 OPB に接続できます。 この場合、 アドレス指定に制約があ り ます。 たとえば、 ベース アドレス A にある 8 ビッ トのペリ フェラルは、バイ ト レーン 0 に接続できますが、 A、 A+4、 A+8 などと指定する必要があ り ます。

    • すべての OPB デバイス ( マスタおよびスレーブ ) は、 バイ ト イネーブル デバイスです。 これらのデバイスではレガシ データ転送信号がサポート されていないため、 ダイナミ ッ ク バス サイジングがサポート されません。 OPB マスタは、未使用のバイ ト レーンにデータを ミ ラーリ ングしません。 調整された転送のバイ ト レーン使用例は、 図 1-1 を参照してください。

    • すべての OPB デバイス ( マスタおよびスレーブ ) は、 非アクティブのと きに、 ロジッ ク 0 を出力する必要があ り ます。 これによ り、 Mn_DBusEn および Sln_DBusEn 信号をマスタまたはスレーブに外部転送する必要がなくな り ます。 イネーブル機能は、 デバイス内にインプ リ メント されたままです。

    • OPB を FPGA にインプリ メン トする上で最適なタイ ミ ングを得るには、 OPB_timeout 信号にレジスタを付けます。 これは、OPB_select のアサート後 16 番目のクロ ッ ク サイクルの立ち上がりエッジで、 またはそのエッジ前に、 すべてのスレーブが Sl_xferAct または Sl_retry をアサー ト しなければならないためです。 OPB スレーブが Sl_toutSup をアサー ト する場合は、OPB_select のアサート後 15 番目のクロ ッ ク サイクルの立ち上がりエッジで、またはそのエッジ前に、 Sl_toutSup をアサートする必要があ り ます。

    • バイ ト イネーブルおよび最下位アドレス ビッ トは、 すべてのマスタによって駆動され、 定数情報を含みます。 調整された転送のバイ ト レーン使用例を、 次の図に示します。

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 5プロセッサ IP リファレンス ガイ ド

    ザイリンクス OPB の使用R

    • 連続したアドレス空間 ( すべてのバイ ト レーンの使用 ) が必要となるすべての OPB スレーブデバイスでは、 デバイスの幅とは関係なく、 OPB データ幅と同じ幅の OPB バスにアタ ッチメン ト をインプ リ メン ト します。 このため、 OPB バスで左寄せしたり、 マスタが書き込みデータを ミ ラーリ ングする必要がなくなり ます。

    たとえば、32 ビッ ト OPB に割り当てられている連続したバイ ト アドレスに 8 ビッ トのメモ リデバイスをアド レス指定しなければならない場合を想定します。 8 ビ ッ ト のメモ リ デバイスは、32 ビッ ト幅のアタ ッチメン ト を OPB にインプ リ メン トする必要があ り ます。バス アタ ッチメン トでは、 書き込みの場合は適正なバイ ト レーンから 8 ビッ ト デバイスへ、 読み出しの場合は 8 ビッ ト デバイスから適正なバイ ト レーンへとデータが送られます。

    こ の場合、 書き込みにはマルチプレク サを使用し、 読み出しには 8 ビッ ト デバイスと すべてのバイ ト レーン間の接続 (基本的にすべてのバイ ト レーンにミ ラ ーリ ング ) を使用すると 簡単です。

    • 通常、 すべての OPB スレーブ デバイスのレジスタは、 レジスタ内のデータのサイズまたはペリ フェラルのサイズに関係なく、 ワードの境界 (2 桁の最下位アドレス ビッ トは 00) にあわせます。

    • マスタおよびスレーブ I/O : OPB マスタの場合は、 表 1-1 に示す信号セッ トに従います。 OPBスレーブの場合は、 表 1-2 に示す信号セッ トに従います。 マスタ と スレーブの両方の役割を果たすデバイスについては、 表 1-3 に示す信号セッ トに従います。 表に示すページ番号は、 IBM社の OPB 仕様 ( バージ ョ ン 2.0 および 2.1) に対応しています。 オプシ ョ ンとなっている 1 つの信号 ( マスタおよびスレーブ デバイスの _DBus[0:31]) を除いて、すべての信号が使用されなければな り ません。 これ以外の信号を OPB インターコネク トに追加してはなり ません。 命名規則は、次のとおりです。 はマスタの名前または頭文字 ( 先頭が大文字 )、 はスレーブの名前または頭文字 ( 先頭が大文字 )、 は OPB 識別子 ( 先頭が大文字で後尾は OPB と表記、複数の OPB アタ ッチメン トが付いたマスタまたはスレーブ用 ) を表します。 OPB アタ ッチメン トが 1 つ付いたデバイスの場合、 識別子にはデフォルトで OPB が付いているはずです ( 例 : OPB_ABus)。 信号名のほかの部分は、 大文字 / 小文字の区別も含めて、 表に示す表記と全く同じにする必要があ り ます。

    図 1-1 : 調整された転送のバイ ト レーン使用

    0:78:1516:2324:31

    データ バス

    Mn_ABus(30:31) = "00",Mn_BE = "1111"

    0:78:1516:2324:31

    データ バス

    Mn_ABus(30:31) = "00",Mn_BE = "1100"

    0:78:1516:2324:31

    データ バス

    Mn_ABus(30:31) = "10",Mn_BE = "0011"

    0:78:1516:2324:31

    データ バス

    Mn_ABus(30:31) = "00",Mn_BE = "1000"

    0:78:1516:2324:31

    データ バス

    Mn_ABus(30:31) = "01",Mn_BE = "0100"

    0:78:1516:2324:31

    データ バス

    Mn_ABus(30:31) = "10",Mn_BE = "0010"

    0:78:1516:2324:31

    データ バス

    Mn_ABus(30:31) = "11",Mn_BE = "0001"

    ワード転送 ハーフワード転送 ハーフワード転送 バイ ト転送

    バイ ト転送 バイ ト転送 バイ ト転送

    マス

    スレー

    マス

    スレー

    マス

    スレー

    マス

    スレー

    マス

    スレー

    マス

    スレー

    マス

    スレー

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 6プロセッサ IP リファレンス ガイ ド

    ザイリンクス OPB の使用R

    表 1-1 : OPB マスタのみ I/O

    信号 I/O 説明ページ番号

    (OPB リファレンス)_Clk I OPB ク ロ ッ ク_Rst I OPB リセッ ト_ABus[0:31] O マスタのアドレス バス OPB-11

    _BE[0:3] O マスタのバイ ト イネーブル OPB-16

    _busLock O マスタのバスロ ッ ク OPB-9

    _DBus[0:31] O マスタの書き込みデータ バス OPB-13

    _request O マスタのバス リ クエス ト OPB-8

    _RNW O マスタの読み出し (書き込みではない) OPB-12

    _select O マスタのセレク ト OPB-12

    _seqAddr O マスタの順次アドレス OPB-13

    _DBus[0:31] I OPB 読み出しデータ バス OPB-13

    _errAck I OPB エラー通知 OPB-15

    _MGrant I OPB バス許可 OPB-9

    _retry I OPB バス サイクル再試行 OPB-10

    _timeout I OPB タイムアウ ト エラー OPB-10

    _xferAck I OPB 転送通知 OPB-14

    表 1-2 : OPB スレーブのみ I/O

    信号 I/O 説明ページ番号

    (OPB リファレンス)_Clk I OPB ク ロ ッ ク_Rst I OPB リセッ ト_DBus[0:31] O スレーブのデータ バス OPB-11

    _errAck O スレーブのエラー通知 OPB-15

    _retry O スレーブの再試行 OPB-10

    _toutSup O スレーブのタイムアウ ト制御 OPB-15

    _xferAck O スレーブの転送通知 OPB-14

    _ABus[0:31] I OPB アドレス バス OPB-11

    _BE[0:3] I OPB バイ ト イネーブル OPB-16

    _DBus[0:31] I OPB データ バス OPB-13

    _RNW I OPB 読み出し (書き込みではない) OPB-12

    _select I OPB セレク ト OPB-12

    _seqAddr I OPB 順次アドレス OPB-13

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 7プロセッサ IP リファレンス ガイ ド

    ザイリンクス OPB の使用R

    信号セッ トに関する追記

    • ザイ リ ンクスが開発した OPB デバイスでは、ダイナミ ッ ク バス サイジングがサポート されていないため、 Mn_dwXfer、 Mn_fwXfer、 Mn_hwXfer、 Sln_dwAck、 Sln_fwAck、 Sln_hwAckといったレガシ信号を使用できません。

    • このデバイスはバイ ト イネーブルのみであるため、 Mn_beXfer および Sln_beAck 信号は必要なく、 したがって使用できません。

    表 1-3 : OPB マスタ /スレーブ デバイス I/O

    信号 I/O 説明ページ番号

    (OPB リファレンス)_Clk I OPB ク ロ ッ ク_Rst I OPB リセッ ト_ABus[0:31] O マスタのアドレス バス OPB-11

    _BE[0:3] O マスタのバイ ト イネーブル OPB-16

    _busLock O マスタのバスロ ッ ク OPB-9

    _DBus[0:31] O マスタの書き込みデータ バス (オプシ ョ ン) OPB-13

    _request O マスタのバス リ クエス ト OPB-8

    _RNW O マスタの読み出し (書き込みではない) OPB-12

    _select O マスタのセレク ト OPB-12

    _seqAddr O マスタの順次アドレス OPB-13

    _DBus[0:31] I OPB 読み出しデータ バス OPB-13

    _errAck I OPB エラー通知 OPB-15

    _MGrant I OPB バス許可 OPB-9

    _retry I OPB バス サイクル再試行 OPB-10

    _timeout I OPB タイムアウ ト エラー OPB-10

    _xferAck I OPB 転送通知 OPB-14

    _DBus[0:31] O スレーブのデータ バス (_DBus がない場合、オプシ ョ ンでマスタの書き込みデータ バスと して機能)

    OPB-11

    _errAck O スレーブのエラー通知 OPB-15

    _retry O スレーブの再試行 OPB-10

    _toutSup O スレーブのタイムアウ ト制御 OPB-15

    _xferAck O スレーブの転送通知 OPB-14

    _ABus[0:31] I OPB アドレス バス OPB-11

    _BE I OPB バイ ト イネーブル OPB-16

    _RNW I OPB 読み出し (書き込みではない) OPB-12

    _select I OPB セレク ト OPB-12

    _seqAddr I OPB 順次アドレス OPB-13

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 8プロセッサ IP リファレンス ガイ ド

    レガシ OPB デバイスR

    • マスタ と スレーブに使用する信号は、 OPB インターコネク トに使用する信号とは異なり ます。OPB インターコネク ト (OPB デバイスの接続に必要な OR ゲート とその他のロジッ ク ) は、バージ ョ ン 2.1 の OPB 仕様を完全サポート しています。 このため、 OPB インターコネク トでは、 デザインがバイ ト イネーブル デバイスのみに制限されず、 バイ ト イネーブル、 レガシ、および OPB V2.0 デバイスを使用した混合デザインがサポート されています。 バス インターコネク トには、 OPB V2.1 仕様に定義された機能の使用に制限があ り ません。

    レガシ OPB デバイスザイ リ ンクス デバイスの中で最も効率のよい OPB デバイスであるバイ ト イネーブル デバイスを使用するのが望ましいものの、 デザインによっては、 レガシ OPB デバイスまたは OPB V2.0 に完全準拠したデバイスを使用できるこ と もあ り ます。 ただし、レガシ デバイスはバイ ト イネーブル デバイス とは異なる信号セッ ト を使用しているため、 バイ ト イネーブル デバイス と直接通信できません。 この場合、 バイ ト イネーブル デバイス とレガシ デバイス間に BEIF (Byte Enable Interface)デバイスと呼ばれるインターフェイス層が必要になり ます。

    混合システム

    次の図に、バイ ト イネーブル、 レガシ、および OPB V2.0 デバイスを使用した混合システムを示します。 BEIF デバイスは、信号をレガシ型からバイ ト イネーブル型に、 またはその逆に変換します。

    BEIF デバイスには、 次のよ う なロジッ クが含まれています。 ただし、 すべてのロジッ クを常に使用しなければならないわけではあ り ません。

    • バイ ト イネーブル デバイスからレガシ デバイスへの転送の信号変換 : _BE は、_hwXfer、 _fwXfer、 および _dwXfer に変換されます。 _BE は、 _hwXfer、 _fwXfer、 および _dwXfer に変換されます。 _hwXfer、 _fwXfer、および _dwXfer は、 _xferAck に変換されます。 _hwXfer、 _fwXfer、 および _dwXfer は、_xferAck に変換されます。 正しい最下位アドレス ビッ ト も同時に生成されます。

    図 1-2 : 混合デバイス タイプを使用した OPB インターコネク ト

    OPB V2.0スレーブ

    OPB V2.0マスタ

    レガシマスタ

    レガシスレーブ

    OPB バスモニタまたは

    BFM

    バイ ト イネーブルマスタ 2

    バイ ト イネーブルマスタ 1

    バイ ト イネーブルスレーブ 1

    バイ ト イネーブルスレーブ 2

    PLB と OPB 間ブリ ッジ

    OPB アービタ

    BEIF BEIF BEIF BEIF BEIF

    OPB

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 9プロセッサ IP リファレンス ガイ ド

    OPB 使用上の注意R

    • レガシ デバイスからバイ ト イネーブル デバイスへの転送の信号変換 : _hwXfer、_fwXfer、 および _dwXfer は、 _BE に変換されます。 _hwXfer、 _fwXfer、 および _dwXfer は、 _BE に変換されます。 _xferAck は、 _hwXfer、 _fwXfer、 および _dwXfer に変換されます。 _xferAck は、 _hwXfer、_fwXfer、 および _dwXfer に変換されます。

    • ロジッ クの ミ ラーリ ングおよびステア リ ング

    • バイ ト イネーブル デバイスからレガシ デバイスへの転送の変換サイクル ジェネレータ

    このアーキテクチャを使用した場合、 OPB V2.1 の全機能を必要と しないシステム (ザイ リ ンクスIP のみを含むシステムなど) は、 BEIF をインスタンシエー ト する必要がないため、 使用できるFPGA リ ソースを最適に利用できます。 レガシ デバイスまたは OPB V2.0 デバイスを使用する必要のあるシステムでは、 最も費用のかかる BEIF をインスタンシエート しなければなり ません。 ただし、 すべてのスレーブが変換サイクルを生成する とは限らないので、 変換サイクルを生成する可能

    性がある場合のみに、 BEIF (変換サイクル ジェネレータ ) をインスタンシエート します。

    OPB 使用上の注意OPB 使用上の注意事項は次のとおりです。なお、 これらの事項は、主と して混合システムに適用されます。

    • 変換サイクルが必要になるのは、 マスタがスレーブの幅よ り も大きい転送リ クエス ト をスレーブに送り、 スレーブがマスタが要求したよ り も小さい転送を受け取ったこ とを示した場合のみ

    です。

    • バイ ト イネーブル マスタは、変換サイクルを直接生成できず、 BEIF ( バイ ト イネーブル インターフェイス ) デバイス内の変換サイクル ジェネレータが必要になり ます。 これは、バイ ト イネーブル マスタがスレーブからサイズ情報を受け取らないためです。

    • バイ ト イネーブル スレーブは、 変換サイクルを生成しません。 このため、 バイ ト イネーブルスレーブにアクセスするマスタは、 スレーブのサイズ以下のデータしか転送できません。 スレーブよ り も大きい転送は、スレーブからの応答がない ( タイムアウ ト )、スレーブから errAckが発生する、 またはデータを失う、 のいずれかを招く結果となり ます。 実際の結果は、 デコー

    ドおよび通知ロジッ クがスレーブにインプ リ メン ト されている方法によって異なり ます。

    • BEIF の変換サイクル ジェネレータは、 バイ ト イネーブル デバイスからレガシ /OPB V2.0 デバイスへの転送のみに必要です。

    • V2.1 仕様の書き込みミ ラーリ ングおよび読み出しステア リ ングは、左寄りのペリ フェラルを基にしています。 左寄りの代わりに、 さ らに複雑なスレーブ アタ ッチメン ト を使用できます。

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 10プロセッサ IP リファレンス ガイ ド

    OPB 比較R

    OPB 比較表 1-4 は、ザイ リ ンクス FPGA で使用される主要なエンベデッ ド プロセッサ バス アーキテクチャとその特性を示します。 データ転送レート、 複数マスタ機能、 データ バース ト などの機能は、 バスによって異な り ます。 どのバスを使用するかは、 使用しているプロセッサ、 アプ リ ケーシ ョ ンで求められるデータの帯域幅、使用できるペリ フェラルの数によって決ま り ます。 OPB は、多くのデザインで効果的に使用できる汎用ペリ フェラル バスです。

    PLB - プロセッサ ローカル バス (IBM) : PLB のリ ファレンス

    OPB - オンチップ ペリ フェラル バス (IBM) : OPB のリ ファレンス

    OCM - オンチップ メモ リ インターフェイス (IBM) : OCM のリ ファレンス

    LMB - ローカル メモ リ バス (ザイ リ ンクス) : MicroBlaze プロセッサ リ ファレンス ガイ ド

    DCR - デバイス コン ト ロール レジスタ バス (IBM) : DCR のリ ファレンス

    メモ :

    1. こ こに示す最大クロ ッ ク レートは、単なる比較のための概算です。 実際の最大クロ ッ ク レートは、デバイス ファ ミ リ、デバイスのスピード グレード、 デザインの複雑性などの要素によってバスごとに決ま り ます。

    表 1-4 : ザイリンクスのエンベデッ ド プロセッサ システムで使用されるバスの比較

    機能

    CoreConnect バス その他のバスPLB OPB DCR OCM LMB

    プロセッサ ファ ミ リ PPC405 PPC405、MicroBlaze

    PPC405 PPC405 MicroBlaze

    データ バス幅 64 32 32 32 32

    アドレス バス幅 32 32 10 32 32

    ク ロ ッ ク レート、 MHz (最大)1 100 125 125 375 125

    マスタ (最大) 16 16 1 1 1

    マスタ (通常) 2-8 2-8 1 1 1

    スレーブ (最大)2 16 16 16 1 1

    スレーブ (通常) 2-6 2-8 1-8 1 1

    データ レート (MB/秒、 ピーク時)3 1600 500 500 500 500

    データ レート (MB/秒、 通常)4 5335 1676 1009 3337 3338

    同時読み出し /書き込み あ り なし なし なし なし

    アドレスのパイプライン処理 あ り なし なし なし なし

    バス固定 あ り あ り なし なし なし

    リ ト ラ イ あ り あ り なし なし なし

    タイムアウ ト あ り あ り なし なし なし

    固定バース ト あ り なし なし なし なし

    可変バース ト あ り なし なし なし なし

    キャ ッシュ フ ィル あ り なし なし なし なし

    ターゲッ ト ワードが最初 あ り なし なし なし なし

    FPGA リ ソース使用率 高 中 低 低 低

    コンパイラでのロード /ス ト アのサポート あ り あ り なし あ り あ り

    http://www.xilinx.co.jphttp://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/9A7AFA74DAD200D087256AB30005F0C8/$file/OpbBus.pdfhttp://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/8BA965C773B2E0ED87256AB20082CC9F/$file/64bitPlbBus.pdfhttp://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/D060DB54BD4DC4F2872569D2004A30D6/$file/405_um.pdfhttp://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/EA0DB87B2BB3702587256AB30006DD12/$file/DcrBus.pdf

  • 2004 年 1 月 www.xilinx.co.jp 11プロセッサ IP リファレンス ガイ ド

    マニュアルの改訂履歴R

    2. 最大値は、 コアで指定された最大許容パラ メータ値によって設定されます。 実際のバス仕様は、 この値に限り ません。

    3. ピーク時のデータ レートは、 各バスのクロッ ク レートでの理論的な最大データ転送レートです。

    4. 通常のデータ レートは、 実際のシステム コンフ ィギュレーシ ョ ンを表すデータ レート を示します。 通常のデータは、 主にアプリ ケーシ ョ ン ソフ ト ウェアやシステム ハード ウェア コンフ ィギュレーシ ョ ンによって決ま り ます。

    5. プライマ リのキャ ッシュライン フ ィル、 最小同時読み出し /書き込み (バス使用率は 66.7%) を想定。

    6. シーケンシャル アドレス機能と、 OPB 転送ごとに 3 ク ロ ッ ク サイクルを最低使用するこ とを想定。

    7. OCM コン ト ローラは PPC405 ク ロ ッ ク レートで動作しますが、データ転送レートにはオンチップ メモ リのアクセス時間によって制限があ り ます。 通常のデータ レートでは、 バス使用率を 66.7% と想定します。

    8. バス使用率を 66.7% と想定。

    9. DCR は PLB と同じ ク ロ ッ ク レートで動作し、 各 DCR は 5 ク ロ ッ ク サイクルごとにアクセスする と想定します。 DCR転送ごとにク ロ ッ ク サイ クル数は、 システム内の DCR デバイス数によって決ま り ます。 DCR デバイスを追加するごとに、 すべての DCR 転送にレイテンシが追加されます。

    マニュアルの改訂履歴

    日付 バージョ ン情報の表示 改訂内容

    10/17/01 1.0 初期バージ ョ ン10/19/01 1.1 若干変更。 バスのリ ファレンスにリ ンクを追加。12/10/01 1.2 図 2 を変更し、 その他を若干変更。3/20/02 1.3 MDK 2.2 用にアップデート。

    01/26/04 1.4 著作権情報をアップデート。

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 12プロセッサ IP リファレンス ガイ ド

    R

    第 2 章

    ザイリンクス FPGA での PLB の使用

    サマリ

    この章では、 ザイ リ ンクス FPGA での IBM プロセッサ ローカル バス (PLB) の使用法、 効率的なFPGA インプ リ メ ンテーシ ョ ンのガイ ド ラ インおよび簡略化、 ザイ リ ンクスで開発された PLB デバイスで使用する信号セッ ト などについて説明します。

    この章には、 次のセクシ ョ ンが含まれています。

    「ザイ リ ンクス PLB の使用」

    「PLB 比較」

    概要

    IIBM OPB の詳細情報を入手するには、 ザイ リ ン ク スの Web サイ ト にある IBM CoreConnectLounge に登録してそこから IBM CoreConnect 関連のマニュアルを参照するか、 IBM 社の Web サイ ト を参照してください。

    PLB は、 IBM CoreConnect アーキテクチャのエレ メン トで、 プロセッサを高性能ペリ フェラル デバイスに接続するために設計された高性能同期バスです。 PLB には、 次の機能が搭載されています(64-bit Processor Local Bus - Architecture Specifications から抜粋)。

    • 読み出し転送と書き込み転送の重複によ り、1 ク ロ ッ ク サイクルごとに 2 つのデータ転送が可能、 バスの使用率を最大限に利用

    • デカップルされたアドレス バス とデータ バスによる分割ト ランザクシ ョ ンのサポートで、 帯域幅が向上

    • アドレスのパイプライン処理によ り、 新規リ クエス トに関連したレイテンシが同方向に送信中のデータ転送に重複し、 バス レイテンシが全体的に低減

    • 遅いマスタ リ クエス トのアボート機能によ り、アボート された リ クエス トに関連したレイテンシを低減

    • 重複したバス リ クエス ト /許可プロ ト コルによ り、 アービ ト レーシ ョ ン レイテンシが低減

    • バス アーキテクチャによ り 16 個のマスタ と無制限のスレーブ デバイスをサポート

    • マスタごとに 4 つのレベルのリ クエス ト優先度があるため、多様なアービ ト レーシ ョ ン方法を使用した PLB インプ リ メンテーシ ョ ンが可能

    • バス アービ ト レーシ ョ ン固定機構によ り、 マスタ駆動の不可分動作が可能

    • 16、 32、 および 64 ビッ トのライン データ転送をサポート

    http://www.xilinx.co.jp/ipcenter/processor_central/register_coreconnect.htmhttp://www.xilinx.co.jp/ipcenter/processor_central/register_coreconnect.htmhttp://www-3.ibm.com/chips/products/coreconnect/http://www-3.ibm.com/chips/products/coreconnect/http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 13プロセッサ IP リファレンス ガイ ド

    ザイリンクス PLB の使用R

    • 読み出しワード アドレス機能によ り、 スレーブ デバイスによるライン データのフェッチがどんな順番でも可能 (ターゲッ ト ワードが最初、 またはシーケンシャル)

    • シーケンシャル バース ト プロ ト コルによ り、 あらゆる方向にバイ ト 、 ハーフワード、 およびワードのバース ト データ転送が可能

    • 保護された/保護されていないメモリ転送によ り、スレーブで命令とデータのプリ フェ ッチを個別にイネーブル/ディ スエーブルに切り替え可能

    PLB はバスのパフォーマンスを向上する機能を完全に備えたバス アーキテクチャで、 上記のほとんどの機能は FPGA アーキテクチャに搭載できますが、一部の機能を使用した場合、FPGA リ ソースが効率的に使用されなかった り、 システムのク ロ ッ ク レー ト が低下する こ とがあ り ます。 したがって、 ザイ リ ンクスでは、 当社が開発した PLB デバイス用の PLB のサブセッ ト を使用しています。 ただし、 FPGA には柔軟性があるため、 バージ ョ ン 3.5 の PLB 仕様に完全準拠した PLB デバイスを使用したシステムをインプ リ メン トするこ と も可能です。

    ザイリンクス PLB の使用

    ダイナミ ック バス サイジング

    ダイナミ ッ ク バス サイジングは、 64 ビッ ト PLB 上で 32ビッ ト と 64 ビッ トのデバイスを混合して使用できる PLB アーキテクチャ機能です。 マスタは、ト ランザクシ ョ ンを開始するマスタのデータ幅を表すマスタ サイズ信号 _MSize[0:1] を送信します。 スレーブは、アドレス通知と共に、 ト ランザクシ ョ ンに応答するスレーブのデータ幅を表す類似の信号 Sl_Mn_SSize(0:1) を送信します。 ダイナミ ッ ク バス サイジングは有用なアーキテクチャ機能ですが、 FPGA で使用する と、効率的な PLB マスタのインプ リ メンテーシ ョ ンが実現できな くな り ます。

    変換サイクル

    ダイナミ ッ ク バス サイジングでは、 変換サイ クルが生成されます。 このサイ クルは、 マスタが開始した転送がスレーブ応答よ り も大きかった場合にデータを再転送する追加の転送サイ クルです。

    たとえば、 マスタが 64 ビッ ト ワードをスレーブに書き込み、 32 ビ ッ ト のスレーブが 32 ビッ トワードで応答した場合、 マスタは変換サイクルを追加してすべてのデータをスレーブに転送しなけ

    ればなり ません。 変換サイ クルを生成するには、 さ らに多くのロジッ クが必要になり、 マスタが複雑化して、 FPGA リ ソースを有効に利用できなくな り ます。

    書き込みミ ラーリングと読み出しステアリング

    バス幅よ り も小さいデバイスを使用した場合、 書き込みミ ラーリ ングと読み出しステア リ ングが実

    行されます。 PLB 仕様では、 バス幅よ り も小さいデバイスは常に左寄せになるため (バスの最上位ビッ トにあわせる)、小型デバイスに関連したバイ ト レーンを簡単に判別できます。 たとえば、ワード幅のペリ フェラルは常に 64 ビッ ト バスの最上位ワードに配置され、 4 つの最上位バイ ト レーンのみを使用してデータの読み出し、 書き込みを行います。 PLB マスタのデザインは、 書き込みミラーリ ング不要の、どのバイ ト イネーブルがアクティブになっているかを基にしてデータ転送が行われるアーキテクチャを使用して簡略化できます。 ただし、 PLB マスタによ りデータがミ ラーリ ングされない場合は、バス幅よ り も小さいペリ フェラルに対してバス アタ ッチメン ト を若干複雑にする必要があ り ます。 追加ロジッ クは、 各ザイ リ ンク ス ペリ フェラルで、 パラ メータ指定可能なスレーブ アタッチメン トに内蔵されます。

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 14プロセッサ IP リファレンス ガイ ド

    ザイリンクス PLB の使用R

    ザイリンクス PLB デバイス

    理想的な FPGA インプリ メンテーシ ョ ン

    PLB ベースのシステムを FPGA に理想的にインプリ メン トする場合の条件は、 次のとおりです。

    • 変換サイクルが不要

    • マスタが書き込みデータを ミ ラー化する必要がない

    このよ う な条件によって、 ザイ リ ンクスが開発した PLB デバイスをインプ リ メ ン トする方法を決定できます。 ザイ リ ンクス IP での PLB の使用方法については、 次のセクシ ョ ンで説明します。

    ザイリンクス PLB デバイスでの PLB の使用方法

    ザイ リ ンクスが開発した PLB デバイスを使用する場合、 次のよ うな規則に従います。

    • PLB データ バス幅は 64 ビッ トで、 アドレス バス幅は 32 ビッ ト と します。 ペリ フェラルによってはバス幅をパラ メータ指定できるものもあ り ますが、 現時点では 64 ビッ トのデータ バスのみがサポート されています。 64 ビッ ト よ り も小さいペリ フェラルは、 PLB に接続できます。 この場合、 アドレス マッピングに制約があ り ます。 たとえば、 ベース アドレス A にある32 ビッ トのペリ フェラルは、バイ ト レーン 0 - 4 に接続できますが、 ワード幅のアクセスにはA、 A+8、 A+16 などと指定する必要があ り ます。

    • PLB マスタでは、 ダイナミ ッ ク バス サイジングのサポート を必要と しません。 PLB マスタは、データを未使用のバイ ト レーンにミ ラーリ ングする必要があり ません。 調整さ れた転送のバイ ト レ ーン使用例は、 図 2-1 およ び 図 2-2 を 参照し てく ださ い。 PLB マス タ は、_MSize[0:1] 信号を適正に駆動し なければなり ません。 PLB スレーブは、 PPC405など変換サイ ク ルを生成する PLB マスタに対して _SSize[0:1] 信号を適正に駆動する必要があり ます。

    • すべての PLB スレーブは、 非アクティブのと きに、 ロジッ ク 0 を出力する必要があ り ます。

    • バイ ト イネーブルおよび最下位アドレス ビッ トは、 すべてのマスタによって駆動され、 定数情報を含みます。 調整された転送のバイ ト レーン使用例を、 図 2-1 および 図 2-2 に示します。

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 15プロセッサ IP リファレンス ガイ ド

    ザイリンクス PLB の使用R

    図 2-1 : 調整されたダブルワード、 ワード、 およびハーフワード転送のバイ ト レーン使用

    0:7 0:7 0:7 0:7

    32:3940:4748:5556:63

    8:1516:2324:31

    32:3940:4748:5556:63

    32:3940:4748:5556:63

    32:3940:4748:5556:63

    0:78:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "000",Mn_BE = "11111111"

    0:78:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "000",Mn_BE = "11110000"

    0:78:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "100",Mn_BE = "00001111"

    ダブルワード転送 ワード転送 ワード転送

    マス

    スレー

    マス

    スレー

    マス

    スレー

    32:3940:4748:5556:63

    32:3940:4748:5556:63

    32:3940:4748:5556:63

    8:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "000",Mn_BE = "11000000"

    8:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "010",Mn_BE = "00110000"

    8:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "100",Mn_BE = "00001100"

    データ バス

    Mn_ABus(29:31) = "110",Mn_BE = "00000011"

    ハーフワード転送 ハーフワード転送 ハーフワード転送 ハーフワード転送

    マス

    スレー

    マス

    スレー

    マス

    スレー

    マス

    スレー

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 16プロセッサ IP リファレンス ガイ ド

    ザイリンクス PLB の使用R

    • 連続したアドレス空間 (全バイ ト レーンの使用など) が必要となるすべての PLB スレーブ デバイスでは、 デバイスの幅とは関係なく、 PLB データ幅と同じ幅の PLB バスにアタ ッチメント をインプ リ メン ト します。 このため、 PLB バスで左寄せしたり、 マスタが書き込みデータをミ ラーリ ングする必要がなくな り ます。 たとえば、 64 ビッ ト PLB に割り当てられている連続したバイ ト アドレスに 32 ビッ トのメモ リ デバイスをマッピングする場合を想定します。 この場合、 32 ビッ トのメモ リ デバイスは、 64 ビッ ト幅のアタ ッチメン ト を PLB にインプ リ メ ントする必要があ り ます。 バス アタ ッチメン ト では、 書き込みの場合は適正なバイ ト レーンから 32 ビッ ト デバイスへ、読み出しの場合は 32 ビッ ト デバイスから適正なバイ ト レーンへとデータが送られます。

    • 通常、 すべての PLB スレーブ デバイスのレジスタは、 レジスタ内のデータのサイズまたはペリ フェラルのサイズに関係なく、 ワードの境界 (2 桁の最下位アドレス ビッ トは 00) にあわせます。

    図 2-2 : バイ ト転送のバイ ト レーン使用

    0:7 0:7 0:7 0:7

    32:3940:4748:5556:63

    8:1516:2324:31

    32:3940:4748:5556:63

    32:3940:4748:5556:63

    32:3940:4748:5556:63

    32:3940:4748:5556:63

    0:78:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "000",Mn_BE = "10000000"

    0:78:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "001",Mn_BE = "01000000"

    0:78:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "010",Mn_BE = "00100000"

    0:78:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "011",Mn_BE = "00010000"

    バイ ト転送 バイ ト転送 バイ ト転送 バイ ト転送

    マス

    スレー

    マス

    スレー

    マス

    スレー

    マス

    スレー

    32:3940:4748:5556:63

    32:3940:4748:5556:63

    32:3940:4748:5556:63

    8:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "100",Mn_BE = "00001000"

    8:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "101",Mn_BE = "00000100"

    8:1516:2324:31

    データ バス

    Mn_ABus(29:31) = "110",Mn_BE = "00000010"

    データ バス

    Mn_ABus(29:31) = "111",Mn_BE = "00000001"

    バイ ト転送 バイ ト転送 バイ ト転送 バイ ト転送

    マス

    スレー

    マス

    スレー

    マス

    スレー

    マス

    スレー

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 17プロセッサ IP リファレンス ガイ ド

    ザイリンクス PLB の使用R

    • マスタおよびスレーブ I/O : PLB マスタの場合は、 表 2-1 に示す信号セッ トに従います。 PLBスレーブの場合は、表 2-2 に示す信号セッ トに従います。 表に示すページ数は、 IBM 社の PLBV3.5 仕様に対応しています。 表内のすべての信号が使用されなければなり ません。 これ以外の信号を PLB イ ン ターコネ ク ト に追加してはな り ません。 命名規則は、 次の とお り です。 はマスタの名前または頭文字 (先頭が大文字)、 はスレーブの名前または頭文字 (先頭が大文字)、 は PLB 識別子 (先頭が大文字で後尾は PLB と表記、複数の PLBアタ ッチメン トが付いたマスタまたはスレーブ用) を表します。 PLB アタ ッチメン トが 1 つ付いたデバイ スの場合、 識別子にはデフォル ト で PLB が付いているはずです (例 :PLB_ABus)。 信号名のほかの部分は、 大文字/小文字の区別も含めて、 表に示す表記と全く同じにする必要があ り ます。

    表 2-1 : PLB マスタのみ I/O

    信号 I/O 説明

    ページ番号

    (PLB リファレンス)

    _Clk I PLB ク ロ ッ ク (SYS_plbClk) PLB-11

    _Rst I PLB リセッ ト (SYS_plbReset) PLB-11

    _abort O マスタのアボート バス リ クエス ト インジケータ

    PLB-19

    _ABus[0:31] O マスタのアドレス バス PLB-27

    _BE[0:7] O マスタのバイ ト イネーブル PLB-21

    _busLock O マスタのバスロ ッ ク PLB-13

    _compress O マスタの圧縮データ転送インジケータ PLB-25

    _guarded O マスタの保護された転送インジケータ PLB-26

    _lockErr O マスタのロ ッ ク エラー インジケータ PLB-27

    _MSize[0:1] O マスタのデータ バス サイズ PLB-40

    _ordered O マスタの同期転送インジケータ PLB-26

    _priority[0:1] O マスタのリ クエス ト優先性 PLB-12

    _rdBurst O マスタのバース ト読み出し転送インジケータ

    PLB-34

    _request O マスタ リ クエス ト PLB-12

    _RNW O マスタ読み出し (書き込みなし ) PLB-21

    _size[0:3] O マスタの転送サイズ PLB-24

    _type[0:2] O マスタの転送タイプ PLB-25

    _wrBurst O マスタのバース ト書き込み転送インジケータ

    PLB-29

    _wrDBus[0:63] O マスタの書き込みデータ バス PLB-28

    __Busy I PLB マスタ スレーブ ビジー インジケータ

    PLB-36

    __Err I PLB マスタ スレーブ エラー インジケータ

    PLB-37

    __WrBTerm I PLB マスタの終端書き込みバース ト インジケータ

    PLB-30

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 18プロセッサ IP リファレンス ガイ ド

    ザイリンクス PLB の使用R

    __WrDAck I PLB マスタの書き込みデータ通知 PLB-29

    _AddrAck I PLB マスタのアドレス通知 PLB-18

    _RdBTerm I PLB マスタの終端読み出しバース ト インジケータ

    PLB-36

    _RdDAck I PLB マスタの読み出しデータ通知 PLB-33

    _RdDBus[0:63] I PLB マスタの読み出しデータ バス PLB-31

    _RdWdAddr[0:3] I PLB マスタの読み出しワード アドレス

    PLB-32

    _Rearbitrate I PLB マスタのバス再アービ ト レーシ ョ ン インジケータ

    PLB-19

    _SSize[0:1] I PLB スレーブのデータ バス サイズ PLB-40

    表 2-2 : PLB スレーブのみ I/O

    信号 I/O 説明

    ページ番号

    (PLB リファレンス)

    _Clk I PLB ク ロ ッ ク (SYS_plbClk) PLB-11

    _Reset I PLB リセッ ト (SYS_plbReset) PLB-11

    _addrAck O スレーブのアドレス通知 PLB-18

    _MBusy[0:3] O スレーブのビジー インジケータ PLB-36

    _MErr[0:3] O スレーブのエラー インジケータ PLB-37

    _rdBTerm O スレーブの終端読み出しバース ト転送 PLB-36

    _rdComp O スレーブの読み出し転送完了インジケータ PLB-34

    _rdDAck O スレーブの読み出しデータ通知 PLB-33

    _rdDBus[0:63] O スレーブの読み出しデータ バス PLB-31

    _rdWdAddr[0:3] O スレーブの読み出しワード アドレス PLB-32

    _rearbitrate O スレーブの再アービ ト レーシ ョ ン バス インジケータ

    PLB-19

    _SSize[0:1] O スレーブのデータ バス サイズ PLB-40

    _wait O スレーブの待機インジケータ PLB-18

    _wrBTerm O スレーブの終端書き込みバース ト転送 PLB-30

    _wrComp O スレーブの書き込み転送完了インジケータ PLB-29

    _wrDAck O スレーブの書き込みデータ通知 PLB-29

    _abort I PLB アボート リ クエス ト インジケータ PLB-19

    _ABus[0:31] I PLB アドレス バス PLB-27

    _BE[0:7] I PLB バイ ト イネーブル PLB-21

    _busLock I PLB バスロ ッ ク PLB-13

    表 2-1 : PLB マスタのみ I/O (続き)

    信号 I/O 説明

    ページ番号

    (PLB リファレンス)

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 19プロセッサ IP リファレンス ガイ ド

    PLB 比較R

    PLB 比較表 2-3 は、ザイ リ ンクス FPGA で使用される主要なエンベデッ ド プロセッサ バス アーキテクチャとその特性を示します。 データ転送レート、 複数マスタ機能、 データ バース ト などの機能は、 バスによって異な り ます。 どのバスを使用するかは、 使用しているプロセッサ、 アプ リ ケーシ ョ ンで求められるデータの帯域幅、 使用できるペリ フェラルの数によって決ま り ます。 PLB は、 多くのデザインで効果的に使用できる高性能ローカル バスです。

    PLB ñ プロセッサ ローカル バス (IBM) : PLB のリ ファレンス

    OCM - オンチップ ペリ フェラル バス (IBM) : OPB のリ ファレンス

    OCM - オンチップ メモ リ インターフェイス (IBM) : OCM のリ ファレンス

    DCR - デバイス コン ト ロール レジスタ バス (IBM) : DCR のリ ファレンス

    _compress I PLB 圧縮データ転送インジケータ PLB-25

    _guarded I PLB 保護された転送インジケータ PLB-26

    _lockErr I PLB ロ ッ ク エラー インジケータ PLB-27

    _masterID[0:1] I PLB 使用中マスタ インジケータ PLB-20

    _MSize[0:1] I PLB マスタのデータ バス サイズ PLB-40

    _ordered I PLB 同期転送インジケータ PLB-26

    _PAValid I PLB プライマ リ アドレス有効インジケータ PLB-13

    _pendPri[0:1] I PLB 保留リ クエス トの優先性 PLB-20

    _pendReq I PLB 保留バス リ クエス ト インジケータ PLB-20

    _rdBurst I PLB バース ト読み出し転送インジケータ PLB-34

    _rdPrim I PLB セカンダ リ ñ プライマ リ間読み出し リクエス ト インジケータ

    PLB-36

    _reqPri[0:1] I PLB 使用中リ クエス トの優先性 PLB-20

    _RNW I PLB 読み出し (書き込みではない) PLB-21

    _SAValid I PLB セカンダ リ アドレス有効インジケータ PLB-16

    _size[0:3] I PLB 転送サイズ PLB-24

    _type[0:2] I PLB 転送タイプ PLB-25

    _wrBurst I PLB バース ト書き込み転送インジケータ PLB-29

    _wrDBus[0:63] I PLB 書き込みデータ バス PLB-28

    _wrPrim I PLB セカンダ リ ñ プライマ リ間書き込みリクエス ト インジケータ

    PLB-31

    表 2-2 : PLB スレーブのみ I/O (続き)

    信号 I/O 説明

    ページ番号

    (PLB リファレンス)

    http://www.xilinx.co.jphttp://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/8BA965C773B2E0ED87256AB20082CC9F/$file/64bitPlbBus.pdfhttp://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/9A7AFA74DAD200D087256AB30005F0C8/$file/OpbBus.pdfhttp://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/D060DB54BD4DC4F2872569D2004A30D6/$file/405_um.pdfhttp://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/EA0DB87B2BB3702587256AB30006DD12/$file/DcrBus.pdf

  • 2004 年 1 月 www.xilinx.co.jp 20プロセッサ IP リファレンス ガイ ド

    PLB 比較R

    メモ :

    1. こ こに示す最大クロ ッ ク レートは、単なる比較のための概算です。 実際の最大クロ ッ ク レートは、デバイス ファ ミ リ、デバイスのスピード グレード、 デザインの複雑性などの要素によってバスごとに決ま り ます。

    2. 最大値は、 コアで指定された最大許容パラ メータ値によって設定されます。 実際のバス仕様は、 この値に限り ません。

    3. ピーク時のデータ レートは、 各バスのクロッ ク レートでの理論的な最大データ転送レートです。

    4. 通常のデータ レートは、 実際のシステム コンフ ィギュレーシ ョ ンを表すデータ レート を示します。 通常のデータは、 主にアプリ ケーシ ョ ン ソフ ト ウェアやシステム ハード ウェア コンフ ィギュレーシ ョ ンによって決ま り ます。

    5. プライマ リのキャ ッシュライン フ ィル、 最小同時読み出し /書き込み (バス使用率は 66.7%) を想定。

    6. シーケンシャル アドレス機能と、 OPB 転送ごとに 3 ク ロ ッ ク サイクルを最低使用するこ とを想定。

    7. OCM コン ト ローラは PPC405 ク ロ ッ ク レートで動作しますが、データ転送レートにはオンチップ メモ リのアクセス時間によって制限があ り ます。 通常のデータ レートでは、 バス使用率を 66.7% と想定します。

    8. バス使用率を 66.7% と想定。

    表 2-3 : ザイリンクスのエンベデッ ド プロセッサ システムで使用されるバスの比較

    機能

    CoreConnect バス その他のバス

    PLB OPB DCR OCM LMB

    プロセッサ ファ ミ リ PPC405 PPC405、MicroBlaze

    PPC405 PPC405 MicroBlaze

    データ バス幅 64 32 32 32 32

    アドレス バス幅 32 32 10 32 32

    ク ロ ッ ク レート、 MHz (最大)1 100 125 125 375 125

    マスタ (最大) 16 16 1 1 1

    マスタ (通常) 2-8 2-8 1 1 1

    スレーブ (最大)2 16 16 16 1 1

    スレーブ (通常) 2-6 2-8 1-8 1 1

    データ レート (MB/秒、 ピーク時)3 1600 500 500 500 500

    データ レート (MB/秒、 通常)4 5335 1676 1009 3337 3338

    同時読み出し /書き込み あ り なし なし なし なし

    アドレスのパイプライン処理 あ り なし なし なし なし

    バスロッ ク あ り あ り なし なし なし

    リ ト ラ イ あ り あ り なし なし なし

    タイムアウ ト あ り あ り なし なし なし

    固定バース ト あ り なし なし なし なし

    可変バース ト あ り なし なし なし なし

    キャ ッシュ フ ィル あ り なし なし なし なし

    ターゲッ ト ワードが最初 あ り なし なし なし なし

    FPGA リ ソース使用率 高 中 低 低 低

    コンパイラでのロード /ス ト アのサポート

    あ り あ り なし あ り あ り

    http://www.xilinx.co.jp

  • 2004 年 1 月 www.xilinx.co.jp 21プロセッサ IP リファレンス ガイ ド

    マニュアルの改訂履歴R

    9. DCR は PLB と同じ ク ロ ッ ク レートで動作し、 各 DCR は 5 ク ロ ッ ク サイクルごとにアクセスする と想定します。 DCR転送ごとにク ロ ッ ク サイ クル数は、 システム内の DCR デバイス数によって決ま り ます。 DCR デバイスを追加するごとに、 すべての DCR 転送にレイテンシが追加されます。

    マニュアルの改訂履歴

    日付 バージョ ン情報の表示 改訂内容

    5/8/02 1.0 初期バージ ョ ン

    http://www.xilinx.co.jp

  • January 2004 www.xilinx.com 21Processor IP Reference Guide 1-800-255-7778

    R

    Chapter 3

    Processor Cores

    This section of the Processor IP Reference Guide includes the following topics:

    • MicroBlaze v2.10a

    • PPC405 (Wrapper)

    http://www.xilinx.com

  • Product Overview www.xilinx.com 221-800-255-7778

    © 2004 Xilinx, Inc. All rights reserved. All Xilinx trademarks, registered trademarks, patents, and further disclaimers are as listed at http://www.xilinx.com/legal.htm. All other trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.

    NOTICE OF DISCLAIMER: Xilinx is providing this design, code, or information "as is." By providing the design, code, or information as one possible implementation of this fea-ture, application, or standard, Xilinx makes no representation that this implementation is free from any claims of infringement. You are responsible for obtaining any rights you may require for your implementation. Xilinx expressly disclaims any warranty whatsoever with respect to the adequacy of the implementation, including but not limited to any war-ranties or representations that this implementation is free from claims of infringement and any implied warranties of merchantability or fitness for a particular purpose.

    IntroductionThe MicroBlaze 32-bit RISC soft processor is a true 32-bitprocessor that supports 32-bit bus widths. The core is aRISC-based engine with a 32-bit LUT RAM-based registerfile with separate instructions for data and memory access.The MicroBlaze processor supports both on-chipBlock-RAM and/or external memory. All peripherals use thesame CoreConnect OPB bus as the IBM PowerPC, makingthe processor peripherals compatible with PowerPC on Vir-tex-II Pro devices.

    Features• Thirty-two 32-bit general-purpose registers

    • 32-bit instruction word with three operands and two addressing modes

    • Separate 32-bit instruction and data buses that conform to IBM’s OPB (On-chip Peripheral Bus) specification

    • Separate 32-bit instruction and data buses with direct connection to on-chip block RAM through a LMB (Local Memory Bus)

    • 32-bit address bus

    • Single issue pipeline

    • Instruction and data cache

    • Hardware debug logic

    • FSL (Fast Simplex Link) support

    • Hardware multiplier (in Virtex-II and subsequent devices)

    0

    MicroBlaze

    View this data sheet 0 0 Product Overview

    LogiCORE™ Facts

    Core Specifics

    Supported Device Family

    Virtex-II Pro™, Virtex-II™, Spartan™-II, Spartan™-IIE

    Version microblaze v2.10a

    Resources Used

    Min Max

    Slices 731 N/A

    LUTs 923 TBD

    FFs 552 TBD

    Block RAMs 0 0

    Provided with Core

    Documentation View this data sheet

    Design File Formats VHDL

    Constraints File N/A

    Verification N/A

    Instantiation Template N/A

    Reference Designs N/A

    Design Tool Requirements

    Xilinx Implementation Tools

    ISE 6.2i or higher

    Verification N/A

    Simulation ModelSim SE/EE 5.6e or higher

    Synthesis XST

    Support

    Provided by Xilinx, Inc.

    http://www.xilinx.comhttp:www.xilinx.com/legal.htmhttp://www.xilinx.com/legal.htmhttp://www.xilinx.com/legal.htm

  • Product Overview www.xilinx.com 231-800-255-7778

    © 2004 Xilinx, Inc. All rights reserved. All Xilinx trademarks, registered trademarks, patents, and further disclaimers are as listed at http://www.xilinx.com/legal.htm. All other trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.

    NOTICE OF DISCLAIMER: Xilinx is providing this design, code, or information "as is." By providing the design, code, or information as one possible implementation of this fea-ture, application, or standard, Xilinx makes no representation that this implementation is free from any claims of infringement. You are responsible for obtaining any rights you may require for your implementation. Xilinx expressly disclaims any warranty whatsoever with respect to the adequacy of the implementation, including but not limited to any war-ranties or representations that this implementation is free from claims of infringement and any implied warranties of merchantability or fitness for a particular purpose.

    IntroductionThe PPC405 Wrapper is designed to instantiate a proces-sor block and to be used with used with Platform Generatorto perform simple logical operations. A MicroprocessorPeripheral Definition (MPD) file associated with this moduleis also included. Users can utilize Xilinx Platform Studio(XPS) to incorporate this module into Microprocessor Hard-ware Specification (MHS).

    Features• Instantiate PowerPC405 Processor Block primitive

    • Parameter controlled TIE ports

    • Parameter controlled DCR interface resynchronization

    0

    PPC405 (Wrapper)

    View this data sheet 0 0 Product Overview

    LogiCORE™ Facts

    Core Specifics

    Supported Device Family

    Virtex-II Pro™

    Version ppc405 v2.00c

    Resources Used

    Min Max

    Slices N/A N/A

    LUTs 0 0

    FFs 0 77

    Block RAMs 0 0

    Provided with Core

    Documentation View this data sheet

    Design File Formats VHDL

    Constraints File N/A

    Verification N/A

    Instantiation Template N/A

    Reference Designs N/A

    Design Tool Requirements

    Xilinx Implementation Tools

    ISE 6.2i or higher

    Verification N/A

    Simulation ModelSim SE/EE 5.6e or higher

    Synthesis XST

    Support

    Provided by Xilinx, Inc.

    http://www.xilinx.comhttp:www.xilinx.com/legal.htmhttp://www.xilinx.com/legal.htmhttp://www.xilinx.com/legal.htm

  • January 2004 www.xilinx.com 24Processor IP Reference Guide 1-800-255-7778

    R

    Chapter 4

    Bus, Bridge, and Arbiter Infrastructure Cores

    This section of the Processor IP Reference Guide includes the following topics:

    • On-Chip Peripheral Bus v2.0 with OPB Arbiter (v1.10a)

    • OPB PCI Arbiter

    • OPB to PLB Bridge (v1.00a)

    • OPB to PLB Bridge (v1.00b)

    • OPB to PLB Bridge (v1.00c)

    • OPB to OPB Bridge (Lite Version)

    • OPB to DCR Bridge Specification

    • Processor Local Bus (PLB) v3.4

    • PLB to OPB Bridge (v1.00a)

    • PLB to OPB Bridge (v1.00b)

    • Device Control Register Bus (DCR) v2.9

    • Processor System Reset Module

    • Local Memory Bus (LMB) v1.0

    • OPB Arbiter (v1.02c)

    • Fast Simplex Link Channel v1.1

    • PPC405 TOP (Wrapper)

    • Digital Clock Manager (DCM) Module

    http://www.xilinx.com

  • Product Overview www.xilinx.com 251-800-255-7778

    © 2004 Xilinx, Inc. All rights reserved. All Xilinx trademarks, registered trademarks, patents, and further disclaimers are as listed at http://www.xilinx.com/legal.htm. All other trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.

    NOTICE OF DISCLAIMER: Xilinx is providing this design, code, or information "as is." By providing the design, code, or information as one possible implementation of this feature, application, or standard, Xilinx makes no representation that this implementation is free from any claims of infringement. You are responsible for obtaining any rights you may require for your implementation. Xilinx expressly disclaims any warranty whatsoever with respect to the adequacy of the implementation, including but not limited to any warranties or representations that this implementation is free from claims of infringement and any implied warranties of merchantability or fitness for a particular purpose.

    IntroductionThe OPB_V20 module is used as the OPB interconnect forXilinx FPGA based embedded processor systems. The businterconnect in the OPB v2.0 specification is a distributedmultiplexer implemented as an AND function in the masteror slave driving the bus, and as an OR function to combinethe drivers into a single bus.

    The OPB_V20 module assumes the AND (or enable func-tion) is within the master or slave and provides the OR func-tion to combine the various bus signals.

    Features• Includes parameterized OPB Arbiter

    • Includes parameterized I/O signals to support andnumber of masters or slaves

    • Includes all signals present in the OPB v2.0Specification except the DMA handshake signals

    • The OR structure can be implemented using only LUTsor a combination of LUTs and fast carry to reduce thenumber of LUTs in the OR interconnect

    • Includes a 16-clock Power-on OPB Bus Reset andparameter for high or low external bus reset

    • Includes input for reset from Watchdog Timer

    • Option to split the read and write OPB date busses foroptimal FPGA routing and resource utilization.

    The OPB_V20 includes an OPB Arbiter that incorporatesthe features contained in the IBM On-chip Peripheral BusArbiter Core manual (version 1.5) for 32-bit implementation.This manual is referenced throughout this document and isconsidered the authoritative specification. Any differencesbetween the IBM OPB Arbiter implementation and the XilinxOPB Arbiter implementation are explained in the Specifica-tion Exceptions section of this data sheet.

    The Xilinx OPB Arbiter design allows tailoring the OPB Arbi-ter to suit an application by setting certain parameters toenable/disable features.

    In some cases, setting these parameters may cause the Xil-inx OPB Arbiter design to deviate slightly from the IBM OPBArbiter specification. These parameters are described in theOPB_V20 Design Parameters section of this data sheet..

    0

    On-Chip Peripheral Bus v2.0 with OPB Arbiter (v1.10a)

    View this data sheet 0 0 Product Overview

    LogiCORE™ Facts

    Core Specifics

    Supported Device Family

    Virtex-II Pro™, Virtex-II™, Virtex, Virtex™-E, Spartan™II

    Version of Core opb_v20 v1.10a

    Resources Used

    Min Max

    I/O 46 432

    LUTs 80 666

    FFs 5 145

    Block RAMs 0 0

    Provided with Core

    Documentation View this data sheet

    Design File Formats VHDL

    Constraints File N/A

    Verification N/A

    Instantiation Template

    N/A

    Reference Designs None

    Design Tool Requirements

    Xilinx Implementation Tools

    5.1i or later

    Verification N/A

    Simulation ModelSim SE/EE 5.6e or later

    Synthesis XST

    Support

    Provided by Xilinx, Inc.

    http://www.xilinx.comhttp:www.xilinx.com/legal.htmhttp://www.xilinx.com/legal.htmhttp://www.xilinx.com/legal.htm

  • Product Overview www.xilinx.com 261-800-255-7778

    © 2004 Xilinx, Inc. All rights reserved. All Xilinx trademarks, registered trademarks, patents, and further disclaimers are as listed at http://www.xilinx.com/legal.htm. All other trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.

    NOTICE OF DISCLAIMER: Xilinx is providing this design, code, or information "as is." By providing the design, code, or information as one possible implementation of this feature, application, or standard, Xilinx makes no representation that this implementation is free from any claims of infringement. You are responsible for obtaining any rights you may require for your implementation. Xilinx expressly disclaims any warranty whatsoever with respect to the adequacy of the implementation, including but not limited to any warranties or representations that this implementation is free from claims of infringement and any implied warranties of merchantability or fitness for a particular purpose.

    IntroductionThe OPB_V20 module is used as the OPB interconnect forXilinx FPGA based embedded processor systems. The businterconnect in the OPB v2.0 specification is a distributedmultiplexer implemented as an AND function in the masteror slave driving the bus, and as an OR function to combinethe drivers into a single bus.

    The OPB_V20 module assumes the AND (enable function)is within the master or slave and provides the OR function tocombine the various bus signals.

    Features• Includes parameterized OPB Arbiter

    • Includes parameterized I/O signals to support andnumber of masters or slaves

    • Includes all signals present in the OPB v2.0Specification except the DMA handshake signals

    • The OR structure can be implemented using only LUTsor a combination of LUTs and fast carry to reduce thenumber of LUTs in the OR interconnect

    • Includes a 16-clock Power-on OPB Bus Reset andparameter for high or low external bus reset

    • Includes input for reset from Watchdog Timer

    • Option to split the read and write OPB date busses foroptimal FPGA routing and resource utilization.

    The OPB_V20 includes an OPB Arbiter that incorporatesthe features contained in the IBM On-chip Peripheral BusArbiter Core manual (version 1.5) for 32-bit implementation.This manual is referenced throughout this document and isconsidered the authoritative specification. Any differencesbetween the IBM OPB Arbiter implementation and the XilinxOPB Arbiter implementation are explained in the Specifica-tion Exceptions section of this data sheet.

    The Xilinx OPB Arbiter design allows tailoring the OPB Arbi-ter to suit an application by setting certain parameters toenable/disable features.

    In some cases, setting these parameters may cause the Xil-inx OPB Arbiter design to deviate slightly from the IBM OPBArbiter specification. These parameters are described in theOPB_V20 Design Parameters section of this data sheet.

    0

    On-Chip Peripheral Bus v2.0 with OPB Arbiter (v1.10b)

    View this data sheet 0 0 Product Overview

    LogiCORE™ Facts

    Core Specifics

    Supported Device Family

    Virtex-II Pro™, Virtex-II™, Virtex™, Virtex™-E, Spartan™-II

    Version of Core opb_v20 v1.10b

    Resources Used

    Min Max

    Slices 46 436

    LUTs 81 668

    FFs 5 145

    Block RAMs 0 0

    Provided with Core

    Documentation View this data sheet

    Design File Formats VHDL

    Constraints File N/A

    Verification N/A

    Instantiation Template

    N/A

    Reference Designs None

    Design Tool Requirements

    Xilinx Implementation Tools

    5.1i or later

    Verification N/A

    Simulation ModelSim SE/EE 5.6e or later

    Synthesis XST

    Support

    Provided by Xilinx, Inc.

    http://www.xilinx.comhttp:www.xilinx.com/legal.htmhttp://www.xilinx.com/legal.htmhttp://www.xilinx.com/legal.htm

  • View this data sheet www.xilinx.com 27Product Overview 1-800-255-7778

    © 2004 Xilinx, Inc. All rights reserved. All Xilinx trademarks, registered trademarks, patents, and further disclaimers are as listed at http://www.xilinx.com/legal.htm. All other trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.

    NOTICE OF DISCLAIMER: Xilinx is providing this design, code, or information "as is." By providing the design, code, or information as one possible implementation of this fea-ture, application, or standard, Xilinx makes no representation that this implementation is free from any claims of infringement. You are responsible for obtaining any rights you may require for your implementation. Xilinx expressly disclaims any warranty whatsoever with respect to the adequacy of the implementation, including but not limited to any war-ranties or representations that this implementation is free from claims of infringeme