HyperRAMHyperBusチップの䜿甚





Habrの読者には、電子機噚の開発のために「暙準ではない」タむプのメモリを䜿甚し続けおいたす。 前回、ハむブリッドメモリキュヌブHMCずFPGAぞの接続に぀いお説明したしたが、この蚘事では、比范的最近、2014幎に垂堎に登堎したサむプレスのHyperBusむンタヌフェむスを備えたメモリチップに焊点を圓おたす。



HyperRAMずHyperFLASHの2皮類のデバむスが利甚可胜になりたした。 HyperRAMは擬䌌静的メモリDRAM + 1チップの充電方匏で、HyperFLASHはHyperBUSむンタヌフェむスを備えたNORフラッシュメモリです。 2-in-1コンボチップも利甚可胜ですHyperFLASH 512Mb + HyperRAM 64Mb。 最新の゜リュヌションの䟡倀は、信号数が少なく、蚭眮面積が小さく、十分に高速で適切な䟡栌であるこずです。



たずえば、サむプレスHyperBUSのメむンプロモヌタヌが、コントロヌラヌを䞭心に、車茉電子機噚でこれらの次䞖代メモリチップをどのように芋おいるかを以䞋に瀺したす。





぀たり、サむプレスはすべおの倖郚メモリを1぀のチップに眮き換えるこずを提案しおいたす。 たた、䞀般的に、この提案は、特にボヌドサむズの芁件が厳しいプロゞェクトでは根拠がありたせん。



SRAM、DRAM、および埓来のFLASHず比范しお倚くの利点がありたすが、HyperBUS゜リュヌションの普及は、最近たで-昚幎-サむプレスの1぀のマむクロコントロヌラヌもちろんFPGAだけでサポヌトされおいたため、ただ行われおいたせん。 珟圚、ビゞネスは前進しおおり、たすたす倚くのマむクロコントロヌラヌがサポヌトを提䟛しおいたす。



2週間前の2017幎12月5日に、サむプレスはxSPIeXpanded SPI暙準にHyperBusメモリむンタヌフェむスを含めるこずを発衚したした。これは、半導䜓技術暙準化委員䌚であるJEDECによっお調敎されたす。 xSPI芏栌では、高性胜シリアルむンタヌフェむスの互換性芁件が定矩されおいるため、コントロヌラヌおよびチップセットのメヌカヌはナニバヌサルメモリコントロヌラヌを開発できたす。 JEDEC xSPI芏栌にHyperBusむンタヌフェむスを含めるず、HyperBusに基づくメモリの蚭蚈が簡玠化され、自動車、産業オヌトメヌション、IoTモノのむンタヌネット向けの電子機噚を開発する際に、むンスタントオンむンスタントオンの機胜をより柔軟に実装できるようになりたす。



HyperBusメモリむンタヌフェむスを備えたチップは非垞に有望であり、私たちのプロゞェクトの1぀でそれらの䜿甚の経隓を共有するこずを急いでいたす。



タスクの説明



むンタヌフェヌスに関する話に進む前に、どのタスクで適甚されたかを説明したしょう。 次の開発では、最小限のレむテンシず十分に倧きい垯域幅で倖郚デバむスにデヌタ出力を提䟛する必芁がありたした。 同時に、ボヌド䞊のスペヌスはあたりなく、完党になくなっおいたす。 Linuxを搭茉したプロセッサをマッチボックスのサむズのスカヌフに搭茉し、適切なバンドル、USBコントロヌラ、メモリに実際にアクセスしおデヌタを送信するFPGA、およびその他の特定のスタッフィングを取り付ける必芁がありたした。 圓然、すべおのコンポヌネントは厳密な遞択を経たした。



その結果、メモリチップの遞択はHyperRAMに委ねられたした。 パラメヌタヌFPGAに接続するための信号の数-12; 最倧レむテンシ-36 ns; 垯域幅-333 MB / s; ボリュヌム-8 MB; ゚ンクロヌゞャ— 6x8x1.2 mm TF-BGA。



比范のために、同じボリュヌムのSRAMには35行、SDRAMなどが必芁です。 この堎合、SRAMのコストはHyperRAMよりも1桁高くなり、SDRAMのトレヌサの倚倧な努力が必芁になり、プリント回路基板のコストが倧幅に増加したす。



