はじめに
こんにちは。メモリって奥が深いと日々感じているトットです。
前回は、 DDR3 - SDRAM の動作については理解しました。
今回は、 DDR3 - SDRAM と FPGA はどのようにインタフェースをとっているのだろうと疑問に思ったので調べてみることにしました。
そこでまず先輩エンジニアの頭領先輩に聞いてみることにしました。
私 : 『 FPGA と DDR3 - SDRAM はどのように FPGA とインタフェースを取っているのですか ? 』
頭領先輩 : 『 じゃ、まず MegaWizard Plug- In Manager でメモリインタフェース作ってみ !! 』
私 : 『 ・・・・・。 』
そこでまず先輩エンジニアの頭領先輩に聞いてみることにしました。
とりあえず、言われた通りメモリインタフェースを生成してみることにしました。
メモリインタフェースを生成していると・・・
以下の画面で疑問が生まれました。
それは、メモリインタフェースが UniPHY と ALTMEMPHY の 2 種類あることです。
そこでまず先輩エンジニアの頭領先輩に聞いてみることにしました。
私 : 『 UniPHY と ALTMEMPHY ってどちらを選べばいいんですか? 』
頭領先輩 : 『 デバイスは何使ってるの? 』
私 : 『 Cyclone ® V です。 』
頭領先輩 : 『 じゃ、UniPHY だね。 』
UniPHY がなんなのか分からないまま何とか、メモリインタフェースを生成することができました
メモリインタフェース概要
私 : 『 コントローラはメモリを制御するものだとして、 UniPHY ってなんだ ? そもそも PHY ってなんだ ? 』 と思い調べてみました。
PHY ってなんだ?
下記イメージ図のようにコントローラに接続されたメモリや USB 、インターネットケーブルなどから最初に電気信号を受け取る部分のことです。
PHY チップは USB などから物理的に最初に電気信号を受け取り、電気信号をディジタルデータ (1 , 0 ) に変換しています。(ディジタルデータを電気信号に変換することも行います。)
アルテラの FPGA では FPGA 内で PHY を内蔵していて、メモリ ( このコラムでは DDR3 ) の電気的信号を最初に受け取る部分が UniPHY 、 ALTMEMPHY ということか!と納得しました。
今回のまとめ
・PHY とは、メモリ、 USB 、インターネットケーブルなどから最初に電気信号を受け取る部分のこと。
・PHY は、電気信号をディジタルデータ ( 1 , 0 ) へ、ディジタルデータ ( 1 , 0 ) を電気信号へ変換している。