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

rolin

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник
  1. Цитата(ViKo @ May 2 2018, 16:33) Обычно биты нумеруются так [MSB:LSB]. И, если заметили, я присвоил игреку икс. Т.е., напишите так, конкретно, и биты прицепятся, как нужно. Y[7:0] = X[0:7]. Это же просто "провода". Увы, нет. В Верилоге идентично, что 7:0 что 0:7. Вы просто указываете необходимый диапазон адресов в удобной для вас форме, но реверса не будет. Эта оказия часто обсуждается, можете по стековерфлоу пройтись. Говорят, что в SystemVerilog есть спецкоманда компилятора для реверса адрессации, но я не особо специалист в этих вещах, просто хобби.
  2. Цитата(ViKo @ May 2 2018, 10:07) А просто выбрать биты Y = X[0:7]? Ну так это то же самое. Будет выбран указанный диапазон линий, старший к старшему, младший к младшему, без реверса. Видимо сама структура Плис не позволяет так вольно обходиться с адрессацией.
  3. Исходники проекта бутлоадера https://github.com/Dfinitski/Odyssey-2_2017...ssey_BL_2.0.zip И программа на Питоне для ПК для работы с ним https://github.com/Dfinitski/Odyssey-2_2017...tLoader_2.0.pyw Бутлоадер реализует 4 слота для хранения прошивок, один из них используется для загрузки самого бутлоадера ( по нулевому адресу). Написано для специфичного девайса, коряво, но работает. Модуль Remote не обновлять, его предупреждение игнорировать, иначе не будет работать, не знаю почему. Также может представлять интерес Gigabit Ethernet trough RGMII стек с ARP, ICMP, UDP уровнями.
  4. Разобрался, все работает. Оказалось, что в Верилоге byte <= byte[0+:7] не реверсирует биты, несмотря на кажущуюся логичность записи. А вообще - берем rbf файл, пишем его по нужному адресу во флешку не забыв реверсировать биты в каждом байте и вперед, все работает.
  5. Цитата(ViKo @ Apr 25 2018, 21:22) Тем, что процессор выполняет меньше команд. У нас немного разные сиcтемы. У меня нет процессора и все делает плисина. В Верилоге обратить байт этo просто byte <= byte[0+:7] Rbf ,шьется во штатную флеш из которой она же потом грузится в режиме AS.
  6. Цитата(ViKo @ Apr 25 2018, 07:45) И, повторю для невнимательных, я ничего не переворачиваю задом наперед. Просто посылаю байты с нужного конца. И чем это отличается одно от другого ? Если я работаю с массивом 256*8 бит, то проще отобразить биты данных еще на моменте формирования буфера, чем потом сушить мозг над адрессацией.
  7. Всем привет. Занимаюсь вот чем-то подобным. Пишу бутлоадер для устройства. Программа на компьютере открывает rbf файл и шлет его кусками по 256 байт на устройство, плисина заливает эти куски постранично во флешку EPCS64. Перед записью производится стирание нужного участка флехи посекторно, участок заведомо больше rbf файла. После записи каждой страницы производится чтение ее из флехии и сравнение с буфером, ошибок нет, пишется правильно. Пишу по нулевому адресу. Проблема в том, что после перезагрузки плисина не грузится. Уже не знаю что делать, ошибок не вижу. Байты перед записью во флеху переворачиваю задом-наперед. Подскажите что-нибудь.
  8. Цитата(dde29 @ Jan 25 2018, 10:03) А на какую температуру - нижний подогрев? На такую, чтобы температура в точке пайки была 200 градусов для свинцовой и 220-240 для безсвинцовой технологии.
  9. Цитата(dde29 @ Jan 24 2018, 21:01) Вы БГАшну микросхему с таким количеством ног паяете одной лишь воздушной станцией??? 484 ноги с шагом 1 мм не бог весть что. Воздушной станцией с нижним подогревом разумеется.
  10. В результате всего этого безобразия было испорчено 11 чипов 4CE55F23 и 5 печатных плат потеряло товарный вид в результате большого количества перепаек. Симптоматика повреждений самая разная. Некоторые чипы потеряли контакты на некоторых ногах внешних рядов, что подтвердило обычная прозвонка тестером - защитные диоды не звонятся. Интересно, что будучи запаянными на плату, при нажатии пальцем на чип в том районе, некоторые контакты временно восстанавливались, то есть поведение как будто плохая пайка. У одного чипа было замыкание между линиями питания 1.2 и 3.3 вольта Одни грузятся из памяти циклически, другие даже не грузятся. Ну и частично рабочие, как уже описано выше было. Проблему я вижу в калибровке паяльной станции. Температура подогрева у меня меряется снизу платы и естественно, требуемые 200 градусов на верхней поверхности не достигаются. С учетом еще и необходимой калибровки, температура подогрева была увеличена на 55 градусов от того что было, чтобы на поверхности было 200 градусов. Температура фена была в принципе правильно откалибрована по температуре воздуха в центре сопла, но какую температуру нужно выставлять, чтобы снизу чипа было 200 градусов ? Фен же сверху дует. Я поставил чип на подставку и выяснил, что для того чтобы снизу чипа было 200 градусов, температура воздуха должна быть 280 градусов. Таким образом, температура воздуха была уменьшена на 70 градусов от того что было. Время пайки при этом практически не изменилось. Правда, проверить новые установки не получается пока - плисины кончились Тем не менее, температура фена 280 градусов уже превышает максимальную допустимую температуру пайки для чипа 270 градусов, но делать нечего, иначе низ не прогреется достаточно. Таким образом, можно сделать вывод, что печка - наиболее безопасный способ пайки благодаря равномерному прогреву, а фен - опасный, так как приходится превышать температуру воздуха на фене.
  11. Решил я перепаять плисины между эталонной платой, которая работает и проблемной платой. Плисина, в которой не работал ПЛЛ, так и осталась нерабочей, а плисина, которая работала, поломалась, только перестал работать другой ПЛЛ, который от 125МГц работал. И пришел я к выводу, что я неправильно паяю чипы и в результате этого они портятся. Паяю на воздушной станции с подогревом, подогрев 200 градусов, температура воздушного потока 350. Понизить температуру не получилось, так как при этом резко возрастало время пайки и от этого могло быть только хуже. Поэтому единственной реальной причиной мог стать слишком быстрый нагрев чипа. Я включал фен сразу на 350 градусов и макимальной подачей воздуха, и плисина, еще не имеющая теплового контакта с платой через шары могла быстро разогреваться до опасных температур за считанные секунды. После пайки, когда я выключал фен, он быстро охлаждался и относительно холодный воздух дул на чип, что могло вызвать деформации корпуса. Теперь я включаю фен на 200 градусов и подымаю температуру ступенчато по 50 до 350. Заканчиваю пайку в обратном порядке. В тоге я перепаял новые плисины на платы и они обе нормально работают. Такие дела.
  12. Оказалось, что это не плисина сдохла, а один из источников питания плохо пропаян был, но это не было причиной проблемы. Чтобы подтвердить или опровергнуть мою догадку, что ПЛЛу не нравятся определенные входы, пробовал подключать один и тат же ПЛЛ к разным входам плисины, благо плата позволяет это дело. Это ничего не дало, наблюдал разного рода спецэффекты, обьяснить которые в здравом рассудке невозможно. Иногда было такое, что перезагрузка плисины меняла картину происходящего. Заменил плисину на новую, но ничего не изменилось. Эталонная плата работает с тем же кодом. Имеется такое предупреждение, связанное с ПЛЛ, повторяется раз 6: КодWarning (332009): The launch and latch times for the relationship between source clock: PLL_inst|altpll_component|auto_generated|pll1|clk[0] and destination clock: PLL_122|altpll_component|auto_generated|pll1|clk[0] are outside of the legal time range. The relationship difference is correct, however the launch time is set to 0. PLL_inst - это первый ПЛЛ, работающий от источника 125 МГц и от которого у меня моргают светодиодики и вообще шевелится вся схема. PLL_122 - выдает только одну частоту 80кГц, используемую для таймера сброса и работает от другого источника 122.880 МГц. Какая между этими ПЛЛ связь, ума не приложу, но Квартус видит между ними какую-то связь. Цитата(nice_vladi @ Jan 5 2018, 11:36) Попробуйте внимательно проверить схему подключения дорожек к ПЛИС.... Спасибо за советы, но тут у меня и перепайка и другая плата уже, но не помогает. Схема давно отлажена, устройство можно сказать серийное. В настоящий момент наблюдаю проблему - PLL_122 выдает частоту примерно в 1000 раз меньше, чем задано. Например, задаю 8 МГц на выход, осциллограф фиксирует примерно 7.3 кГц, частота нестабильная, сигнала locked нет. Другой ПЛЛ PLL_inst работает без проблем.
  13. Похоже у плисины проблемы с конкретными входами тактовых сигналов. Пытался завести клок с другой стороны плисины, не работало, потом заработало, но выходная частота немного отличалась от заданной и плавала в небольших пределах, потом выход заглох, но сигнал locked продолжал оставаться в высоком состоянии. А потом плисина сдохла и перестала грузиться с памяти. (наверное бензин кончился )
  14. Цитата(DmitryR @ Jan 4 2018, 18:34) Так на самом деле может работать при каскадировании счётчиков (ранее я думал, что в Cyclone IV это ещё не поддреживается). Значит используются счетчики от неиспользуемых выходов ПЛЛ, только виззард ничего об этом пользователю не говорит. Работает это и на третьих циклонах, проверено. Думаю, в мире наберется тысщенка плат с третьим циклонами и с ПЛЛ выдающими 80кГц.
  15. Цитата(wolfman @ Jan 4 2018, 13:20) Посмотрите внимательно маркировку плисин, мы один раз нарвались на перемаркированные 1-ые Циклоны. Первые циклоны в корпусе F484 ? Ну не знаю. У них же вроде ноги не совпадают, вообще работать не будут. Даже если бы были третьи циклоны перебитые, то жрало бы так, что я бы заметил. Кстати, некоторые экземпляры плат потребляют больше остальных, какое-то непостоянство у них в этом. Цитата(svedach @ Jan 4 2018, 15:37) Может быть ТС просто повезло с некоторыми PLL? 80 кГц - это очень мало и они не должны работать на такой частоте... Виззард говорит, что может и по факту работает у меня уже давно и на третьем циклоне еще тоже работало. Главное, чтобы счетчики не были заняты на других выходах ПЛЛ. Цитата(DmitryR @ Jan 4 2018, 18:06) Не вижу какая вам разница, просто там всё или нет. Факт, что так, как вы делаете, работать не будет. Факт, что работает, если я на вход подаю такт 125 МГц от другого источника и ПЛЛ вдруг "выздоравливает". Хотя, я не тестирую на 80кГц, я поставил 800кГц, но я проверял и на других частотах выходов и даже пытался вывести тутже частоту, что и зашла - не работает ПЛЛ именно когда вход у нее с этого источника