插銷
在所有例子中:
en是使能訊號,d是輸入,q是輸出,srst是一個有源高同步復位,srstn是低電平有效同步復位,arst是一個有源高速非同步復位,arstn是一個低電平有效復位,sset是一個高效的同步集,ssetn是一個有源低同步集,aset是一個活躍的高非同步集,asetn是一個低有效的低非同步集
所有訊號均為 ieee.std_logic_1164.std_ulogic 型。使用的語法是使用所有邏輯合成器得到正確合成結果的語法。有關備用語法的討論,請參閱時鐘邊沿檢測示例。
高效啟用
process(en, d)
begin
if en = '1' then
q <= d;
end if;
end process;
低電平有效啟用
process(en, d)
begin
if en = '0' then
q <= d;
end if;
end process;
高電平有效,同步有效高電平復位
process(en, d)
begin
if en = '1' then
if srst = '1' then
q <= '0';
else
q <= d;
end if;
end if;
end process;
高電平有效,非同步高電平有效
process(en, d, arst)
begin
if arst = '1' then
q <= '0';
elsif en = '1' then
q <= d;
end if;
end process;
低電平有效,非同步低電平有效,同步高電平有效
process(en, d, arstn)
begin
if arstn = '0' then
q <= '0';
elsif en = '0' then
if sset = '1' then
q <= '1';
else
q <= d;
end if;
end if;
end process;
高電平有效,非同步有效高電平復位,非同步低電平有效
注意:set 的優先順序高於 reset
process(en, d, arst, asetn)
begin
if asetn = '0' then
q <= '1';
elsif arst = '1' then
q <= '0';
elsif en = '1' then
q <= d;
end if;
end process;