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

    

iosifk

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

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

  • Посещение

Репутация

0 Обычный

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

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

Контакты

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

Информация

  • Город
    спб

Старые поля

  • skype
    iosifk_mobil

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

23 176 просмотров профиля
  1. По форме - правильно. Но по технической сути за такое вычисление clk2 в проекте разработчика необходимо приговорить к расстрелу на месте....
  2. Есть такая программка - DemoBuilder от фирмы Танида. Запускаете ее в фоновом режиме и она все действия на экране превратит во флэшь анимацию. Которую уже можно выложить или сохранить себе на память...
  3. Мои предложения не технические, а организационные. Первое такое: Есть ли возможность на первую плату запаять кристалл в том же корпусе, но с более "жирной начинкой"? Это просто выгоднее по деньгам, т.к. уменьшит сроки разработки, позволит применить встроенные анализаторы и пр. Ибо время дороже денег. А вот когда заработает, то все равно пойдут доработки после испытаний. Вот там уже и будет смысл "ужимать" проект.... Ну и еще второе. Возьмите себе еще одну машину, как сервер. И на ней запускайте только компиляцию. Особенно на ночь. А правку текстов можно проводить и на более простой машинке... В любом случае, сегодня даже навороченная машина на пару месяцев даст прирост производительности в работе над проектом...
  4. Ну так посмотрите в проекте иерархию. Уберите из проекта все, кроме самого нижнего файла и проводите компиляцию. Постепенно, добавляйте более верхние файлы и смотрите, с какого места пойдут ошибки.. Может быть не указана версия Верилога? По умолчанию 95 года, а используются выражения для более нового 2001 или SV?
  5. И добавлю. Прочтите хотя бы ID микросхем по jtag. Будет понятно, что там хотя бы что-то живо...
  6. # ** Note: (vsim-3812) Design is being optimized... Попробуйте в Моделсиме поставить галочку, запрещающую оптимизацию...
  7. Поскольку фирма жива, то я бы для начала рекомендовал Вам с ними связаться напрямую или через https://ldm-systems.ru/forum/... Написать, позвонить, приехать, попросить показать... Может быть разработчик платы еще у них работает или они знают, как с ним связаться. Что тут сложного? Питание в порядке? Выводы, определяющие загрузку включены и запитаны правильно? ID микросхем по jtag определяется? Скорость передачи битов по jtag уменьшить пробовали?
  8. Делаем автомат. На вход ему подаем сигнал "Старт", в ответ он отдает сигнал "Выполнено". По этому ответному сигналу, сбрасываем "Старт"... Либо сигнал "Старт" ставится на 1 клок и этого может быть достаточно.... На самом деле, в проекте может быть иерархия автоматов, каждый из которых управляет своим уровнем.
  9. А еще в старину монтаж жгутов делали такой пластиковой пружинкой. Ее просто навивали на жгут... И как помню, пружинка была двух размеров по диаметру...
  10. Попробуйте все же в Ксайлинкс написать в техподдержку. Ведь тут требуется явный ответ от них...
  11. Пока Вы разбираетесь, время идет. Поэтому я бы пошел таким путем. Разработчик ядра известен? Я бы для начала написал ему и спросил, какие примитивы и библиотечные узлы из либгайда там использованы. Вероятно что они работают на 6-й серии, но не работают на 7-й серии...
  12. Так в либгайдах, где начинается описание инстанса, всегда давали табличку, в которой говорилось о том, в каких сериях этот инстанс присутствует и работает... Скачайте либгайды на эти серии и смотрите...
  13. Вот кусок от старого проекта. // 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" совсем не сложно... И при таком подходе запускать что с сервера, что с рабочего компьютера - все равно. Здесь один блок инитов - для компиляции, второй для симуляции.
  14. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2012_2/ug953-vivado-7series-libraries.pdf стр12 Verilog Instantiation Template и далее на стр.13 строки .INIT_00(256'h0000000000000000000000000000000000000000000000000000000000000000), вот вместо нулей и пишите коды справо-налево... И никаких файлов инициализации после этого не нужно...
  15. Я брал инстанс из libguide, там для каждого варианта применения блочной памяти все расписано. И далее пример, в котором для блока параметров инициализации памяти, один для симуляции, второй - для синтеза. Эти блоки генерил самодельной программкой, не руками... Нет readmemh, нет путей к файлу инициализации. Все довольно компактно...