Оператор фиксации не может быть синтезирован, поскольку он не содержит своего значения в условии NOT (clock-edge) - PullRequest
0 голосов
/ 08 мая 2018
--Signal declaration
architecture Behavioral of Traffic_Light_Change is
signal State_A: STD_LOGIC;
signal segmentA : STD_LOGIC_VECTOR (0 to 6);
signal segmentB : STD_LOGIC_VECTOR (0 to 6);
signal counter : integer range 0 to 50000000:= 0;
signal State_T: std_logic;
begin
-- Switching anodes
anode_switching: process (clk_in, segmentA, segmentB)
begin 
if(rising_edge(clk_in)) then */ Line 78 error */ 
    State_A <= '1'; 
elsif(falling_edge(clk_in)) then
    State_A <= '0';
end if;
end process anode_switching;

Здравствуйте, я продолжаю получать эту ошибку, когда пытаюсь синтезировать мой код. «Оператор строки 78 не является синтезируемым, поскольку он не содержит своего значения в условии NOT (clock-edge)». Что я здесь делаю неправильно, что вызывает это?

1 Ответ

0 голосов
/ 08 мая 2018

Синтез - это процесс превращения кода HDL в аппаратное обеспечение. Ваш код не может быть превращен в аппаратное обеспечение, потому что State_A изменяется по обоим краям часов. Как бы вы реализовали такое поведение на аппаратном уровне?

См. мой ответ здесь .

...