INTENTION変換:VHDL std_logic_vectorsのアレイはSTD_LOGIC_VECTORに
IはZedBoardにRAMからデータを読んでいるが、私は、次のバッファ
type mem_word is array (0 to 127) of std_logic_vector(31 downto 0);
signal buffer_word : mem_word;
を使用するように、RAMは、32ビットのロングワードからなるものの次に、中間のリニアバッファで線形にデータを扱いたいと思います。
signal buffer_linear : std_logic_vector(4095 downto 0);
buffer_linear <= buffer_word; -- !!! PROBLEM
(buffer_wordの)特定の単語の位置を再計算することなく、
QUESTION:
私は1長いSTD_LOGIC_VECTORにstd_logic_vectorsの配列から取得するにはどうすればよいですか?ループ内で128語を連結しないようにする方法はありますか? (上記のようなもの)buffer_linear < = buffer_word;)
RAMブロックを使用できる条件は何ですか?一度にアクセスされるビットには制限がありますか? –
@MartinGあなたの最善の策は、合成ツールのメモリ推論パターンを調べることです。たとえば、http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_1/ug901-vivado-synthesis.pdfページ95以降 –
条件には、読み込みと書き込みのプロセスが両方とも同期していることが含まれている可能性があります。 BlockRamは同期RAMであり、いくつかの上限(32または64)ビットが同時に読み取られるため、クロック同期プロセスが必要です。 –