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

    

kostage

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный
  1. lvpecl по витой паре

    Большое спасибо за ответы. Вынести необходимо из-за конструктивных особенностей. Но уже ясно, что это геморройно, есть возможность использовать медиа конвертер. Такчто просто возьмем MOXA 100BASE-TX/FX и все дела), а на плате сделаем элктрический Ethernet. Кстати, не встречались с медиа конвертерами компактными в металлических корпусах? Самое компактное, что я нашел у MOXA - 100/100/25
  2. lvpecl по витой паре

    Здравствуйте, Господа! Может, кто-нибудь может подсказать... есть необходимость вынести модуль SFP на расстояние метра от платы, на которой располагается все остальное. Нигде не могу найти инфы о возможности такого. Такое впечатление, что этот интерфейс предназначен для внутриплатной связи. Предполагается организовать 100BASE-FX. Ч/з LVPECL связываются м/с SN65EPT22(3.3VCMOS to LVPECL) и SFP модуль
  3. Спасибо! Да и еще надо контролировать вместе с суммой и направление счета process(clk) begin if falling_edge(clk) then if summ = "0000" and updown = '0' then updown <= not updown; elsif summ = "1111" and updown = '1' then updown <= not updown; end if; end if; end process;
  4. да, в ней в самой, я уж заметил, пронаблюдав поведение асинхронных промежуточных сигналов. Там есть пульсы, которые образуются в переклюючениях счетчика. Проверку суммы надо делать синхронной. Хороший урок так-то лучше LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_arith.all; USE IEEE.std_logic_unsigned.all; ENTITY lpm_counter0 IS PORT ( clk : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); equal : inout STD_LOGIC; updown :inout STD_LOGIC ); END lpm_counter0; ARCHITECTURE SYN OF lpm_counter0 IS SIGNAL summ : STD_LOGIC_VECTOR (3 DOWNTO 0); begin q <= summ; equal <= '1' when summ = "1111" or summ = "0000" else '0'; process(clk) begin if falling_edge(clk) then if summ = "0000" or summ = "1111" then updown <= not updown; end if; end if; end process; process(clk) begin if rising_edge(clk) then if updown = '0' then summ <= summ + "0001"; else -- updown = '1' summ <= summ - "0001"; end if; end if; end process; END SYN; Электронихх способствует просветлению
  5. Да, сспасибо, так правильнее несомненно. Но ничего не изменилось, при задании MAX7000 оно симулируется, а на других девайсах нет. Наверное дело в каких-то настройках проекта на древних плисах симулируется, а на более поздних я пытаюсь просто скомпилировать и симулировать этот же проект, и он не работает. Гугл не помогает
  6. Подскажите, пожалуйста, почему этот простой счетчик, считающий туда-сюда, симулируется на MAX7000s, а на Stratix, к примеру, не работает? Quartus 8.1 Web Edition КодLIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_arith.all; USE IEEE.std_logic_unsigned.all; ENTITY lpm_counter0 IS     PORT     (         clk        : IN STD_LOGIC;         q        : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)     ); END lpm_counter0; ARCHITECTURE SYN OF lpm_counter0 IS     SIGNAL summ    : STD_LOGIC_VECTOR (3 DOWNTO 0);     signal equal : STD_LOGIC;     signal updown : STD_LOGIC; begin          q <= summ;     equal <= '1' when summ = "1111" or summ = "0000" else '0';     updown <= not updown when rising_edge(equal);      process(clk)     begin     if rising_edge(clk) and updown = '0' then         summ <= summ + "0001";     elsif rising_edge(clk) and updown = '1' then         summ <= summ - "0001";     end if; end process; END SYN;
  7. про регистры управления я не в курсе, не пнете в нужном направлении? как-то: где почитать.
  8. Да, я думал так сделать, но решил сделать импульс короче. Тактовая частота есть и она небольшая. Этот импульс нужен для альтернативного глобальному сброса автомата, мне желательно, чтобы после сброса автомат минимальое время находился в нач. сост. Вот так как-то. Если что-то не пойдет, то тогда, конечно, сделаю по-вашему.
  9. Да, я понимаю и постараюсь применить ваши советы к будущим проектам. Но с этим уж ничего не поделаешь. Пока я просто воспользовался атрибутом keep synthesis в vhdl, чтобы сформировать короткий импульс по фронту. Большое спасибо.
  10. Здравствуйте, вот если в квартусе в графике рисую для MAX7000s, например, задержку из 3-х элементов И, то он при компиляции их убирает к чертям. В RTL Viewer от них токмо остается жалкий проводок. Как сделать, чтобы они остались? пусть хоть 3 макроячеейки на это гробит. Спасибо