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

 
 
> Проэкт не работает в чипе..., В симуляции все ОК, в чипе не работает, может проблема с заданием ног
Саша Z
сообщение Sep 2 2008, 10:27
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Странная проблема возникла:
есть довольно простенький проэкт под Xilinx XCR3064CS48 CPLD. Проэкт драйвит некоторый електромагнит в системе.
Код на VHLD. Я вообще сижу на Латтисе, на данный момент временно требуется данный Xilinx (в дальнейшем он заменится на соотв. Латтисе, но пока это то что есть), посему дизайн симулирован в среде Lattice (Модельсимом для Латтиса), затем когда симуляция ОК - открываю ISE, синтезирую под XCR3064CS48 и т.д.
Есть UCF файл в проэкте в ISE где определил ноги чипа под сигналы.
Проблема в том что после прожига не работает в чипе. Прежняя версия того-же дизайна работала ОК, сейчас внес изменения в код (UCF не трогал) - на выходах ничего нет. Прожигаю старую версию - чип работает ОК (согласно старой версии ессно).

Проверяю в ISE насчет констрейнов ног: содержимое UCF имеет описание всех ног, тогда как в окне где UCF разбивается на части (Timing COntraints таб) - два выхода из четырех вроде как не определены в плане ног.

Присоединены screenshots того о чем говорю. Также присоединен source VHDL как reference - хотя симуляция показывает что код вроде работает ОК.

Со средой ISE знаком плохо, да и нет намерения углубленно изучать ее ибо Латтисе удовлетворяте потребости, может что-то не определено для проэкта в ISE и посему не работает в чипе ?

Заранее благодарен за помощь.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  Driver.vhd ( 4.51 килобайт ) Кол-во скачиваний: 138
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sazh
сообщение Sep 2 2008, 11:37
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Саша Z @ Sep 2 2008, 14:27) *
Со средой ISE знаком плохо, да и нет намерения углубленно изучать ее ибо Латтисе удовлетворяте потребости, может что-то не определено для проэкта в ISE и посему не работает в чипе ?


Ради интереса в квартусе прогнал. Куча предупреждений, на неполный список чувствительности процесса. Что интересно, реализвция зависит от типа кристалла (CPLD, FPGA)
лачи в RTL какие то бессмысленные.
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Sep 3 2008, 07:44
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Цитата(sazh @ Sep 2 2008, 15:37) *
лачи в RTL какие то бессмысленные.


Да, без пояснений оно не совсем понянто со стороны:
в системе есть проблема в том что при power-up срабатывает ложная комманда на на включение одного из режимов (видимо в результате влияния включения питания на конфигурацию системы которая драйвит данный CPLD), посему нужно было сделать что-то что-бы заблокировало первый sequence комманд (ложный). Посему получились latches о который и кручал синтезатор.

Цитата(rv3dll(lex) @ Sep 3 2008, 10:57) *
я в основном все процессы делаю синхронными и в список чувствительности вписываю только клок
ни разу проблем не было

у ксайлинкса действительно все регистры изначально ставятся в ноль если не указать типа := '1'


вообще-то стандарт рекоммендует иказывать полный sense list в процессе. Не уверен на что повлияет не полное указание сигналов в списке, но я в принципе, как минимум в качестве начинающего, стараюсь приделживаться стандарта (когда не забываю...). Иногда забываю все релевантные сигналы внести в список, получаю warnings, но до сих пор все работало и так...
Интересно на что влияет не полный список чуствительности... cranky.gif
Go to the top of the page
 
+Quote Post
Maverick
сообщение Sep 3 2008, 08:02
Сообщение #4


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Саша Z @ Sep 3 2008, 10:44) *
Интересно на что влияет не полный список чуствительности... cranky.gif


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

З.Ы. Где-то на форуме этот вопрос поднимался


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
XVR
сообщение Sep 3 2008, 11:37
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(Maverick @ Sep 3 2008, 12:02) *
Насколько я понимаю не полный список чуствительности влияет только на моделирование, а на синтез не влияет,
Отнюдь, сравни

Код


awlays @(posedge clk, posedge reset)

if (reset) Q <= 0;

else Q <= D;


и

Код


awlays @(posedge clk)

if (reset) Q <= 0;

else Q <= D;


первый - D тригер с АСИНХРОННЫМ сбросом, второй - с СИНХРОННЫМ
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Sep 3 2008, 11:54
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Цитата(XVR @ Sep 3 2008, 15:37) *
Отнюдь, сравни

Код


awlays @(posedge clk, posedge reset)

if (reset) Q <= 0;

else Q <= D;


и

Код


awlays @(posedge clk)

if (reset) Q <= 0;

else Q <= D;


первый - D тригер с АСИНХРОННЫМ сбросом, второй - с СИНХРОННЫМ


да, но если убрать posedge из первого списка:

Код


awlays @(posedge clk, reset)

if (reset) Q <= 0;

else Q <= D;


