VHDLに関しては初心者ですが、ボタンを押すだけで手動でカウントアップおよびカウントダウンできるカウンターに取り組んでいます..どういうわけか、このエラーしか発生せず、何が間違っているのかわかりません。他のチェックは良好です。なにか提案を?
これは私が得るエラーです:
エラー:Xst:827 - 101 行目: シグナル s2 を合成できません。同期記述が正しくありません。同期要素 (レジスタ、メモリなど) の記述に使用している記述スタイルは、現在のソフトウェア リリースではサポートされていません。
entity updown is Port (
rst : in STD_LOGIC;
plus , plusin: in STD_LOGIC;
minus, minusin : in STD_LOGIC;
clk : in STD_LOGIC;
ud_out, ud_out2 : out STD_LOGIC_VECTOR (3 downto 0)
);
end updown;
architecture Behavioral of updown is
signal s : unsigned (3 downto 0):= "0000";
signal s2 : unsigned (3 downto 0) := "0000";
begin
process(rst, plus, minus, clk, plusin, minusin)
begin
if rst='1' then
s <= "0000";
s2 <= "0000";
else
if rising_edge (clk) then
if plus ='1' or plusin = '1' then
if s = "1001" then
s <= "0000";
if s2 = "1001" then
s2 <= "0000";
else
s2 <= s2 + 1;
end if;
else
s <= s + 1;
end if;
end if;
else
if minus ='1' or minusin = '1' then
if s = "0000" then
s <= "1001";
if s2= "0000" then
s2 <= "1001";
else
s2 <= s2 - 1;
end if;
else
s <= s - 1;
end if;
end if;
end if;
end if;
end process;
ud_out <= std_logic_vector(s);
ud_out2 <= std_logic_vector(s2);
end Behavioral;