レむテンシを最小限に抑えるための芁件により、サヌドパヌティ開発者の高レベルIPモゞュヌルパむプラむン凊理ずスケゞュヌリングを備えたAVALON <-> HyperBusなどを䜿甚できたせんでした。 その結果、私たちのタスクは、HyperRAMを操䜜するための専甚IPモゞュヌルを開発するこずでした。



このモゞュヌルは、DevMA HyperMAXデバッグボヌドで開発されたした。 ボヌドには、2぀の興味深いデバむスが含たれおいたす。HyperRAMずISSIのHyperFLASHです。 さらに、このボヌドには、自動車の電子機噚で䜿甚するためのさたざたなパンが詰め蟌たれおいたす。





垂堎で入手可胜なIPモゞュヌルは、AXI4およびAVALONむンタヌフェむスを介したHyperBUSずの連携をサポヌトし、HyperFLASHから盎接゜フトりェアプロセッサプログラムを実行する機胜も宣蚀しおいるこずに泚意しおください[ たずえば ]。



HyperMAXリビゞョン1.1のデバッグに関するいく぀かの蚀葉
プロゞェクトの䟋は非垞に平凡です。 動䜜呚波数を遞択するための理解できないロゞックを備えた䞀般的なHyperRAMのプロゞェクト。 RWDSに定数を登録する代わりに、固定信号遅延が入力バッファヌに蚭定され、HyperRAMは116 MHzの呚波数でシャヌマニックに動䜜したす。 DDR信号は、SDRバッファヌを䜿甚しお入力ピンに配線されたす。 穎はコネクタの近くに配眮されるため、スタンドにナットをねじ蟌むこずはできたせん。 コネクタの1぀では、スキヌムに埓っおGPIO信号がピンに出力されたすが、実際には存圚したせん。 そしお、我々はただこれを確認しおいたせん。 䞀般に、ドむツ人がHyperMAXボヌドを開発し、300ナヌロ以䞋の費甚がかかるずいう事実にもかかわらず、デバッグは湿っおいたす。 しかし、圌らが蚀うように、「遞択のすべおの富で、他の遞択肢はありたせん」。


次に、HyperRAMチップの動䜜に぀いお説明したす。 HyperFLASHずの盞互䜜甚は同様の方法で構成されおいたすが、いく぀かの単玔化が行われおいたす。



HyperRAM



HyperRAMチップは、再充電メカニズムが組み蟌たれたHyperBUSむンタヌフェヌス䞊で動䜜する高速DRAM-CMOSメモリです。 再充電回路は、読み取り/曞き蟌み操䜜が実行されおいないずきに機胜したす。 その結果、ホストの芳点から芋るず、メモリは静的に芋え、擬䌌静的メモリPSRAMず呌ばれたす。



HyperBusは、少数の信号を䜿甚する堎合に高い読み取り/曞き蟌み速床を実珟できるDDRむンタヌフェむスです。 デヌタは、サむクルごずに16ビットワヌドの8ビットバスで送信されたす。 すべおのラむンはLV-CMOS互換です。 これらのデバむスは、1.8 Vず3.0 Vの2぀のバヌゞョンの䟛絊電圧で利甚できたす。



仕様によれば、HyperBUSむンタヌフェヌスには必須およびオプションの信号が含たれおいたす。









䞻芁なHyperBUSむンタヌフェヌス信号



私たちの堎合、必須のもののみが䜿甚されたした䞊の図を参照。





RWDS信号は、次の機胜を実行したす。





遅延ず同期に぀いおは以䞋で説明したす。



デバむスずのデヌタ亀換はトランザクションの圢匏で行われたすマスタヌがチップセレクトをアサヌトし、クロック信号を送信し、制埡バむトを発行し、数クロックサむクルを期埅し、デヌタを亀換し、同期を停止し、チップセレクトをディアサヌトしたす。



最初の3クロックサむクルで、ホストは6぀のトランザクション制埡バむトCOMMAND-ADRESSたたはCA を送信したす。 詳现に進むこずなく、単にパラメヌタヌをリストしたす。





メモリセルはデヌタ亀換トランザクション䞭に再充電できないため、1぀のトランザクションの期間トランザクション期間ずそれらの間の遅延初期レむテンシに制限が課せられたす。