то тоже полуачем асинхорнный сброс, точно так-же как видимо и в

Код


awlays @(posedge clk)

if (reset) Q <= 0;

else Q <= D;


я ошибаюсь ?

Цитата(sazh @ Sep 3 2008, 13:43) *
Да. Только не в ресете. А по сформированному ресету в нужном Вам состоянии. А лачи наверно из за неполного описания состояний в case. Надо или полное или состояния по умолчанию.


Значит без внешнего resetа все-таки не обойтись... , т.е. придется шить на борту... sad.gif
Go to the top of the page
 
+Quote Post
XVR
сообщение Sep 4 2008, 10:56
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(Саша Z @ Sep 3 2008, 15:54) *
да, но если убрать posedge из первого списка:
Код

awlays @(posedge clk, reset)
if (reset) Q <= 0;
else Q <= D;

то тоже полуачем асинхорнный сброс,


Это не асинхронный сброс - это вообще невесть что, оно будет защелкивать D в Q по заднему фронту

reset (в добавок к положительному фронту clk). Синтезатор должен обругаться

Цитата
точно так-же как видимо и в
Код

awlays @(posedge clk)
if (reset) Q <= 0;
else Q <= D;

я ошибаюсь ?
Ошибаешься, это СИНХРОННЫЙ сброс, само по себе выставление reset в 1 не сбросит Q в 0, а произойдет это только по переднему фронту clk (это собственно и определяется списком чуствительности)




Цитата(Maverick @ Sep 3 2008, 16:50) *
Я имел ввиду при описании на VHDL
А что, VHDL каким то особенным способом интерпретирует списки чуствительности? Или синтезатор при синтезе с VHDL имеет право их проигнорировать, заодно нарушив семантику? sad.gif
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Sep 4 2008, 11:32
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Цитата(XVR @ Sep 4 2008, 13:56) *
Это не асинхронный сброс - это вообще невесть что, оно будет защелкивать D в Q по заднему фронту

reset (в добавок к положительному фронту clk). Синтезатор должен обругаться


Может быть, я не знаком с синтаксисом Verilogа

Цитата(XVR @ Sep 4 2008, 13:56) *
Ошибаешься, это СИНХРОННЫЙ сброс, само по себе выставление reset в 1 не сбросит Q в 0, а произойдет это только по переднему фронту clk (это собственно и определяется списком чуствительности)


Да, опять-же синтакс Verilogа мне мало знаком (если вообще), посему наверно и недопонял.

Цитата(sazh @ Sep 3 2008, 15:18) *
Я же выкатил реализацию, как без внешнего ресета обойтись. Если нужна запись константы в регистр только по включению питания. Сплошь и рядом ее по включению питания (Альтера) использую.
И на xilinx должно пройти. Пробуйте. Смотрите реализацию в RTL просмотрщике и количество задействованных ресурсов.


Спасибо за подсказку, реализовал что-то подобное. Дало возможность (в смысле реализация такого resetа) и использовать счетчик на задержку начало работы контролей выходов .
Симулируется хорошо в functional, синтезировал под Xilinx, загрузил в чип - работает как часы... a14.gif

Но странная вещь происходит: пытаюсь симулировать в post-route functional и post-route timing - reset (и все что на него завязано) не работают... 07.gif . Симуляция показывает reseta не происходит вообще.
Не пойму почему...то-ли такая реализация сильно привязана к технологии конкретного чипа/бренда (возможно в Xilinxовой CPLD работает, а в Latticeовской (под которую и симулировал) - не будет ?)
Странно....
Go to the top of the page
 
+Quote Post
sazh
сообщение Sep 4 2008, 15:15
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Саша Z @ Sep 4 2008, 15:32) *
загрузил в чип - работает как часы... a14.gif
Но странная вещь происходит: пытаюсь симулировать в post-route functional и post-route timing - reset (и все что на него завязано) не работают... 07.gif . Симуляция показывает reseta не происходит вообще.
Не пойму почему...то-ли такая реализация сильно привязана к технологии конкретного чипа/бренда (возможно в Xilinxовой CPLD работает, а в Latticeовской (под которую и симулировал) - не будет ?)
Странно....


