Jump to content

    

Muscat

Свой
  • Content Count

    273
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Muscat

  • Rank
    Местный

Контакты

  • ICQ
    Array

Информация

  • Город
    Array
  1. Так, если кому еще интересно версия 10.4 c лекарством сохранила проблему. Дело не в интеле. Пробую вот такие варианты logic [8191-1:0] ram_buffer0 ; logic [8192-1:0] ram_buffer1 ; logic [4000-1:0][2-1:0] ram_buffer2 ; Пробую вот такие массивы. Массив 0 в списке объектов есть, массив 2 есть, массива 1 нет. Квеста не показывает в списке объектов переменную, если в ней более 8191 элемента. Ее нельзя добавить ни в лист, ни в вейвы, потому что не видна как объект add wave -position end vsim:/tb/UUT/ram_buffer1 Красеньким # (vish-4014) No objects found matching 'vsim:/row_buffering_tb/UUT/ram_buffer1'. продолжаю исследование logic [10000-1:0][5:0] test_ram_buffer_long ; logic [5:0] test_ram_buffer_last ; assign test_ram_buffer_long[10] = 42; assign test_ram_buffer_last = test_ram_buffer_long[10]; Переменная test_ram_buffer_last сохраняет свое значение, в смотрелке вейформ видно ее присвоение. Но объект test_ram_buffer_long не виден. То есть бага не симуляции, а видимо того что дампится в WLF, а что нет. на рабочей тачке такого горюшка не наблюдал, но там RHEL. Дома win7, 16GB RAM.
  2. Хорошая попытка угадать, но нет :) 1. В других версиях квесты купленных за деньги многомерные массивы (packed/unpacked) все видны в списке обьектов. в бесплатном моделсиме от интела не видны. Про Е6 и сознание не понял. 2. Через прямую команду пробовал add wave /tb/uut/array_name пробовал - object not found. Как только массив становится одномерным. то появляется в списке обьектов и по команде тоже доступен
  3. Всем привет, есть вопрос по Questa Sim Пробую бесплатную лицензию от Intel, симулю SystemVerilog. В смотрелке переменных пропадают многомерные массивы. Одномерные есть. Это ограничение бесплатной лицензии?
  4. Вилка 100-150к http://www.superjob.ru/research/articles/1...aty-v-sfere-it/ Вот например 2015 год, потолок для ведущего 200к, средняя 120. Тут вроде не в гугл зовут и в банк.
  5. Коллеги, всем огромное спасибо за советы, ссылки и мнения. По вопросу с бюджетом - если честно не выделял. Сколько получится, сколько меня устроит и мою жабу :) Пока как я понял а) Разводить на ноуте все равно не вариант б) Надо покупать домой отдельный кузов, больше памяти, больше гигагерц. Есть ли смысл брать готовые сборки?
  6. Прошу прощения у модераторов, если тема не по адресу, но хочется услышать именно мнение плисоводов, Задача - нужна машина для работы с FPGA, остальное по мелочи - схемотехника, топология, вижуал студио, матлаб и проч. САПР - Vivado, Cadence Capture, Aldec, Sympify, Altium Designer. С офисной машиной все понятно, накупил серверных ядер побольше и памятия погуще намазал. Но вот дома раньше обходился ноутом 2009 года, а сейчас задумался над обновлением. Ключевые ресурсоемкие задачи - Временное моделирование (большие проекты, тяжелые корки) - Синтез и разводка Xilinx 7Series, Zynq и UScale - Отдельно выделю ресурс - большой экран. Не могу работать за стандартными, привык к 2-3 широкоформатным мониторам, чтобы тут сорцы, там браузер с доками, а тут вейформы с логами. В качестве ключевых критериев выбрал Core i7 и от 12ГБ оперативки Ноутбуки Ноут HP Lenovo Получается 65 тыр, плюс еще отдельный монитор, итого выходит под 90к, это немного минус. Но с другой стороны инструмент же для зарабатывания. Из плюсов мобильность конечно. Стационарный Стационарный - все по все 33к. Больше гигарец и памяти при в 2 раза меньшей цене. Из минусов - не получится разводить и симулить нигде, кроме как дома. С другой стороны можно сидеть со старого ноута набирать код, а тяжелые вычисления крутить на новом ящике, спрятанном дома, по SSH? Но если работать не дома, то опять вопрос мониторов. В качестве монитора друзья предложили попробовать телевизор Например и например разница 25 против 15 при тех же размерах. Если в игры играть не планирую, то может тогда телек? Или он не подходит? Короче вроде вопрос простой, но немного в растерянности Поделитесь опытом, кто чем пользуется для работы вне офиса? Стоит ли овчинка выделки и разорения на ноут? Или все это баловство и надо брать полноразмерный?
  7. Ну вроде разобрались :) Если дефолтный режим асинхронный, то почему флэшка недоступна после конфигурирования, но доступна если загружена по JTAG? Ведь при загрузке по JTAG тоже startupe блока нет, а значит и нет клок?
  8. Да, с направлением клока ошибся :) Так, то есть если я правильно понял, что 1) ПЛИС при подаче питания включилась в режим синхронного чтения из флэшки http://www.xilinx.com/support/documentatio...ries_Config.pdf (Страница 62) 2) Вычитала память, загрузилась и оставила висеть клоковую ногу CCLK_0_N10 (N10) в воздухе http://www.xilinx.com/support/documentatio...p135_rev1_0.pdf (страница 3) 3) Как я понял из описания корки http://www.xilinx.com/support/documentatio...100-axi-emc.pdf Она не может тактировать память, среди External Memory Interface Signals нет клока 4) Надо взять блок Startup2 и передать через него "на улицу" клок s_axi_clk, главное тот что подан на пин rdclk корки. В блокдизайне это делать нельзя, корка не поддерживает, по старинке объявлять ручками во враппере блок STARTUPE2 #( .PROG_USR("FALSE"), .SIM_CCLK_FREQ(10.0)) STARTUPE2_inst ( .CFGCLK (/* NC */), .CFGMCLK (/* NC */), .EOS (/* NC */), .PREQ (/* NC */), .CLK (1'b0), .GSR (1'b0), .GTS (1'b0), .KEYCLEARB(1'b0), .PACK (1'b0), .USRCCLKO (MY_CLK), .USRCCLKTS(1'b1), .USRDONEO (1'b0), .USRDONETS(1'b0) ); http://www.xilinx.com/support/documentatio...ries_Config.pdf (Страница 91) 5) В бутлоадере и приложениях, которые хочу использовать добавить Xilflash в BSP. ( Это уже пробовал раньше, эффекта не было - при загрузке из JTAG и так работало, при загрузке из флэшки и так не работало, убрал :) )
  9. 1) Если EMC в режиме linear flash, то нет доступа к внутренним регистрам (AXI_REG шина не появляется) 2) Не понял? В режиме синхронного чтения клок выходит ИЗ флэшки и идет В ПЛИСу, разве нет? Страница 62 http://www.xilinx.com/support/documentatio...ries_Config.pdf При этом блок STARTUPE (там же страница 92) используется для вывода клока ИЗ плисы, когда используется SPI FLASH. Разве не так? 3) Не менял, но флэшку не вижу после конфигурации из нее. У вас же так же было "по умолчанию"? Вы добавили блок Startupe? Или изменили режим? Последний пункт не понял. Почему не будет? Если ПЛИСа сконфигурирована через JTAG, то как раз все работает, бутлоадер видит флэшку, можно обращаться к данным по указателю. См пункты 3.1-3.3 Для Commong Flash Memory Interface нужно еще какое то ядро? EMC не подходит? Огромное спасибо что так активно и содержательно помогаете
  10. http://ru.aliexpress.com/item/Practical-Ne...1563828031.html 930 рублей новый, а вы продаете за 3500 да еще и б/у
  11. Всем огромное спасибо за ответы Итого остаются те же 2 варианта а) Формовать б) Сверлить. Осталось выяснить, как хотел делать производитель. По сверлению вопрос - сейчас плата с этими транзисторами (а их несколько десятков) разведена так, что они стоят один напротив другого с двух сторон платы. Можно ли сверлить сквозные отверсия и вставлять их с двух сторон? Так можно делать? И попутно тогда - есть ли аналоги этих транзисторов из МОПа? Мы не нашли, но вдруг плохо искали...
  12. http://www.gz-pulsar.ru/images/foto_statiy/cherteg/KT-23.png 10мм полная длина, диаметр корпуса 3.6, итого длина ножки (10-3.6)/2= 3.2мм
  13. Интересует вопрос, как правильно паять корпус КТ-23 http://www.gz-pulsar.ru/index.php/poluprov...-p-n-perekhodom 1) Формовка выводов - но их длина 3.2мм, не слишком ли мало для формовки? ТУ на формовку таких корпусов найти не удалось 2) Сверлить отверствие в плате. Не хотелось бы, тк под ним куча других слоев и дорожек 3) Заливать оловом как есть, тоже колхозно Как правильно? Спасибо за ответы
  14. Реализовали код QC LDPC кол 7154+1022=8176, Столкнулись со следующей проблемой. Смотрим вот эту доку https://standards.nasa.gov/documents/view_o...7/GSFC-STD-9100 Есть "sub-code", который берет 7154 информационных бита (14 кусочкой по 511) и делает из них 1022 проверочных (2 кусочка по 511). Получаем код 8176,7154. Как учит нас этот документ далее, этот код плох тем, что что не кратен 32 битам. Тогда берем информационную последовательность длиной 7136 (223 слова по 32 бита), добиваем 18 нулями до 7154, считаем от "расширенного" слова 1022 проверочных бита, мусорные 18 бит не передаем, а получившуюся конструкцию (7136 исходных и 1022 вычисленных) и добиваем 2 битами до кратности 32х, получаем 7136+1022+2=8160 (255 слов по 32 бита). Тут все понятно. И наконец последнее - код (8176,7156). Что делать с ним совершенно непонятно. Стандарт CCSDS 131.1-O-2 (гугл) говорит, в главе 2 говорит This section describes the base (8176, 7156) LDPC code. For reasons outlined below, implementations should shorten the base code according to the format described in subsection 2.5 В разделе 2.5 говорится о рандомизации, а весь прочий материал посвящен тому, как закодировать 7154 информационных бита. Куда девается 2 бита из 7156 непонятно. The encoder can be designed using the method given in reference [C1.6]. The generator matrix of the (8176, 7156) code consists of two parts. The first part is a 7154 Ч 8176 submatrix in systematic-circulant form as shown in figure 2-5. It consists of a 7154 Ч 7154 identity matrix and two columns of 511 Ч 511 circulants Bi,js, each column consisting of 14 circulants. The Is are the 511 Ч 511 identity submatrices and the 0s are the all zero 511 Ч 511 submatrices. The second part consists of two independent rows. The first part generates a (8176, 7154) LDPC subcode of the (8176, 7156) code. Each codeword in the subcode consists of 7154 information bits and 1022 parity check bits. For reason given in section 2.4, there are advantages in using the subcode implementation. The circulants Bi,js are constructed based on the algorithm given below: Краткое содержание Генераторная матрица кода 8176,7154 состоит из двух частей - одна на картинке 2.5 (единичные матрицы слева и B циркулянты справа) и она генерирует (8176, 7154) LDPC subcode of the (8176, 7156) code Вторая часть состоит из двух независимых строк (что?) The second part consists of two independent rows (каких строк, откуда??) Что делать, если информация 7156 бит? Как ее кодировать таким кодером? Кто работал с этим кодом?
  15. process (fall_edge, rise_edge, state) begin if state /= IDLE then if rising_edge (rise_edge) then - В список чувствительности включайте клок и резет, если юзаете асинхронный резет - Для автоматов удобно использовать case - Сигналы фронтов считывайте тем же клоком, которым их формируете. Всякий раз, когда вы пишите новый if rising_edge() от нового сигнала, то вводите новый клоковый домен (сам страдал этим). В данной ситуации это совершенно лишнее. Лучше писать так process (clk) begin if rising_edge(clk) then case (state) is when idle => if (rising_edge='1') then.... Про разделение протокола на иерархии сказали совершенно правильно. Сам делал SPI следующим образом - Один блок ловит фронты и спады SCK и выдает тычки. И все. - Другой блок задвигается данные из MOSI в регистр и выдвигает данные в MISO из другого (другой был нужен да) принимая тычки предыдущего блока. Он не смотрит на сигнал SCK и на содержание данных в шине. - Третий блок читает эти регистры и делает уже нахлобучку протокола с командными словами, словами данных, пакетами и прочими усложнениями. Он работает со словами и ничего не знает о шине моси мисо.