X
XENIX
Guest
こんにちは、
ロジックすぎる大規模なソ¥ースを場合、テーブルは、消費見てテーブルをバックアップします。私はラムブロックにいくつかのデータを格納したい。データはBRAMへとロードされる値の初期。ラムは、書き込みが無効になって、操作ので、ROMのようにはなるがあります。
とき私はRAMを読み取ろうとすると、それは常に、ゼロを読み取り、代入される初期値で何か間違って?
INIT_xxは、ベクトル、初期値。何がベクトルですINITP_xx?
返信ありがとうです。
コード:
ライブラリのIEEE;
使用IEEE.STD_LOGIC_1164.ALL;
使用IEEE.STD_LOGIC_ARITH.ALL;
使用IEEE.STD_LOGIC_UNSIGNED.ALL;エンティティがacitablo1です
ポート(
modulasyon:STD_LOGIC_VECTOR(8 downto 0); - ラムアドレス
CLKの:トライステートで、 - ラムクロック
aci1:アウトSTD_LOGIC_VECTOR(13 downto 0) - データ出力
);
最後acitablo1;アーキテクチャ行動はacitablo1ですコンポーネントRAMB16_S18
- プラグマtranslate_off
(一般的な
INIT:のbit_vector:= X"は0";
INIT_00:bit_vector:= X"が1818181A181D182018241829182D18321838183E1844184A18501856185D1864"; - 初期値
INIT_01:bit_vector:= X"が1846183F18391833182D18281823181F181B1818181618151814181418151816";
INIT_02:bit_vector:= X"が183318441852185D1865186B186E1870186F186D186A18651860185A1854184D";
INIT_03:bit_vector:= X"が0B060B4B0B900BD4169016C016ED17191743176B179017B217D217EF1809181F";
INIT_04:bit_vector:= X"が122A1263129C12D61310134B138513C013FA1435099009C90A040A420A810AC3";
INIT_05:bit_vector:= X"が0684069206A006AF06BF0FD806E206F5070A071E07331114114A118111B911F1";
INIT_06:bit_vector:= X"が0C4F0C710C94062C062E063106340639063D0643065105EE06590605066D0678";
INIT_07:bit_vector:= X"が05C905DA05EA05F70B510B590B630B710B800B930BA80BBF0BD80BF40C110C2F";
INIT_08:bit_vector:= X"が01840275030D037E03D904250466049E04D004FC0524054805680584059E05B5";
INIT_09:bit_vector:= X"が0756079107D10818086508B9091309100910030C0438003203660258030E00C8";
INIT_0A:bit_vector:= X"が04F50514053305520572059205B305D505F8061C06410668069206BE06ED071F";
INIT_0B:bit_vector:= X"が0365036E037B038C03A003B703D003EA04050422043F045D047B049904B704D6";
INIT_0C:bit_vector:= X"が000000000000000000000644054804BB0457040C03D203A60387037203670363";
INIT_0D:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_0E:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_0F:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_10:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_11:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_12:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_13:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_14:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_15:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_16:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_17:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_18:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_19:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1A:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1B:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1C:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1D:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1E:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1F:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_20:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_21:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_22:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_23:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_24:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_25:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_26:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_27:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_28:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_29:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2A:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2B:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2C:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2D:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2E:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2F:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_30:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_31:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_32:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_33:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_34:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_35:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_36:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_37:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_38:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_39:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3A:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3B:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3C:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3D:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3E:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3F:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_00:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_01:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_02:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_03:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_04:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_05:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_06:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_07:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
SRVAL:bit_vector:= X"は0";
WRITE_MODE:文字列:="READ_FIRST"
);
- プラグマtranslate_on
ポート(
のDI:std_logic_vector(15 downto 0);
ディップスイッチ:std_logic_vector(1 downto 0);
アドレス:std_logic_vector(9 downto 0);
アン:トライステートに。
我々は:トライステートに。
SSRの:トライステートに。
CLKの:トライステートに。
しない:アウトstd_logic_vector(15 downto 0);
DOPの:アウトstd_logic_vector(1 downto 0)
);
エンドコンポーネント。属性WRITE_MODE:文字列;
U_RAMB16_S18のWRITE_MODE属性:ラベルは"READ_FIRSTです。";信号アドレス:STD_LOGIC_VECTOR(9 downto 0);
ディ信号:STD_LOGIC_VECTOR(15 downto 0);
信号が浸漬:STD_LOGIC_VECTOR(1 downto 0);
信号がない:STD_LOGIC_VECTOR(15 downto 0);
信号ドップ:STD_LOGIC_VECTOR(1 downto 0);始めるのaddr <="0"の&(modulasyon"011011101"); - それは10ビット、削除するオフセットと負荷に対処する。ディップ<="00"; - パリティは、ゼロ負荷を使用されていません
ディ<は= x"は0000は、"; - 書き込みが無効になっているので、これは重要ではありませんaci1は<=しない(13 downto 0); - データ出力に読み込まれるU_RAMB16_S18:RAMB16_S18
ポートマップ(
のDI =>ディ、 - バスに挿入16ビットデータ(<15 downto 0>)
ディップスイッチ=>ディップ、 - 挿入バスで2ビットのパリティデータ(または<17 downto 16>)
addrは=> addrは、 - を挿入10ビットのアドレスバス
発明=> '1'、 - 挿入信号を有効にする - 常に有効にする
我々=> '0'、 - 挿入イネーブル信号を書く - ROMの操作を書くいけない
SSRの=> '0'、 - 挿入セット/リセット信号
CLKの=> CLKの、 - 挿入クロック信号
のDO =>行うには、 - 挿入16ビットデータ出力バス(<15 downto 0>)
DOPの=>のドップ - 挿入2ビットパリティデータ出力バス(または<17 downto 16>)
);最後には行動;
ロジックすぎる大規模なソ¥ースを場合、テーブルは、消費見てテーブルをバックアップします。私はラムブロックにいくつかのデータを格納したい。データはBRAMへとロードされる値の初期。ラムは、書き込みが無効になって、操作ので、ROMのようにはなるがあります。
とき私はRAMを読み取ろうとすると、それは常に、ゼロを読み取り、代入される初期値で何か間違って?
INIT_xxは、ベクトル、初期値。何がベクトルですINITP_xx?
返信ありがとうです。
コード:
ライブラリのIEEE;
使用IEEE.STD_LOGIC_1164.ALL;
使用IEEE.STD_LOGIC_ARITH.ALL;
使用IEEE.STD_LOGIC_UNSIGNED.ALL;エンティティがacitablo1です
ポート(
modulasyon:STD_LOGIC_VECTOR(8 downto 0); - ラムアドレス
CLKの:トライステートで、 - ラムクロック
aci1:アウトSTD_LOGIC_VECTOR(13 downto 0) - データ出力
);
最後acitablo1;アーキテクチャ行動はacitablo1ですコンポーネントRAMB16_S18
- プラグマtranslate_off
(一般的な
INIT:のbit_vector:= X"は0";
INIT_00:bit_vector:= X"が1818181A181D182018241829182D18321838183E1844184A18501856185D1864"; - 初期値
INIT_01:bit_vector:= X"が1846183F18391833182D18281823181F181B1818181618151814181418151816";
INIT_02:bit_vector:= X"が183318441852185D1865186B186E1870186F186D186A18651860185A1854184D";
INIT_03:bit_vector:= X"が0B060B4B0B900BD4169016C016ED17191743176B179017B217D217EF1809181F";
INIT_04:bit_vector:= X"が122A1263129C12D61310134B138513C013FA1435099009C90A040A420A810AC3";
INIT_05:bit_vector:= X"が0684069206A006AF06BF0FD806E206F5070A071E07331114114A118111B911F1";
INIT_06:bit_vector:= X"が0C4F0C710C94062C062E063106340639063D0643065105EE06590605066D0678";
INIT_07:bit_vector:= X"が05C905DA05EA05F70B510B590B630B710B800B930BA80BBF0BD80BF40C110C2F";
INIT_08:bit_vector:= X"が01840275030D037E03D904250466049E04D004FC0524054805680584059E05B5";
INIT_09:bit_vector:= X"が0756079107D10818086508B9091309100910030C0438003203660258030E00C8";
INIT_0A:bit_vector:= X"が04F50514053305520572059205B305D505F8061C06410668069206BE06ED071F";
INIT_0B:bit_vector:= X"が0365036E037B038C03A003B703D003EA04050422043F045D047B049904B704D6";
INIT_0C:bit_vector:= X"が000000000000000000000644054804BB0457040C03D203A60387037203670363";
INIT_0D:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_0E:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_0F:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_10:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_11:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_12:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_13:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_14:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_15:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_16:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_17:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_18:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_19:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1A:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1B:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1C:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1D:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1E:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_1F:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_20:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_21:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_22:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_23:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_24:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_25:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_26:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_27:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_28:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_29:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2A:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2B:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2C:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2D:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2E:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_2F:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_30:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_31:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_32:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_33:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_34:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_35:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_36:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_37:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_38:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_39:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3A:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3B:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3C:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3D:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3E:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INIT_3F:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_00:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_01:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_02:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_03:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_04:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_05:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_06:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
INITP_07:bit_vector:= X"が0000000000000000000000000000000000000000000000000000000000000000";
SRVAL:bit_vector:= X"は0";
WRITE_MODE:文字列:="READ_FIRST"
);
- プラグマtranslate_on
ポート(
のDI:std_logic_vector(15 downto 0);
ディップスイッチ:std_logic_vector(1 downto 0);
アドレス:std_logic_vector(9 downto 0);
アン:トライステートに。
我々は:トライステートに。
SSRの:トライステートに。
CLKの:トライステートに。
しない:アウトstd_logic_vector(15 downto 0);
DOPの:アウトstd_logic_vector(1 downto 0)
);
エンドコンポーネント。属性WRITE_MODE:文字列;
U_RAMB16_S18のWRITE_MODE属性:ラベルは"READ_FIRSTです。";信号アドレス:STD_LOGIC_VECTOR(9 downto 0);
ディ信号:STD_LOGIC_VECTOR(15 downto 0);
信号が浸漬:STD_LOGIC_VECTOR(1 downto 0);
信号がない:STD_LOGIC_VECTOR(15 downto 0);
信号ドップ:STD_LOGIC_VECTOR(1 downto 0);始めるのaddr <="0"の&(modulasyon"011011101"); - それは10ビット、削除するオフセットと負荷に対処する。ディップ<="00"; - パリティは、ゼロ負荷を使用されていません
ディ<は= x"は0000は、"; - 書き込みが無効になっているので、これは重要ではありませんaci1は<=しない(13 downto 0); - データ出力に読み込まれるU_RAMB16_S18:RAMB16_S18
ポートマップ(
のDI =>ディ、 - バスに挿入16ビットデータ(<15 downto 0>)
ディップスイッチ=>ディップ、 - 挿入バスで2ビットのパリティデータ(または<17 downto 16>)
addrは=> addrは、 - を挿入10ビットのアドレスバス
発明=> '1'、 - 挿入信号を有効にする - 常に有効にする
我々=> '0'、 - 挿入イネーブル信号を書く - ROMの操作を書くいけない
SSRの=> '0'、 - 挿入セット/リセット信号
CLKの=> CLKの、 - 挿入クロック信号
のDO =>行うには、 - 挿入16ビットデータ出力バス(<15 downto 0>)
DOPの=>のドップ - 挿入2ビットパリティデータ出力バス(または<17 downto 16>)
);最後には行動;