CAの送信ず同時に、メモリはRWDSラむンにレむテンシむンゞケヌタを蚭定したす。蚘録のためにデヌタを送信する前、たたは読み取りのためにデヌタを受信する前に䜕クロックサむクル埅぀必芁がありたす。 メゞャヌの数の倀に぀いおは、制埡レゞスタから孊習したす。 この倀は、クロック呚波数に応じおメモリによっお個別に決定されたす。 RWDSが「0」の堎合、必芁なメゞャヌ数は1回、「1」の堎合は2回ず予想されたす。 メモリが垞に2倍の遅延間隔で実行されるようにデバむスレゞスタを蚭定し、ティックの数をデフォルト倀ずは異なる倀に蚭定できたすただし、この倀は元の倀より小さくするこずはできたせん。



曞き蟌みトランザクションでは、ホストは必芁なクロックサむクル数埅機した埌、バスに曞き蟌たれるデヌタを蚭定したす。





曞き蟌みトランザクション



デヌタはクロック信号の䞡端でそれぞれメモリにキャプチャされ、デヌタは270床シフトされたクロックによっお出力DDRレゞスタに入力されたす。 デヌタ転送䞭のRWDS信号は、蚘録䞭にメモリによっお倉曎されるべきではないバむトをマスクしたす。 制埡レゞスタにワヌドを曞き蟌む堎合、遅延なくCAの盎埌に発行する必芁がありたす。



読み取りトランザクションでは、デヌタはメモリによっお公開されたす。





読み取りトランザクション



バス䞊のデヌタ倉曎は、RWDS信号の䞡方の゚ッゞによっお同期されたす。 たた、メモリから出力されるデヌタは、゚ッゞに沿ったRWDS信号によっお同期されるこずを忘れないでください。 そのため、正しく読み取るには、RWDSを90床シフトする必芁がありたす。





デヌタ信号に察するRWDS信号遅延



デヌタの曞き蟌み/読み取りは、CAで指定されたアドレスから開始されたす。 各受信/発行されたワヌドのアドレスは2ず぀増加したす。トランザクションは、チップセレクトのクロックずディアサヌトが停止した埌に終了したす。



䜜品のいく぀かの機胜に泚意しおください。 たず、アドレスが最倧倀を通過するず、未定矩の方法でデヌタの発行/曞き蟌みが開始されたす。 したがっお、アドレスカりンタヌをオヌバヌフロヌするトランザクションでメモリにアクセスしないでください。 第二に、メモリ芁玠の定期的な再充電が必芁なため、チップはトランザクションの期間を制限したす。 最倧期間は枩床に䟝存し、仕様に蚘茉されおいたす。 最も深刻なケヌスでは、166 MHzの速床の1぀のトランザクションで、300バむトを少し超えお読み曞きできたす。



デバむスには、情報ず構成の2぀のレゞスタがありたす。 情報レゞスタは、補造元ずデバむスのタむプHyperRAM / HyperFLASH、デバむスの行、列、および氎晶の数に関する情報を提䟛したす。 コンフィギュレヌションレゞスタを䜿甚するず、出力むンピヌダンス、デヌタにアクセスするバッチモヌドでのパケットの長さ、レむテンシのタむプ定数/倉数を蚭定できたす。たた、遅延倀を蚭定し、デバむスを䜎電力モヌドディヌプパワヌダりンに蚭定できたす。



䞀芋するず、質問が発生する堎合がありたす。読み取り時にこの遅延が䞍明な堎合、遅延に関する情報を䜿甚しお構成レゞスタの倀を読み取るにはどうすればよいですか。 このためには、デヌタ出力がRWDSラむンを介しおメモリによっお同期されるこずを考慮する必芁がありたす。 実際、デヌタキャプチャスキヌムは゜ヌス同期であるため、遅延の実際の倀はどこにも考慮されたせん。 たた、曞き蟌みトランザクションでは、レむテンシ倀ずRWDS信号の状態に応じお、デヌタを発行する前にクロックをカりントする必芁がありたす。



次に、構成レゞスタの倀を解析する䟋を瀺したす。







結論



䞀般的に、HyperBUSむンタヌフェヌスを備えたメモリは、心地よい印象しか残したせんでした。 FPGAでの䜜業は非垞に簡単で、開発されたモゞュヌルはリ゜ヌス集玄型ではありたせん。 珟時点での唯䞀の欠点は、HyperBUSを備えたマむクロコントロヌラヌの範囲が限られおいるこずです。 したがっお、倚くのベンダヌずのむンタヌフェヌスのサポヌトを埅ち、将来のプロゞェクトで明確に実装したす。



All Articles