|
Проэкт не работает в чипе..., В симуляции все ОК, в чипе не работает, может проблема с заданием ног |
|
|
|
Sep 2 2008, 10:27
|
Знающий
   
Группа: Свой
Сообщений: 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
|
|
|
|
|
 |
Ответов
|
Sep 2 2008, 11:59
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(sazh @ Sep 2 2008, 14:37)  Ради интереса в квартусе прогнал. Куча предупреждений, на неполный список чувствительности процесса. Что интересно, реализвция зависит от типа кристалла (CPLD, FPGA) лачи в RTL какие то бессмысленные. Да, дополнил списки чуствительности в процессы. Прогнал опять, не помогло... Вариант без счетчиков - работает в чипе ОК. Код варианта без счетчиков присоединен...
|
|
|
|
|
Sep 2 2008, 12:47
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(Саша Z @ Sep 2 2008, 15:59)  Да, дополнил списки чуствительности в процессы. Прогнал опять, не помогло... Вариант без счетчиков - работает в чипе ОК. Код варианта без счетчиков присоединен... Почему не работает Ваш - не знаю. Вряд ли от ного зависит. Но и работающий никуда не годится. Нет там during system power-up. Закладка на синтезатор и тип семейства. (Скорее всего этот коре ду все же fpga по сути). Скачайте xst.pdf и реализуйте в стиле декодера. У Вас же всего 8 входных состояний (MOTIN0 не используется), простробированных триггерами. По идее каждый входной сигнал принять на 2 триггера по клоку. Реализовать case на 8 состояний для каждого из 4 выходов и простробировать выходными триггерами. Чего проще. А power - up по нулям, так это от структуры кристалла зависит. Если это флеш, то номер наверно не пройдет.
|
|
|
|
|
Sep 2 2008, 13:59
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(sazh @ Sep 2 2008, 15:47)  Почему не работает Ваш - не знаю. Вряд ли от ного зависит. Но и работающий никуда не годится. Нет там during system power-up. Закладка на синтезатор и тип семейства. (Скорее всего этот коре ду все же fpga по сути). Скачайте xst.pdf и реализуйте в стиле декодера. У Вас же всего 8 входных состояний (MOTIN0 не используется), простробированных триггерами. По идее каждый входной сигнал принять на 2 триггера по клоку. Реализовать case на 8 состояний для каждого из 4 выходов и простробировать выходными триггерами. Чего проще. А power - up по нулям, так это от структуры кристалла зависит. Если это флеш, то номер наверно не пройдет. Да, отсутствие power-up reset это мне известно. Увы, борд был спроэктирован подрядчиком, я унаследовал то что получилось, оживлял/изправлял его. На борту есть данный CPLD, их конкретный дизайн - полностью асинхронный, безо-всякого power-up reset. Спасибо им за то что хотя-бы удосужились вставить clk (которым они не пользовались в дизайне). Входа reset нет физически. Посему и извращался пытаясь каким-то образом задать обнулевку счетчика по началу работы... Возможно не будет выхода и придется прособачить внешний RC от power на какию-нит торчащую свободную ногу чипа в качестве power-up reset системы...
|
|
|
|
|
Sep 2 2008, 14:22
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(Саша Z @ Sep 2 2008, 17:59)  На борту есть данный CPLD, их конкретный дизайн Возможно не будет выхода и придется прособачить внешний RC от power на какию-нит торчащую свободную ногу чипа в качестве power-up reset системы... Посмотрите на самом ли деле это структура CPLD. Сейчас модно структуру скрывать. Да и у xilinx своя система установки начального состояния. Если регистры можно по включению питания в ноль установить, то и внутренний сигнал обнуления по клоку тоже можно сформировать. Тогда и Ваша инициапизация в описании сигналов работать будет. Надо только позаботиться, чтобы синтезатор не оптимизировал эту один раз срабатывающую структуру. module power_up // Power-Up Don't Care - off ( input clk, output reg reset_power_up_n ); reg [9:0] cnt_power_up; always @(posedge clk) begin if (cnt_power_up == 10'd1023) reset_power_up_n <= 1'b1; if (cnt_power_up != 10'd1023) cnt_power_up <= cnt_power_up + 1'b1; end endmodule
|
|
|
|
|
Sep 2 2008, 20:00
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(sazh @ Sep 2 2008, 18:22)  Посмотрите на самом ли деле это структура CPLD. Сейчас модно структуру скрывать. Да и у xilinx своя система установки начального состояния. Если регистры можно по включению питания в ноль установить, то и внутренний сигнал обнуления по клоку тоже можно сформировать. Тогда и Ваша инициапизация в описании сигналов работать будет. Надо только позаботиться, чтобы синтезатор не оптимизировал эту один раз срабатывающую структуру. module power_up // Power-Up Don't Care - off ( input clk, output reg reset_power_up_n );
reg [9:0] cnt_power_up;
always @(posedge clk) begin if (cnt_power_up == 10'd1023) reset_power_up_n <= 1'b1; if (cnt_power_up != 10'd1023) cnt_power_up <= cnt_power_up + 1'b1; end
endmodule Сейчас подумалось - возможно есть толика истины в вашем предположени зависимости power-up установки регистров от технологии... Я ведь как и упоминал симулировал под CPLD Латтиса а затем пере-синтезировал под Xilinx и прожигал. Возможно структура Xilinxа отлихается от Lattice и в плане началчной установки регистро по power-up и тогда вполне естественно симуляция под Lattice не дааст уверенности в результате под другого производителя.... Кроме того, я не уверен покажет учитывает-ли симулятор power-up setup регистров конкретного семейства которое он симулирует...при отсутствии implied/forced внешнего reset ?? А, стоп, мало того - я-то симулировал только functional, забыл про post-route....
|
|
|
|
Сообщений в этой теме
Саша Z Проэкт не работает в чипе... Sep 2 2008, 10:27 rv3dll(lex) Цитата(sazh @ Sep 2 2008, 15:37) Ради инт... Sep 3 2008, 06:57 Саша Z Цитата(sazh @ Sep 2 2008, 15:37) лачи в R... Sep 3 2008, 07:44  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  Maverick Цитата(Саша Z @ Sep 3 2008, 10:44) Интере... Sep 3 2008, 08:02   XVR Цитата(Maverick @ Sep 3 2008, 12:02) Наск... Sep 3 2008, 11:37    Саша Z Цитата(XVR @ Sep 3 2008, 15:37) Отнюдь, с... Sep 3 2008, 11:54     sazh Цитата(Саша Z @ Sep 3 2008, 15:54) Значит... Sep 3 2008, 12:18     XVR Цитата(Саша Z @ Sep 3 2008, 15:54) да, но... Sep 4 2008, 10:56      Саша Z Цитата(XVR @ Sep 4 2008, 13:56) Это не ас... Sep 4 2008, 11:32       sazh Цитата(Саша Z @ Sep 4 2008, 15:32) загруз... Sep 4 2008, 15:15       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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|