Jump to content

    

jks

Свой
  • Content Count

    249
  • Joined

  • Last visited

Community Reputation

0 Обычный

About jks

  • Rank
    Местный

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    _._

Recent Profile Visitors

2173 profile views
  1. Пишут что в режиме Motorola SPI можно сделать.
  2. Цитата(Maverick @ Nov 22 2016, 19:13) собственно сами pdf https://www.xilinx.com/support/documentatio...tes/xapp485.pdf https://www.xilinx.com/support/documentatio...tes/xapp486.pdf эти? [attachment=104260:xapp485.zip] [attachment=104261:xapp486.zip]
  3. CellularRAM

    Скорее всего что работать как 8-битная на чтение не будет. На сайте есть модель памяти на verilog. https://www.micron.com/parts/psram/cellular...8mw16bgx-701-it если посмотреть код, то там явно указано, что для поколения выше CellularRAM 1.0 режим чтения с раздельными LB/UB не поддерживается. т.е. при чтении LB/UB должны быть оба 0. CODE ... parameter BY_BITS = 2; parameter CR10 = 2'b01; parameter CR15 = 2'b10; parameter CR20 = 2'b11; parameter GENERATION = 2'b10; // DIDR[7:5] = CR1.5 ... if ((GENERATION > CR10) && (by_n !== {BY_BITS{1'b0}})) $display ("%t ERROR: Async - BY# must be LOW during READ cycles.", $realtime); В симуляторе код не крутил.
  4. 16nm - Finfet TSMC 16FF+ 20nm+ - Planar У FinFet сопротивление канала и утечки меньше. http://www.tsmc.com/english/dedicatedFound...nology/16nm.htm http://www.tsmc.com/english/dedicatedFound...nology/20nm.htm http://www.tsmc.com/english/dedicatedFound...nology/28nm.htm
  5. Цитата(Sagittarius @ Nov 17 2016, 10:57) Спасибо, хоть что то стало прояснятся ... test_family... на max10 выдал 0, хотя это семейство устанавливалось (q16.0), на maxv выдало 1, но раз базы пусты то грустно, а как раз под него тест на gate level simulation и делал. а как включить для max10? Почитал Quartus II Scripting Reference Manual так вроде нет такой магии как "test_family_trait_of" - где про это пишут? Где про это пишут я не знаю, может есть курсы какие Альтеровские для продвинутых пользователей. на MAX10 test_family_trait_of -family max10 -trait HAS_FUNCTIONAL_SIMULATION_SUPPORT должен вернуть 1 test_family_trait_of -family max10 -trait HAS_TIMING_SIMULATION_SUPPORT должен вернуть 0 чтобы включить в QSF проекта надо добавить set_global_assignment -name INI_VARS "ALLOW_TIM_SIM_NETLIST = on"
  6. Для MAX10 можно включить времеНное моделирование, в Q15 и вероятно в Prime тоже. Для V поколения вкючить можно, но базы для симуляции пустые. SDF файлы генерятся, но без задержек . проверить разрешено ли моделирование: load_package advanced_device test_family_trait_of -family max10 -trait HAS_TIMING_SIMULATION_SUPPORT test_family_trait_of -family max10 -trait HAS_FUNCTIONAL_SIMULATION_SUPPORT разрешить генерацию SDF set_ini_var -name "ALLOW_TIM_SIM_NETLIST = on" проверьте может в Prime 16.1 поменялось чего.
  7. Не стал создавать отдельную тему. Но правильней наверное было бы разместить куда-нибудь в раздел САПР. Undocumented Quartus? Исходный код модуля драйвера под Win32/Win64 и небольшой пример по использованию библиотеки jtag_client. Компиилируется под MSVS. [attachment=103889:jtag_hw_sample.zip]
  8. Я вобще сначала пытался на TCL что-то делать, но потом плюнул и решил поискать что-то побыстрее. Надо было найти какой-нибудь универсальный пограмматор для зоопарка для ARM/MIPS/FPGA. В результате сейчас пользую blaster через Альтеровскую либу jtag_client. Там есть полный функционал. И можно писать переносимое ПО под Win/Linux. Была идея JLink с родным драйвером подключить, чтобы разъемы не переставлять каждый раз. Не знаю насколько имеет смысл выкаладывать в открытый доступ либу и описание работы с ней?
  9. Цитата(Raven @ Oct 27 2016, 16:47) Похоже, я далеко не в танке Под рукой Q13SP1, ничего похожего на файл с таким или подобным именем не нашел во всем поддереве. Видимо, совсем не в открытом виде :-) Или это только в Q11 было? Этот файл это продукт интерпретации. Я имел ввиду файлы с расширением *.pdb для 32 битной версии. Там информации более чем достаточно. Надеюсь что не открыл страшной тайны. Вообще я был уверен, что эна инфа уже давно находится Центральном Хранилище Артефактов, раз на марсоходе драйвера с 2011 года лежат. Я доступа туда не имею пока пэтому не знаю что там и как.
  10. Цитата(_pv @ Oct 26 2016, 22:53) исходники-то ладно, а вот описание того, что должна вернуть get_supported_hardware() вы где взяли? Начиная где-то с 11 версии лежит в папке исполняемыми файлами. Не совсем в открытом виде, но разобраться можно и Альтера этому способствует. как-то так. [attachment=103752:alt_jtag_hw.zip]
  11. Выкладывать исходники пока рано, надо причесать в нормальный вид. Могу выложить примерный драйвер - эмулятор. Пока под Win64. Скопировать dll в папку bin64. [attachment=103747:jtag_hw_..._x64.dll.gz] Добавить драйвер jtagconfig --add JTAG-Blaster JDBG9 Удалить jtagconfig --remove <N>, N индекс устройства В Quartus открыть окно программатора и выбрать устройство JTAG-Blaster. В автодетекте должен появиться CycloneIII/IV EP3C6/10. Можно его прошить какой-нибудь прошивкой. В меню tools выбрать Sources&Probes и запустить. Должны появиться виртуальные кнопки/индикаторы. Тестировал в QUA 13.0 - 15.1 64bit.
  12. Тут идея состоит в том чтобы аппаратный JTAG использовать только при начальной конфигурации или каких-то аппаратных вещей типа граничного сканирования. А для отладочных вещей типа SignalTap использовать выделенные линии LVDS. Снаружи в ПК эмулятор SLD_HUB и внутри ПЛИС такой-же ответный но выведенный не на аппаратный JTAG а на выделенный интерфейс. Потому-как VirtualJtag подсистема USER0/USER1 очень медленная и не удовлетворяет современным требованиям. Как вариант можно использовать как логический анализатор или подключать внешние АЦП/ЦАП. Такая мини система сбора данных. Можно еще подключить открытое ПО типа GTKwave итд.
  13. Цитата(Raven @ Oct 26 2016, 18:39) AN-556, p.5 содержит краткое, но емкое описание как причин текущего положения дел, так и перспектив: Т.е., первые варианты исполнения (до-20nm) имеют жесткую зависимость процесса программирования от продолжительности периода TCK, а последние и, думается, все последующие (20nm FPGA - это, как я понял, Arria 10) - от этой жесткой зависимости освобождены. Внутренний контроллер, видимо, сам генерирует импульс правильной продолжительности и не рассчитывает на такую ненадежную субстанцию, как TCK period. И он прав. Э-э-х, батенька, это как раз тот случай, когда не надо бежать впереди паровоза (то бишь, Alter'ы). Программную совместимость с Кактусом как вы думаете всему этому добру обеспечивать? Вот если бы Altera выпустила бы что-нибудь наподобие XVCD protocol specification, как у Хилых, тогда.... Мечты, мечты... :-) 20нм и 14нм архитектура видимо "слишком другая", там похоже все сложно достаточно с безопасностью. Еще одна причина перехода на низкую частоту это защита от неправильной записи NonVolatile ключа. На сколько я понял протокол записи ключа ключ обратно не вычитывается и если при записи произойдет сбой, то получится кирпич. Можно прочитать только регистр состояния. По-поводу программной совместимости с кактусом, то протокол условно открытый за исключением авторских прав, сейчас не-понятно кому принадлежащих. Возможно Интел что-то приоткроет . А если нет, то существует демократический способ. Тут вопрос надо ли это кому-то. Сейчас есть шаблон драйвера под win64/win32, под linux не проверял еще.
  14. Цитата(Doka @ Oct 26 2016, 14:45) Единственное что смущает - фраза в исходниках - 'Mojo bitstream loader v2' но чем она отличается от v3 и почему на ней работает - загадка... Думаю, что правильно было бы написать 'Mojo bitstream loader Version 1.3.0 for Mojo v2', чтобы народ не путать. А так автору конечно респект. Код на жаве для новой и для старой версии особо не отличается кроме This version uses the serial port library JSSC instead of RXTX used in older versions.
  15. Цитата(Raven @ Oct 26 2016, 16:33) Строгость какая-то ... нестрогая Поддержать подобное требование даже в фирменном USB Blaster (I) и его клонах на FT245+CPLD, где fTCK фиксированная - вопрос скорее желания [программистов и маркетинговых людей], чем физической возможности. А за наводку на AN - спасибо (не попадало как-то в поле зрения). [attachment=103742:key.png] из AN556 - p9. Сложно сказать насколько это жесткие требования. Но если частоту фиксировать на 100кГц, то трудно будет работать с СигналТапом и прошивать долго. Можно конечно выделить для прошивания ключей отдельный программатор. В штатном варианте квартус меняет частоту клока динамически при конфигурации бластера. Это надо подшаманить драйвер бластера чтобы он менял частоту. Наводка: jtagconfig --setparam JtagClock 1 100000 // установить jtagconfig --getparam JtagClock 1 // получить значение параметра У марсоходовского драйвера похоже нет такой функциональности. Но если есть желание, то можно подсобить. ПС: А вообще думаю, что пора уже замахнуться на USBlaster III на USB3.0. Концептуально многопортовый JTAG до 100МГц, с возможностью прошивать FPPx8/x16. Ну и параллельные порты или LVDS туда/сюда для подключения к плисине для закачивания/выкачивания данных. А то по JTAG на малой скорости работать не всегда комильфо. Народный такой демократический вариант.