HDL Coderで生成したVHDL内で不要なリセット信号が自動で追加される
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
拓哉
el 2 de Oct. de 2025
Comentada: 拓哉
el 4 de Nov. de 2025 a las 8:12
HDL Coderの「HDLコードを生成」機能を使い、SimulinkモデルからVHDLを生成しました。その際、VHDL内に意図しない不要なリセット信号が自動で追加されるため、これを防止する方法があればご教示いただきたく。
【現象】
①コンフィギュレーションパラメーター⇒HDLコード生成⇒グローバル設定⇒クロック設定にて「リセットの入力端子」にRESETXを設定
②VHDLを生成
③生成されたVHDLを確認すると、entity部に意図しない(設定していない)resetx_1というリセット信号が追加されていました。また、architecture部のsignalにもresetx_2やresetx_3のような連番の信号名も追加されていました。以下に当該箇所の抜粋します。
ENTITY TEST IS
PORT( CLKS : IN std_logic;
RESETX : IN std_logic;
resetx_1 : IN std_logic; -- ufix1
--省略
);
END TEST;
ARCHITECTURE rtl OF TEST IS
-- Signals
SIGNAL resetx_2 : std_logic; -- ufix1
SIGNAL resetx_3 : std_logic; -- ufix1
--省略
BEGIN
resetx_2 <= resetx_1;
RelEQ1_out1 <= '1' WHEN resetx_2 = '0' ELSE
'0';
END rtl;
1 comentario
Respuesta aceptada
拓哉
el 15 de Oct. de 2025
2 comentarios
Hiro Kawai
el 16 de Oct. de 2025
モデルのアップロード有難うございます。確認させて頂きましたが、結論としてはツールの振る舞いとしては正常であると言えます。
頂いたモデルには、resetxというInportがあることを確認しました。これがリセット信号となって欲しい、という意図かと思いますが、リセット信号は通常、別途自動的に生成されます。
(参考) https://jp.mathworks.com/help/hdlcoder/gs/clocks-and-sample-time-relationship-in-hdl-coder.html (Simulinkモデルとクロックの関係)
今回はresetxというInportに対して、_1というサフィックスを自動的に加えられた形で下記が生成されています。
resetx_1 : IN std_logic; -- ufix1
理由としては、リセットの入力端子名がRESETX (大文字小文字の違いはあれど同じ文字列) となっているためです。HDL Coderが自動でサフィックス (_1) を加えています。
(↓こちらのRESETXのことです。試しに、RESETNなど別の文字列にしてもらえれば、サフィックスは付与されません)
>①コンフィギュレーションパラメーター⇒HDLコード生成⇒グローバル設定⇒クロック設定にて「リセット>の入力端子」にRESETXを設定
もし、グローバルリセットを生成したくない場合は、設定ウインドウの
HDLコード生成→グローバル設定→追加設定→端子 (タブ) → グローバルリセットの最小化
のチェックをOnにして下さい。
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!