|
Вопрос по SignalTape |
|
|
|
Dec 1 2010, 06:30
|
студент
   
Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712

|
Привет... Создал RS-latch, используя MegaWizard, далее подключил в свой проекты. На выходные ножки ПЛИС вывел сигналы s (set), r(reset), q(quit). CODE l: lp port map ( aclr => not r, aset => not s, data => '0', gate => '0', q => q ); Далее подключил SignalTape и добавил туда ранее описанный сигналы. Вопрос такой: почему в SignalTape рисуется спад q раньше спада r?
Прикрепленные файлы
s.bmp ( 835.67 килобайт )
Кол-во скачиваний: 40
--------------------
С Уважением...
|
|
|
|
|
 |
Ответов
|
Dec 1 2010, 11:03
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(Fynjisx @ Dec 1 2010, 09:30)  CODE l: lp port map ( aclr => not r, aset => not s, data => '0', gate => '0', q => q ); имхо: не понятно ни чего ( "aclr" больше или равен "not r" ? кто такой "port" и "map"? и что за язык? подозреваю, что Signal Tape это Signal Tap и остальные ошибки надо искать в синтаксисе)
|
|
|
|
|
Dec 1 2010, 11:52
|
студент
   
Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712

|
Цитата(yura-w @ Dec 1 2010, 15:03)  имхо: не понятно ни чего ( "aclr" больше или равен "not r" ? кто такой "port" и "map"? и что за язык? подозреваю, что SignalTape это SignalTap и остальные ошибки надо искать в синтаксисе) это я привел кусок кода на VHDL, как я подключил модуль RS-защелку в проекте. aclr не больше или равен, а соединен напрямую с инвертированным r(reset).
--------------------
С Уважением...
|
|
|
|
|
Dec 1 2010, 12:28
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(Fynjisx @ Dec 1 2010, 14:52)  это я привел кусок кода на VHDL, как я подключил модуль RS-защелку в проекте. aclr не больше или равен, а соединен напрямую с инвертированным r(reset).  Извиняюсь, был не внимателен. думаю поможет следующее: data => '1' gate => '1'
|
|
|
|
|
Dec 1 2010, 16:07
|
студент
   
Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712

|
Цитата(yura-w @ Dec 1 2010, 16:28)   Извиняюсь, был не внимателен. думаю поможет следующее: data => '1' gate => '1' Щас обьясню что я делаю. У меня есть автомат на 3 состояния: st0, st1, st2. При подаче rst(сброс), автомат переходит в состояние st0. Вот его код: CODE entity tops is
Port ( clk : in std_logic; in1 : in std_logic; rst : in std_logic; out1 : out std_logic ); end tops;
architecture Behavioral of tops is
type fsm is (st0, st1, st2);
signal st, nst: fsm:= st0; begin
process(clk) begin if rst = '0' then st <= st0; elsif rising_edge(clk) then st <= nst; end if; end process;
process(all) begin case st is when st0=> nst <= st1; out1 <= '1'; when st1=> if in1 = '1' then nst <= st2; else nst <= st1; end if; out1 <= '0'; when st2=> nst <= st2; out1 <= '0'; end case;
end process;
Мне нужно подать внешний сброс (rst) на этот автомат. У меня есть плата с помощью которой я это намеревался сделать. Единственный вопрос возник как избавиться от дребезга контактов. ДЛя это я придумал не хитрую RS-защелку. Причем на плате разведено так, что по умолчанию на ножки плис, которые я использую в качестве контактов кнопки, подходят подтянутые высокие уровни. Т.е для перключения мне нужны активные низкие уровни. Отсюда и RS-защелка с инвертированными входами R и S. Далее я хотел вывести все сигналы через SignalTap, затем нажать на мою кнопку и увидеть как меняются состояния и выходные сигналы автомата. ВСя запарка произошла из-за того, чтопри подаче активного низкого уровня на r или s защелки, в SignalTap я увидел что раньше меняется её выход(который у меня обозначе как q). Векторная диаграмма приложена в первом сообщении моего топика...
--------------------
С Уважением...
|
|
|
|
|
Dec 1 2010, 21:05
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(Fynjisx @ Dec 1 2010, 19:07)  ... Единственный вопрос возник как избавиться от дребезга контактов. ДЛя это я придумал не хитрую RS-защелку. для избавления от дребезга обычно используют счетчик, считающий например до 10ms, в зависимости от кнопки (в вашем случае низкий - разрешение счета, высокий - сброс счетчика в ноль, если счетчик досчитал до конца - это и есть сигнал чистый от дребезга) Цитата(Fynjisx @ Dec 1 2010, 19:07)  ....ВСя запарка произошла из-за того, чтопри подаче активного низкого уровня на r или s защелки, в SignalTap я увидел что раньше меняется её выход(который у меня обозначе как q). Векторная диаграмма приложена в первом сообщении моего топика... входные сигналы, тем более с дребезгом, не используют без стробирования для асинхронных сброса или установки. если длительность входных сигналов меньше (в вашем случае это практически гарантированно) тактовой частоты используемой в signaltap, то на временной диаграмме вы и не увидите их изменение, что и видно на вашей картинке
|
|
|
|
Сообщений в этой теме
Fynjisx Вопрос по SignalTape Dec 1 2010, 06:30     Fynjisx Цитата(yura-w @ Dec 2 2010, 01:05) д... Dec 5 2010, 05:54      yura-w что значит
Цитата(Fynjisx @ Dec 5 2010, 08... Dec 5 2010, 20:05       Fynjisx Цитата(yura-w @ Dec 5 2010, 23:05) е... Dec 7 2010, 10:42        yura-w Цитата(Fynjisx @ Dec 7 2010, 13:42) ....Т... Dec 7 2010, 13:52         Fynjisx Цитата(yura-w @ Dec 7 2010, 16:52) М... Dec 9 2010, 15:12          vadimuzzz Цитата(Fynjisx @ Dec 9 2010, 21:12) Мне б... Dec 9 2010, 15:47           Fynjisx Почему в режиме Transition,когда у меня убраны гал... Feb 15 2012, 05:38
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|