Если я правильно понял, в железе xilinx реализация типа моей работает, а post-route timing в моделсиме это не работает. так не должно быть. Если конечно отрабатываются указания синтезатору при моделировании. Нюанс такой реализации заключается в том, что схема базируется на установке всх регистров по включению питания в ноль. А далее нужно смотреть как синтезатор отнесся к той части схемы, на которой реализованы внутренний ресет по включению питания. Эта часть схемы функционирует только во время "инициализации" по включению питания и не обладает периодичностью, как если бы ресет был бы внешний.
Синтезатор и может быть симулятор (если во времени это не ощущает) может минимизировать эту часть схемы, выбросив формирователь ресета и задать его константой 1, а значит и интервала не будет.
У Квартуса например есть специальное указание синтезатору. Кстати, указание внутренним сигналам в разделе инициализации проекта не минимизирует такую схему. Это по ресурсам в мап технологическом видно (константа 1 или счетчик формирования интервала). И временное моделирование это показывает в Квартусе, пакет цельный, а в связке с моделсимом я такую конструкцию не пробовал.
Если во временном моделировании этого интервала нет. А по ресурсам такая схема есть, и в железе работает, значит при моделировании в моделсиме в связке с xilinx что то не то. Наверное.
Я ведь выкатил реализацию в том числе и в надежде, что кто то это на других системах опробует.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Саша Z   Проэкт не работает в чипе...   Sep 2 2008, 10:27
|- - Саша Z   Цитата(sazh @ Sep 2 2008, 14:37) Ради инт...   Sep 2 2008, 11:59
||- - sazh   Цитата(Саша Z @ Sep 2 2008, 15:59) Да, до...   Sep 2 2008, 12:47
||- - Саша Z   Цитата(sazh @ Sep 2 2008, 15:47) Почему н...   Sep 2 2008, 13:59
||- - sazh   Цитата(Саша Z @ Sep 2 2008, 17:59) На бор...   Sep 2 2008, 14:22
||- - Саша Z   Цитата(sazh @ Sep 2 2008, 18:22) Посмотри...   Sep 2 2008, 20:00
|- - rv3dll(lex)   Цитата(sazh @ Sep 2 2008, 15:37) Ради инт...   Sep 3 2008, 06:57
|- - sazh   Цитата(Саша Z @ Sep 3 2008, 11:44) Да, бе...   Sep 3 2008, 07:58
||- - Саша Z   Цитата(sazh @ Sep 3 2008, 11:58) Со сторо...   Sep 3 2008, 09:18
||- - sazh   Цитата(Саша Z @ Sep 3 2008, 13:18) Да, ес...   Sep 3 2008, 09:43
||- - sazh   Цитата(Саша Z @ Sep 3 2008, 15:54) Значит...   Sep 3 2008, 12:18
|||- - XVR   Цитата(Саша Z @ Sep 4 2008, 15:32) Но стр...   Sep 4 2008, 17:26
||||- - Саша Z   Цитата(XVR @ Sep 4 2008, 20:26) Это бага ...   Sep 4 2008, 20:48
||||- - XVR   Цитата(Саша Z @ Sep 5 2008, 00:48) В том ...   Sep 5 2008, 05:47
|||||- - Саша Z   Цитата(XVR @ Sep 5 2008, 08:47) Ой. Не п...   Sep 5 2008, 12:59
|||||- - XVR   Цитата(Саша Z @ Sep 5 2008, 16:59) Но все...   Sep 5 2008, 17:57
|||||- - Саша Z   Цитата(XVR @ Sep 5 2008, 20:57) Давай, по...   Sep 5 2008, 20:17
|||||- - XVR   Цитата(Саша Z @ Sep 6 2008, 00:17) Спасиб...   Sep 6 2008, 09:58
|||||- - Саша Z   Цитата(XVR @ Sep 6 2008, 12:58) Проверил ...   Sep 6 2008, 11:25
|||||- - Саша Z   Цитата(Саша Z @ Sep 6 2008, 14:25) Ага, о...   Sep 8 2008, 12:29
|||||- - Саша Z   Цитата(Саша Z @ Sep 8 2008, 15:29) В дого...   Sep 11 2008, 15:23
|||||- - sazh   Цитата(Саша Z @ Sep 11 2008, 19:23) Все, ...   Sep 12 2008, 05:47
||||- - sazh   Цитата(Саша Z @ Sep 5 2008, 00:48) хотя f...   Sep 5 2008, 06:14
|||- - alexander55   Цитата(Саша Z @ Sep 4 2008, 15:32) Не пой...   Sep 12 2008, 05:31
|||- - Саша Z   Цитата(alexander55 @ Sep 12 2008, 08:31) ...   Sep 12 2008, 06:18
||- - Maverick   Цитата(XVR @ Sep 4 2008, 13:56) А что, VH...   Sep 5 2008, 05:19
|- - Maverick   Цитата(XVR @ Sep 3 2008, 14:37) Отнюдь, с...   Sep 3 2008, 12:50
- - BSV   А временнОе моделирование автор делал? Еще интерес...   Sep 3 2008, 08:27
- - Саша Z   Цитата(BSV @ Sep 3 2008, 12:27) А временн...   Sep 3 2008, 10:01
- - BSV   Цитата(Саша Z @ Sep 3 2008, 14:01) нет си...   Sep 3 2008, 12:00
- - Саша Z   Цитата(BSV @ Sep 3 2008, 16:00) Нужен Мод...   Sep 3 2008, 13:56
- - BSV   Цитата(Саша Z @ Sep 3 2008, 17:56) У меня...   Sep 3 2008, 15:45


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 11:57
Рейтинг@Mail.ru


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