私は実際に私のFPGAで実装したMicroBlazeマイクロコントローラシステムを勉強しています。しかし、私はこのMCUがどのように働いているのか理解したい。のは、このブロック図を考えてみましょう:MicroBlaze MCSでの命令とデータの構成方法は?
私たちは、プロセッサがBRAMモジュールに32ビットの2つのバスかかわらず、接続されていることがわかります。これらのバスの1つはILMB(命令ローカルメモリバス)であり、もう1つはDLMB(データローカルメモリバス)である。両方がBRAMモジュールの異なるポートに接続されていることがわかります。だから私の質問がある:ハーバードアーキテクチャでは、プログラムの命令とランダムアクセスメモリは分離されていないと思われる?ザイリンクスIPコアジェネレータを使用してシステムを生成する場合、メモリに格納されるメモリサイズはプログラム命令、RAM、またはその両方のサイズですか?
IはILMBとDLMBのメモリ内のアドレスを見つけるためxparameters.h内ヘッダファイルに定義し、Iは、両方が同じアドレスの範囲であることがわかってきたに検索しました。
#define XPAR_DLMB_CNTLR_BASEADDR 0x00000000
#define XPAR_DLMB_CNTLR_HIGHADDR 0x00003FFF
#define XPAR_ILMB_CNTLR_BASEADDR 0x00000000
#define XPAR_ILMB_CNTLR_HIGHADDR 0x00003FFF
命令とデータの両方が同じアドレスで参照されるという事実は私を混乱させます。誰かが私がどこが間違っているか教えてくれますか?
これは[Electrical Engineering](http://electronics.stackexchange.com/)の質問です。 StackOverflowはコードとエラーの詳細です。 – JHBonarius