Перейти к содержанию
    

anya_g

Новичок*
  • Постов

    3
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Спасибо всем ответившим. Извиняюсь, если кого-то оскорбила обращением "ребята". Вообщем-то итого темы таков. Некорректная конструкция (реСет для сигнала s2 может быть подключен к CE триггера): process (clk,rst) begin if (rst = '1') then s1 <= '0'; elsif rising_edge(clk) then s1 <= x1; s2 <= x2; end if; end process; Корректная конструкция в 2-х процессах: process (clk, rst) begin if (rst = '1') then s1 <= '0'; elsif rising_edge(clk) then s1 <= x1; end if; end process; process (clk) begin if rising_edge(clk) then s2 <= x2; end if; end process; Корректная конструкция в 1-м процессе: process (clk, rst) begin if rising_edge(clk) then s1 <= x1; s2 <= x2; end if; if (rst = '1') then s1 <= '0'; end if; end process;
  2. Да, мой квартус в этом случае так и поступает - заводит сигнал сброса в на вход CE (со всеми вытекающими в виде времянки). По поводу двух процессов - тут дело даже не в лени (хотя куда уж без нее?), а в общей читаемости и краткости кода.
  3. Ребят, подскажите по поводу грамотного описания асинхронного резета для ПЛИС. Интересует случай, когда не требуется сбрасывать ВСЕ регистры Во всех примерах вижу стандартную конструкцию: process (clk,rst) begin if (rst = '1') then s1 <= '0'; elsif rising_edge(clk) then s1 <= x1; s2 <= x2; end if; end process; А недавно услышала, что правильней использовать конструкцию вида: process (clk, rst) begin if rising_edge(clk) then s1 <= x1; s2 <= x2; end if; if (rst = '1') then s1 <= '0'; end if; end process; В этом случае создается меньше связей. Насколько это оправданно?
×
×
  • Создать...