私は、aclrn = 0の場合は非同期リセットに、sclrn = 0の場合は同期してDラッチを実装する必要があります。実装は、両方のリセット方法に従うことができるはずです。VHDLでの非同期とシンクロ両方のリセットを伴うDラッチ
ここでは、基本的なDラッチに基づくVHDL(私はプロセスのみを含む)で思いついたことがあります。
process(aclrn,clock)
begin
if (aclrn='0') then
q <= '0';
elsif (rising_edge(clock)) then
if (sclrn='0') then
q <= '0';
else
q <= d;
end if;
end if;
end process;
どこ
clock, d, aclrn, sclrn : in std_logic; q : out std_logic
私は、プロセスは、引数が、唯一のaclrnとクロックとしてsclrnに取る必要がないことを修正するのですか?他の矛盾はありますか?
ありがとうございます。
感度リストには問題ありません。他の矛盾:ブール式(3x)の括弧は不必要な混乱、インデントは矛盾しています。 –
@BrianDrummondそれを指摘していただきありがとうございます!かっこはJavaの習慣です。 –