-
Постов
2 067 -
Зарегистрирован
Весь контент vetal
-
По моему - это лень :) Ничего сложного там нет. Контроллер флэш памяти - обычное периферийное устройство, причем простейшее. По мере наличия времени изучайте основы построения SOC - все уляжется и систематизируется в голове. На той же ХС1 вполне реально поднять небольшой Application Specific процессор и избавиться от лишней головной боли. В общем случае это означает, что на вход вы можете подавать 5в ttl уровни, а 5в кмоп уровни требуют либо делителя либо ограничителя напряжения. По выходу это означает, что вы модете сигнал заводить напрямую на 5В TTL логику, а на 5В КМОП либо через внешний подтягивающий резистор(выход open-drain), если это позволяет выбранная микросхема, либо через преобразователь уровня. Все эти вопросы д.б. описаны в документации на ИМС. Можете использовать документацию с сайта Altera. Для Flex10KA при питании 3,3В, входном напряжении 5,3В входной док д.б в пределах 10мкА.
-
самое маленькое, что есть. Поставляют любую частоту. http://www.phonon.msk.ru/Index.files/Page822.htm
-
С 5В надо поосторожнее обращаться (5-3,3В)/150Ом=11,5мА + фронты.
-
Возможно, что при запуске Active-HDL меняются настройки окружения. Проверьте лицензию Quartus после запуска из Active-HDL.
-
помогите с АЦП
vetal ответил wen113 тема в Вопросы аналоговой техники
Для периодических сигналов читайте по принципам работы стробоскопических осциллографов -
Можно поставить на верхнем уровне доп синхронизатор + фильтр помех. Сгенерированные файлы лучше не редактировать.
-
Visual C++, gcc и т.д. - в полном объеме. Queatasim, Active-HDL, Riviera, Vista,SystemVision,Saber Designer и многие другие - в объеме описанном в их документации. А в общем systemc - это всего навсего библиотека(набор классов, шаблонов, типов, элементов синхронизации...) для компилятора, возможности которой определяются её пользователем.
-
Буквенное обозначение пайки на Э3
vetal ответил Kattani тема в Документация
Нет: X1, X2, X3. Разъемы буквой X у нас на схеме не обозначаются(XS,XP...). -
Буквенное обозначение пайки на Э3
vetal ответил Kattani тема в Документация
Обозначать и маркировать либо цифрой, либо как розъемы X1,X2 ... у нас и так и так проходит -
Какую файловую систему выбрать?
vetal ответил Меджикивис тема в Программирование
Надо просто было позвать администратора. У нас на работе уже лет 5 как флоппики даже не ставят в системный блок :) -
Какую файловую систему выбрать?
vetal ответил Меджикивис тема в Программирование
NTFS. Хотя-бы потому что нет ограничений на размер файлов и путей к ним(уровень вложенных папок). -
Он для того и создавался - чтобы удовлетворить по максимуму потребности. Переваривать ТЗ в таком виде сложновато будет для сложной системы. Использовать получится когда в голове будет полная картина - для перепроверки. Для программиста кубическая интерполяция - просто одна строчка в коде, а на уровне RTL - уже 4х ступенчатый конвейер будет выходить. И хорошо если обратных связей мало, да шаг фиксированный.
-
SC_MODULE(DFF) { sc_in<sc_logic> CLK,CLR,CE,D; sc_inout<sc_logic> Q; void Register(); SC_CTOR(DFF) { SC_METHOD(Register) sensitive << CLK << CLR; } }; void DFF::Register() { if(sc_logic(CLR) == '0') { #ifdef DEBUG printf("CLK rising edge for DFF\n"); #endif if(sc_logic(CE) == '1') { #ifdef DEBUG printf("CE active\n"); #endif Q = D; } else { #ifdef DEBUG printf("CE inactive\n"); #endif } } else { #ifdef DEBUG printf("CLR active - reseting\n"); #endif Q = sc_logic('0'); } } Писать на таком уровне смысла нет - проще сразу на hdl будет. Можно попробовать чуть выше - на уровне транзакций, но без понимания общей концепции хорошего мало получится. На уровне разработчика RTL лучше всего воспринимается DataPath с описанием характеристик функциональных узлов, подробнейшее описание интерфейсов и пр.
-
Как вариант - в начале теста заполнить весь блок 0, а потом перейти к основному тесту. 'X' для OTP плисок можно рассматривать как любую случайную величину, либо как неопределенное состояние(для ram необходимо отдельно узнавать, для триггеров - однозначное значение только после инициализации). В этом случае лучше заложить в ваш проект автоматическую инициализацию блока памяти по сбросу в значение 0. PS: поведение правильного исходного кода не должно отличаться от поведения синтезированной/разведенной схемы. отличие д.б. только в задержках.
-
Параллельного интерфейса у нее нет. Только оследовательный(PS)!
-
FPGA/kit
vetal ответил Frattello тема в Работаем с ПЛИС, области применения, выбор
Базовые элементы FPGA - это LUT(который конфигурируется в xor/nor/nand/and/or...) и DFF . Их параметры приводятся в Datasheet. Классы быстроты согласно системе СИ выражаются в герцах. Это опорный параметр для оценки и выбора реализации. В лоб на FPGA не напрыгнешь. Надо принимать правила игры или есть кактусы. -
1. Реализуйте нужную задачу для одной кнопки. 2. Размножте реализацию на нужное количество книпок. 3. Вынесите общие элементы за скобку.
-
Это вылезает в project navigator после компиляции :) burst adapter если мне память не изменяет.
-
Он ее и решает в соответствии с заданными условиями. Следует иметь ввиду, что если к периферии обращается несколько мастеров, то все burst транзакции будут разбиты по минимальному burst count (32+32+1=1,128+256+128=128).
-
1. см п1. и п2. http://quartushelp.altera.com/9.1/mergedPr..._conn_comps.htm (вместо точек соединений появится количество непрерываемых транзакций от мастера к периферии) 2. Использовать сигнал arbiter lock (дает шину периферийному устройству в исключительное пользование). Я на эту тему где-то тут уже писал. В большинстве случаев стандартный альтеровский контроллер обеспечивает скорость записи по схеме : несколько тактов на доступ к памяти + 1 такт на 1 транзакцию к памяти.
-
Попробуйде установить в настройках арбитража нужный burst count. В противном случае транзакция может быть прервана. Я для "критичной" периферии вместо burst использую захват(вывод на тфт, ввод данных с ацп).
-
Проверяйте также приемную часть задачи. Когда я наткнулся на "артефакты" проблема была именно в программе на ПК : ПО на C# не успевало переварить трафик(сделан прокси на c + winsock2), операционная система может "приостановить" обмен на неопределенный срок (решается буферизацией на передающей стороне). Передавать информацию необходимо блоками данных оптимального размера(как в udp). Тут МК не поможет, т.к. в ПЛИС эту задачу торе решает МК(как правило)
-
В наше время - это не показатель. Подобный проект поднимается из готовых примеров за неделю при отсутствии опыта(с учетом специфики работы в нашей стране :) ). Больше всего времени уйдет на компиляцию проекта ПЛИС. Если требуется гарантия доставки данных необходимо предусмотреть буфер на >0.5 секунды (экспериментально подобрано для windows)
-
В конвейере это делается за 1 такт. Для разрешения 800*600 потребуется ~480000 тыс. точек * 2(двойная буферизация для устранения мерцания) ~=1-3 Мегабайта ОЗУ(в зависимости от требуемой разрядности цвета) Решение : любая FPGA(с небольшим кол-вом встроенного озу) подходящая по цене + загрузочное ПЗУ(если требуется) + внешнее озу подходящее по цене и быстродействию(fast sram, sdram)
-
Вопрос по Quartus
vetal ответил lexa12 тема в В помощь начинающему
Извините за задержку. 70-80 МГц. Реально на сколько я помню ~60-80 МГц было, но уже не помню по какой причине. Делал для EPM7256SRI, APA300 и EPF8282. Частота задается количеством последовательно включенных LCELL или разделительных буферов(задает кол-во макроячеек или LUT), определяется экспериментально по осциллографу/частотомеру и контролируется при производстве. 383.pdf MergePDFs.pdf