|
Проблема timingа в timing simulation CPLD - Lattice, hold time violation репорт симулятора, выходы мертвы в X |
|
|
|
 |
Ответов
|
Oct 19 2008, 16:22
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Саша Z @ Oct 19 2008, 11:04)  Функциональная симуляция проходит ОК, с ожидаемыми результатами. Делаю timing simulation файлы, запускаю timing simulation в Альдеке - получаю warnings насчет hold time violations у FFs state machine и счетчиков. Traces симуляции дают выхода заткнутые в X (неопределенное состояние). Подозреваю что такое состяние естх результат hold time violations о которых докладывает симулятор. Пока не нашел в ispLever Classic 1.2 возможности посмотреть причину violations и возможности ее исправить. Думаете верно, это и есть нарушение времянок. 1. STA проходит? 2. При сборке проекта не было ругани на неопределенные клоки, констрейны и т.д.? 3. Верификационное окружение корректно описывает поведение логики IO буферов? 4. Проект в железе работает ?
--------------------
|
|
|
|
|
Oct 19 2008, 16:36
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(des00 @ Oct 19 2008, 20:22)  Думаете верно, это и есть нарушение времянок.
1. STA проходит? 2. При сборке проекта не было ругани на неопределенные клоки, констрейны и т.д.? 3. Верификационное окружение корректно описывает поведение логики IO буферов? 4. Проект в железе работает ? Спасибо за быстрый ответ. Не припомнится ругани на какие-нить проблемы на стадии build, есть единственный клок и он вроде определен как и другие констрейны (которых не много). А что вы имеете ввиду насчет 3. ? Сорри, опыта у меня маловато в данно области пока. До железа пока не дошло, вначале хочу довести до ума в симуляторе. Да и железа пока нет, все на стадии разработки еще. Может дать сорсы и файл констрейнов ?
|
|
|
|
|
Oct 19 2008, 16:46
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Саша Z @ Oct 19 2008, 11:36)  Не припомнится ругани на какие-нить проблемы на стадии build, есть единственный клок и он вроде определен как и другие констрейны (которых не много). т.е. STA не ругается на нарушение времянок, I/O tsu/th заданы и выполняются ? Цитата А что вы имеете ввиду насчет 3. ? Может дать сорсы и файл констрейнов ? в тестбенче когда вы задаете внешние воздействия вы случайно не нарушаете tsu/th входных тригеров ? Например sample_in_data <= #1ns 5; @(posedge clk); В функционале это нормально отработается по клоку, но при временной симуляции может вызвать нарушение tsu/th на входном тригере и тогда 'X' пойдет по схеме. Если нарушаете тогда приходится править например так sample_in_data <= #2.5ns 5; @(posedge clk); у меня под латексы ничего нет, если формат констрейнов не от синопсиса, ничем помочь не смогу %) правда по хдл модели + sdf файл могу найти место где у вас возникает нарушение в моделсиме. Но это только завтра. В личку написал мое мыло для связи.
--------------------
|
|
|
|
|
Oct 19 2008, 20:22
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(des00 @ Oct 19 2008, 20:46)  т.е. STA не ругается на нарушение времянок, I/O tsu/th заданы и выполняются ? в тестбенче когда вы задаете внешние воздействия вы случайно не нарушаете tsu/th входных тригеров ? Например
sample_in_data <= #1ns 5; @(posedge clk);
В функционале это нормально отработается по клоку, но при временной симуляции может вызвать нарушение tsu/th на входном тригере и тогда 'X' пойдет по схеме.
Если нарушаете тогда приходится править например так
sample_in_data <= #2.5ns 5; @(posedge clk);
у меня под латексы ничего нет, если формат констрейнов не от синопсиса, ничем помочь не смогу %) правда по хдл модели + sdf файл могу найти место где у вас возникает нарушение в моделсиме. Но это только завтра. В личку написал мое мыло для связи. Спасибо, послал. В tb у меня только начальный Reset и клок. Больше входов нет. Констрейнами не задавал ts/th, да и честно говоря пока не в курсе как и когда нужно. STA - static timing analysis ? пытаюсч вспомнить как делать, читал где-то не так давно..
|
|
|
|
|
Oct 20 2008, 03:25
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Саша Z @ Oct 19 2008, 15:22)  STA - static timing analysis ? пытаюсч вспомнить как делать, читал где-то не так давно.. про STA вы правы, по идее он должен запускаться после разводки, для проверки времянок. Но для ваших 6 КГц думаю что это не критично. Да и входов у вас нет, только выходы. Ваши файлы получил, т.к. под латекс ничего нет, собрал под альтеру MAX3000A, задал клок 10КГц. Собрал, запустил на моделирование. Код vcom NUC_tester_tb.vhd vcom prj.vho vsim -novopt -sdftyp /NUC_tester_tb/uut=prj_vhd.sdo NUC_tester_tb результат в атаче. Не видно 'x', вроде все работает, под альтеру правда. Либо что-то не так запускаете под альдек, либо где то, какой то глюк.
Эскизы прикрепленных изображений
--------------------
|
|
|
|
|
Oct 20 2008, 10:47
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(des00 @ Oct 20 2008, 07:25)  про STA вы правы, по идее он должен запускаться после разводки, для проверки времянок. Но для ваших 6 КГц думаю что это не критично. Да и входов у вас нет, только выходы. Ваши файлы получил, т.к. под латекс ничего нет, собрал под альтеру MAX3000A, задал клок 10КГц. Собрал, запустил на моделирование. Код vcom NUC_tester_tb.vhd vcom prj.vho vsim -novopt -sdftyp /NUC_tester_tb/uut=prj_vhd.sdo NUC_tester_tb результат в атаче. Не видно 'x', вроде все работает, под альтеру правда. Либо что-то не так запускаете под альдек, либо где то, какой то глюк. Большое спасибо. Да, странно.Очевидная разница только в симуляторе (Aldec vs. Modelsim) и в библиотеках чипов (Lattice CPLD и Альтера примерно схожей плотности). Странно.... Послал проэкт на анализ в саппорт Латтиса с пояснительной..посмотрим что скажут. А вообще, как анализируются подобные timingовые проблемы в среде FPGA/CPLD ? Куда смотреть и как анализировать ? Это на будущее..
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|