Перейти к содержанию

    

iosifk

Модераторы
  • Публикаций

    4 076
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о iosifk

  • Звание
    Гуру
  • День рождения 23.09.1952

Контакты

  • Сайт
    http://www.iosifk.narod.ru
  • ICQ
    0
  • Skype
    iosifk_mobil

Информация

  • Город
    спб

Старые поля

  • skype
    iosifk_mobil

Посетители профиля

23 164 просмотра профиля
  1. Мои предложения не технические, а организационные. Первое такое: Есть ли возможность на первую плату запаять кристалл в том же корпусе, но с более "жирной начинкой"? Это просто выгоднее по деньгам, т.к. уменьшит сроки разработки, позволит применить встроенные анализаторы и пр. Ибо время дороже денег. А вот когда заработает, то все равно пойдут доработки после испытаний. Вот там уже и будет смысл "ужимать" проект.... Ну и еще второе. Возьмите себе еще одну машину, как сервер. И на ней запускайте только компиляцию. Особенно на ночь. А правку текстов можно проводить и на более простой машинке... В любом случае, сегодня даже навороченная машина на пару месяцев даст прирост производительности в работе над проектом...
  2. Ну так посмотрите в проекте иерархию. Уберите из проекта все, кроме самого нижнего файла и проводите компиляцию. Постепенно, добавляйте более верхние файлы и смотрите, с какого места пойдут ошибки.. Может быть не указана версия Верилога? По умолчанию 95 года, а используются выражения для более нового 2001 или SV?
  3. И добавлю. Прочтите хотя бы ID микросхем по jtag. Будет понятно, что там хотя бы что-то живо...
  4. # ** Note: (vsim-3812) Design is being optimized... Попробуйте в Моделсиме поставить галочку, запрещающую оптимизацию...
  5. Поскольку фирма жива, то я бы для начала рекомендовал Вам с ними связаться напрямую или через https://ldm-systems.ru/forum/... Написать, позвонить, приехать, попросить показать... Может быть разработчик платы еще у них работает или они знают, как с ним связаться. Что тут сложного? Питание в порядке? Выводы, определяющие загрузку включены и запитаны правильно? ID микросхем по jtag определяется? Скорость передачи битов по jtag уменьшить пробовали?
  6. Делаем автомат. На вход ему подаем сигнал "Старт", в ответ он отдает сигнал "Выполнено". По этому ответному сигналу, сбрасываем "Старт"... Либо сигнал "Старт" ставится на 1 клок и этого может быть достаточно.... На самом деле, в проекте может быть иерархия автоматов, каждый из которых управляет своим уровнем.
  7. А еще в старину монтаж жгутов делали такой пластиковой пружинкой. Ее просто навивали на жгут... И как помню, пружинка была двух размеров по диаметру...
  8. Попробуйте все же в Ксайлинкс написать в техподдержку. Ведь тут требуется явный ответ от них...
  9. Пока Вы разбираетесь, время идет. Поэтому я бы пошел таким путем. Разработчик ядра известен? Я бы для начала написал ему и спросил, какие примитивы и библиотечные узлы из либгайда там использованы. Вероятно что они работают на 6-й серии, но не работают на 7-й серии...
  10. Так в либгайдах, где начинается описание инстанса, всегда давали табличку, в которой говорилось о том, в каких сериях этот инстанс присутствует и работает... Скачайте либгайды на эти серии и смотрите...
  11. Вот кусок от старого проекта. // ROM starts here RAMB16_S18 ROMA // program space ( .WE (1'b0), .EN (ram_rd_ena), .SSR (1'b0), // signal to command memory, .CLK (clk), // signal to memory, .ADDR (ps_cnt[9:0]), .DI (16'h00), .DIP (2'b00), .DOP (), .DO (ps_data[31:16]) ); RAMB16_S18 ROMB // program space ( .WE (1'b0), .EN (ram_rd_ena), .SSR (1'b0), // signal to command memory, .CLK (clk), // signal to memory, .ADDR (ps_cnt[9:0]), .DI (16'h00), .DIP (2'b00), .DOP (), .DO (ps_data[15:0]) ); // Date, Time - 15.11.2004 18:14:16 // 1K word 2 x 1024 x 18 // A - Hi word // B - Low word // //synthesis attribute INIT_00 of ROMA is "80008000800080008000800080000000A8004304800000008000980000008000" //synthesis attribute INIT_00 of ROMB is "017A00CB00AC0089002F007F029A000000090A00000100000006000B0000002F" //synthesis attribute INIT_01 of ROMA is "0000000000000000000000000000800080008000800080008000800080008000" ... //synthesis attribute INIT_29 of ROMB is "000000000808000000000000029F0000029400000298000A00000000FFFFFFFF" //synthesis attribute INIT_2A of ROMA is "0000000000000000000000000000000000008000000090009800420D80004A10" //synthesis attribute INIT_2A of ROMB is "00000000000000000000000000000000000002A30000000000040A050001080A" //synthesis translate_off defparam ROMA.INIT = 18'h0; defparam ROMA.SRVAL = 18'h0; defparam ROMA.WRITE_MODE = "WRITE_FIRST"; defparam ROMB.INIT = 18'h0; defparam ROMB.SRVAL = 18'h0; defparam ROMB.WRITE_MODE = "WRITE_FIRST"; defparam ROMA.INIT_00 = 256'h80008000800080008000800080000000A8004304800000008000980000008000; defparam ROMB.INIT_00 = 256'h017A00CB00AC0089002F007F029A000000090A00000100000006000B0000002F; ..... defparam ROMA.INIT_29 = 256'h000000004A10000000000000800000008000000080009800521100005129510C; defparam ROMB.INIT_29 = 256'h000000000808000000000000029F0000029400000298000A00000000FFFFFFFF; defparam ROMA.INIT_2A = 256'h0000000000000000000000000000000000008000000090009800420D80004A10; defparam ROMB.INIT_2A = 256'h00000000000000000000000000000000000002A30000000000040A050001080A; //synthesis translate_on // ROM stops here У меня был самодельный ассеблер, который в файле искал строку: // ROM starts here и потом до строки // ROM stops here врезал кусок описания памяти... Собственно собрать данные в строки и к ним добавить куски "defparam ROMA.INIT_29 = 256'h" совсем не сложно... И при таком подходе запускать что с сервера, что с рабочего компьютера - все равно. Здесь один блок инитов - для компиляции, второй для симуляции.
  12. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2012_2/ug953-vivado-7series-libraries.pdf стр12 Verilog Instantiation Template и далее на стр.13 строки .INIT_00(256'h0000000000000000000000000000000000000000000000000000000000000000), вот вместо нулей и пишите коды справо-налево... И никаких файлов инициализации после этого не нужно...
  13. Я брал инстанс из libguide, там для каждого варианта применения блочной памяти все расписано. И далее пример, в котором для блока параметров инициализации памяти, один для симуляции, второй - для синтеза. Эти блоки генерил самодельной программкой, не руками... Нет readmemh, нет путей к файлу инициализации. Все довольно компактно...
  14. Если это синтезируемое, то вот так. Регистр с 32 битовым числом сдвигать, выход сдвига подать на вход разрешения счетчика, который и посчитает число единиц.. Вторым счетчиком считать 32 раза и по достижению запретить сдвиг.. А если не синтезируемое, то написать функцию, которая все то-же самое делает в цикле от 0 до 32...
  15. Если бы я сам не работал в Элтехе, то не писал бы. Про стоимость комплектующих - был опрос нескольких сотен клиентов Элтеха. Так что результаты - вполне достоверные. Далее. Продукцию ADI Компелу поставляет именно Элтех, через свой партнерский отдел и это тоже факт. Далее. Продукция, особенно серьезная поставляется под "проект". Т.е. менеджер Элтеха, в базе данных ADI, а не Элтеха создает запись, в которой именно под конкретное изделие и у конкретного клиента резервируется требуемое количество микросхем. Другое дело, что эти микросхемы не лежат на складе Элтеха, а приезжают по мере готовности. При 6000 шт вполне можно согласовать график поставок. И если Вы говорите о том, что "надо ждать неделю", то это значит, что скорее всего, Ваш отдел снабжения плохо работает... И мои выкладки относятся именно к коммерческим изделиям... Какая там у Вас прибыль я не знаю, но то, что каждая лишняя неделя разработок приносит убытки - это тоже факт, который Вы можете уточнить у Вашего руководства...