реклама на сайте
подробности

 
 
> Синхронный счетчик с асинхронной загрузкой, вопросы.. начинающего)
~KPbIC~
сообщение Feb 27 2008, 09:51
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 42
Регистрация: 2-06-07
Из: Msk
Пользователь №: 28 118



Пытаюсь сделать такой в ISE6... под XC9500

Правильно ли так его описывать:
Код
entity cc8mm is
   port ( C    : in    std_logic;
          DI   : in    std_logic_vector (7 downto 0);
          L    : in    std_logic;
          LE   : in    std_logic;
          OE   : in    std_logic;
          CLR  : in    std_logic;  
          P    : out   std_logic);
end cc8mm;

architecture count_down of cc8mm is

Signal TempC : std_logic_vector ( 7 downto 0):= "00000000";
Signal TC    : std_logic_vector ( 7 downto 0):= "00000000";

begin

  process(CLR,C,DI,L)
  begin
    if LE='1' then
       TempC  <= DI;
      TC     <= TempC;
    elsif L = '1' then
          TC     <= TempC;
       elsif CLR='1' then
             TC <= "00000001";
          elsif C'event and C='1' and OE='0' then
                 TC <= TC -1;
    end if;
  end process;
  
  process( TC )
  begin
    if TC = "00000000" and OE='0' then
       p <= '1';
    else
       p <= '0';
    end if;
    end process;

end count_down;


смысл, что при LE =1 грузиться постоянно, и сохраняется последнее значение.. а потом работа как обычного синхронного счетчика вниз, с асинхронной загрузкой.


в этом варианте настораживает использование слишком большого кол-а ресурсов кристалла, но при этом максимальное быстродействие, по сравнению со схемным построением
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 22:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016