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

FPGA

Свой
  • Постов

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

  • Посещение

Весь контент FPGA


  1. Да, подкинули вы мне информацию к размышлению и по теме, и вообще. Есть над чем задуматься. Хотя все это легко может в очередной холивар перерасти, поэтому просьба ко всем участникам не сильно оффтопить по возможности.
  2. Большое спасибо всем! Перейти с одного языка на другой в разгар большого проекта точно не смогу. Буду пробовать в соответствии с рекомендациями, как только что-то сочиню, выложу сюда для критики.
  3. Всем добра! Друзья, подскажите пожалуйста. Нужно создать массив из 8-битных регистров. В целом все понятно, создаем массив так: type Reg_Map is array (0 to 15) of std_logic_vector(7 downto 0); signal Reg : Reg_Map; Чтобы записать, например, в регистр 0, делаем что-то вроде Reg_WR: process (Reset, CLK) begin if Reset = '1' then Reg_Map(0) <= (others => '0'); elsif rising_edge(CLK) then if WR_Enable = '1' then Reg_Map(0) <= Data_In; end if; end if; end process Reg_WR; Все бы ничего, но когда с таким массивом работаешь, адреса регистров и номера конкретных битов указываются цифрами. И понимать, и в дальнейшем сопровождать такой код весьма неудобно, особенно, если нужно что-то изменить в адресах и конкретных битах. Поэтому вопрос - как присвоить регистрам массива и индивидуальным битам регистров осмысленные имена, чтобы впоследствии не менять адреса и биты во многих местах кода, когда возникнет такая необходимость, а изменить один раз там, где они присваиваются? Ну, например, чтобы по адресу 0 был регистр Dev_ID, по адресу 5 - PWM, по адресу 7 - Status и т.д. И, например, в Status регистре бит 0 назвать Err_RX, бит 1 - Err_TX ну и т.д. Мне бы общую идею понять, как это делается... Если не сложно, пожалуйста приводите конкретные примеры кода. Я новичок в ПЛИС и немного запутался. Всем спасибо. Просьба к модераторам перенести тему в правильное место, если я ее создал не там.
  4. А не могли бы вы название этого букваря указать или ссылку дать на него? Спасибо.
  5. А есть ли возможность, как раньше, скачивать или распечатывать тему? Раньше в меню Опции темы были варианты Скачать и Версия для печати. Сейчас ни того, ни другого. И панель смайликов пустая. :(
  6. Uree, спасибо за информацию. Естественно, покликать, потыкать и пощупать самому надо обязательно, только лучше это делать, когда хоть немного понимание появится, а в самый первый раз хотелось пройти по написанному и немного освоиться. Но если не найдутся родные файлы, то воспользуюсь тем, что файлы физически одинаковы и пойду методом научного тыка. А вообще, неужели ни у кого не осталось старых версий в работе, чтобы в папку заглянуть?
  7. Нарыл в сети вот такой ответ. Но в v16.6 такой директории нет. Вероятно, она была присуща более ранним версиям. Если у кого до сих пор есть в работе более ранние версии, вероятно, 15.х, посмотрите, пожалуйста, вдруг есть там заветная папка и эти файлы.
  8. Файлы для Cadence Training Manual

    Начал изучать Allegro PCB Editor. Установил v16.6. В сети нарыл две книги Allegro PCB Editor Training Manual, правда для v16.01. Ну и сразу же наткнулся на проблему. Курс предполагает наличие исходных файлов, а вот где их взять, непонятно. Поиском нашел один из файлов, cds_routed.brd в установочной директории 16.6. Но в руководстве ссылаются и на другие файлы, например, на cds_routed_DRC.brd, который в установочной директории не нашел. В инете тоже все как-то мутно оказалось. В общем, друзья, на вас одна надежда. Если у кого есть файлы или знает, где лежат, просьба выложить здесь или на ФТП. Или в личку...
  9. Найдите схемы цветных телевизоров 3УСЦТ и посмотрите, как в модуле кадровой развертки делали вольтодобавку выходного каскада на время обратного хода. Все вопросы и проблемы сразу же отпадут, там один в один ваша задача решается. Конечно, номиналы придется пересчитать под ваши условия. Удачи! :)
  10. Вообще-то интересно получается, ведь FAN6300A - это квазирезонансник, а NCP-шка - классический токовый контроллер. Я бы не рискнул вот так в лоб менять, но видать, звезды у человека сошлись как надо. :) А по части 1-й ноги - так ведь назначение ее разное, вот и усох делитель до резистора-одиночки. Хорошо, спасибо за вашу помощь, думаю, что инфы теперь достаточно. Попробую раздобыть родное китайское чудо, если не найду, буду мутить на аналогах.
  11. Спасибо, уже что-то. Хотя вопросов только еще больше появляется. :( Китайцы с 1-й ноги на землю влепили 100к резистор, и в сочетании с вашей картинкой это не имеет никакого смысла вообще. Нашел много похожих контроллеров у On Semiconductor, правда эту самую 1-ю ногу все они несколько иначе используют, но это уже подробности. Буду думать. Еще раз спасибо.
  12. Спасибо, очень похоже, но напрягает включение первой ноги, как-то оно совсем по-другому выглядит и создает ощущение, что у клона это уставка какого-то таймера или задание частоты внутреннего генератора. Заказать по ссылке dalincom для меня не вариант, а с торговыми площадками вроде ali express не хочется связываться по понятным причинам, хотя, если ничего не найду, придется рискнуть. Пока подожду, может еще кто что-нибудь подскажет.
  13. Друзья, не может ли кто помочь с опознанием контроллера питания? То, что было, называлось TPV002AS. Гугл особо не помог, судя по всему, это какая-то дремучая китайщина и почти наверняка чей-то клон. Может кто сообразит, чей, глядя на схему включения? Стояла в б/п телевизора Шарп. Внешний вид показать не могу, ее порвало на куски, но если надо, в Гугле можно найти. Спасибо всем. Power.pdf
  14. Илья, вы ошибаетесь, усиление там равно 2, обычный неинвертирующий каскад с Ку=1+R2/R3
  15. А какой телефон вводить для регистрации на GMAIL? Они же номер мобильного требуют, так что делать, тоже выдумывать правдоподобный для последней страны в цепочке или вы просто свой украинский номер им дали?
  16. Действительно странно, у меня все прекрасно работает. Это не заливалка, а просто сайт с моделями. Заходите на страницу и ищете в списке то, что вам нужно, потом качаете. Попробуйте еще по прямой ссылке.
  17. Спасибо вам, Олег. :a14: Интересная петрушка получилась, такой контроллер я в таблице вижу, но в графе "Дополнительные Возможности" EtherCAT не указан. Но не суть, само собой, что в даташите все путем. Жаль только, физики нету встроенной, ну да ладно, если решим остановиться на нем - внешнюю прикрутим. Еще раз спасибо. :cheers:
  18. Понятно. Еще раз спасибо. Я так понимаю, у 4700 нет EtherCAT-а. Ведь так? Попробуем взглянуть на 4300. А вообще странно, картинка по вашей ссылке утверждает, что еще 4800 должны EtherCAT иметь, но таблица процессоров там ниже обходит эту тему молчанием, упоминая только 4300. Не успели еще выпустить, что ли?
  19. Спасибо, интересный вариант. Буду изучать. Вы сами с ними работали? Если да, то какие впечатления?
  20. Планируем использовать EtherCAT в наших системах. Погуглив и почитав, стало ясно, что выбор микросхем контроллеров слейва невелик - Beckhoff, Hilscher да с недавних пор еще Microchip. Ну и плюс реализации на ПЛИС. Почитал даташит на Microchip-овский контроллер, показалось, что описание какое-то кривоватое. Понятно, что при разработке граблей будет немеряно, вот и хотелось бы услышать мнение тех, кто уже имеет опыт такой разработки, и по возможности обойти уже известные грабли. Чьи чипы более надежные, удобные, менее глючные и т.д.? У каких документация более доходчивая? Обсуждение здесь читал, но там общие фразы, а конкретики совсем не густо. Заранее спасибо всем откликнувшимся.
  21. Друзья, большое человеческое вам всем спасибо! И особая благодарность ViKo за толчок в сторону дизассемблирования. Тут такой расклад нарисовался. CRC hex-а прописывается в него же для проверки при самотестировании, т.е. проц считает CRC своей флеш-памяти без этой ячейки, а потом сверяет с ней полученный результат. Если все совпало, работаем, если нет, сваливаемся в повтор, и так до бесконечности. Так вот. Дизассемблировал с помощью v8.12 два файла - архивный и слитый с живого прибора этой же версией. На слитом файле среда видит содержимое этой ячейки правильно и в самом hex-е, и в листинге после дизассемблирования. А вот в архивном файле, созданном в более старой версии - только в hex-е, а в листинге неведомо откуда появляется 0000, т.е. NOP. Вот тут собака, судя по всему, и порылась, т.е. проц просто сваливается в ошибку. Дальше пусть уж начальство решает, что делать. Хотя для себя очень хотелось бы понять, почему такая хрень происходит... Так что похоже, что наиболее близкими оказались предположения Ruslan1 по поводу hex-файла. И еще, не знаю важно это или нет, но эта ячейка - последняя из заполненных, а по предыдущему адресу записана команда RETURN, т.е. возврат в начало программы. Черт его знает, может среда игнорирует все, что после RETURN-а находится?! Хотя границы заполненной памяти вроде бы указывает корректно.
  22. Довольное смелое заявление, учитывая, что наблюдается явно обратное. Восстанавливать ничего не требуется, из обходных вариантов имеется файл, слитый с живого прибора. Так что "усилие мозга" лучше потратить, чтобы понять, как восстановить работоспособность системы с оригинальным архивным файлом. И вот если бы ваш мозг мог в этом посодействовать, это было бы свидетельством преимуществ коллективного разума. Да все буковки проверены уже 100500 раз, тем более, что в среде можно выбрать вариант и с буковкой, и без. На сегодня факт непреложен - один и тот же файл, залитый в одну и ту же микросхему, работает при заливке одной версией MPLAB, старой, и не работает при заливке другой, более свежей. Вы можете возразить, что кривой комп, так вот отвечаю - с более свежей версией пробовали на нескольких компах, меняли ICD2, USB кабель, кабель ICSP интерфейса - результат один и тот же. Что ваш мозг на это скажет? Хотя дизассемблировать ради интереса все же попробую, когда со временем посвободнее будет. Дизассемблер посоветуете?
×
×
  • Создать...