Ensider 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба После того , как запускаю "Run".Идет бесконечное Waiting for clock.Нашел самом сообщение об ошибке в литературе: "Логический анализатор выполняет захват триггера включения или в запущенном времени и ожидает тактовый сигнал для перехода".Но толком и не понял.Дело в самом CLOCK?Или , что-то другое?На большинство форумах пишут , что виноват CLOCK , но испытав способы устранения, не пришел к успешному результату.Прошу помочь в сложившейся ситуации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба Проблема с сигналом тактирования для сигналтап, его нет, ищите причину. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ensider 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба Проблема с сигналом тактирования для сигналтап, его нет, ищите причину. Т.е. я его , как-то некорректно указал в самой программе? Я использовал обыкновенный делитель.Вот отрывок. always @(posedge ADC_CLK) begin if (COUNT == (SYS_CLOCK_FREQ/2 - 1)) begin timer_2Hz <= 1'b1; COUNT <= '0; end else begin COUNT <= COUNT+1; timer_2Hz <= 1'b0; end end Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба Покажите настройки сигнслтап Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ensider 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба Покажите настройки сигнслтап Вот прикладываю.Я вообще не понимаю почему не видит он его. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба ADC_CLK вручную прописали или по нажатию кнопки выбрали, если вручную, то выбирайте из меню по нажатию кнопки. Иначе смотрите наличие ADC_CLK. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ensider 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба ADC_CLK вручную прописали или по нажатию кнопки выбрали, если вручную, то выбирайте из меню по нажатию кнопки. Иначе смотрите наличие ADC_CLK. По нажатию.Таким образом.Он у меня прописан в теле модуля. Да и в Pin Planner.Что ещё может быть не так -то? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба Судя по названию линий, АЦП у вас с SPI интерфейсом, а ADC_CLK - клок для SPI со стороны FPGA , т.е. не должен быть входом и Вы должны сами его сформировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ensider 0 28 июня, 2017 Опубликовано 28 июня, 2017 (изменено) · Жалоба Судя по названию линий, АЦП у вас с SPI интерфейсом, а ADC_CLK - клок для SPI со стороны FPGA , т.е. не должен быть входом и Вы должны сами его сформировать. Я должен сам реализовать "клок"? А таким образом реализовывать нельзя? reg DATA_TEMP [96:0]; // Разрядность даннных АЦП reg RDY; reg CNV ; reg serial_data; reg SERIAL_BIT; reg TEMP [96:0]; reg COUNT; always @(posedge ADC_CLK) begin if (COUNT == (SYS_CLOCK_FREQ/2 - 1)) begin timer_2Hz <= 1'b1; COUNT <= '0; end else begin COUNT <= COUNT+1; timer_2Hz <= 1'b0; end end // Утверждают сигнал CNV always @ (negedge ADC_CLK) begin if ((COUNT == 97) || (COUNT == 98)) CNV = 1'b0; else CNV = 1'b1; end // Чтение последовательных данных в 97-битовый регистр. После этого преобразовать его в параллельный, если счетчик равен 97 (конец потока данных) always @ (negedge ADC_CLK) begin DATA_TEMP[CNV] <= (serial_data); if (COUNT == 97) TEMP <= DATA_TEMP; end always_ff @(posedge ADC_CLK) begin if (timer_2Hz == 1'b1) begin timer_1Hz <= ~timer_1Hz; end end assign ADC_CNV = CNV ; endmodule Изменено 28 июня, 2017 пользователем Ensider Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба Посмотрите доку на АЦП, сигнал АЦП соответствующий Вашему ADC_CLK является его входом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ensider 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба Посмотрите доку на АЦП, сигнал АЦП соответствующий Вашему ADC_CLK является его входом. Я это понял. Мне просто сказали организовать делитель с такой-то частотой.Я его организовал. Мне нужен клок , который непосредственно на FPGA идет? Что-то все перепуталось. И да если у меня его нет , как уже было сказано , его надо написать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба Делитель какой частоты? Можете взять ее с клоковой ножки FPGA, подключить PLL и затактировать свою систему клоком с PLL. И да если у меня его нет , как уже было сказано , его надо написать? Его нужно откуда-то взять, а это, как вариант, клоковая ножка FPGA, при условии что на нее подается сигнал тактирования. И да, Ваш делитель - "не совсем делитель ", высокий уровень один такт ADC_CLK, все остальное время низкий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spectr 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба Похоже что сигналтапу не хватает клоков, чтобы заполнить весь буфер. На АЦП, видимо, у вас идет клок, разрешаемый чипселектом, а не постоянно? В таком случае сделайте еще один такой же клок, но который будет работать постоянно. Тогда сигналтап от него заработает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ensider 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба Делитель какой частоты? Можете взять ее с клоковой ножки FPGA, подключить PLL и затактировать свою систему клоком с PLL. Делитель с частотой 10 МHz. Это все через ALTPLL делается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 28 июня, 2017 Опубликовано 28 июня, 2017 · Жалоба Должен быть постоянный клок, синхронный с данными, которые хочется захватить. Идет ли он извне или генерируется внутри, мне казалось это не принципиально. В приведенном куске кода убрана шапка модуля - зачем? Чтоб труднее было помочь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться