Commit Graph

  • 5de2386bb5 Тактовый сигнал, который распространяется по всему проекту, берется с блока PLL. Он умножен на 4 от значения частоты на соответствующей ножке ПЛИС и теперь все модули внутри ПЛИС работают на частоте 100МГц . Так гарантировано получаем один и тот же синхросигнал во всей схеме. Из книжки ПЛИС Xilinx Тарасова И. Е.; master sokolovstanislav 2024-10-21 18:27:29 +0300
  • dfe22a8ab2 Разные способы зачитать из ячейки памяти адреса устройства и ригистра. sokolovstanislav 2024-06-13 16:27:00 +0300
  • 072de08545 Исправил ошибку в подключении PBack. sokolovstanislav 2024-06-11 17:16:18 +0300
  • 0b80c8a3d2 Начали тестирование параллельной шины. Для контроля счетчика полного круга работы с адресным пространством шины добавили новый регистр. Проект при этом изменился - теперь в каждом блоке есть базовый регистр, от которого начинаем считать остальные. sokolovstanislav 2024-06-11 16:21:14 +0300
  • cd65199ea6 Здесь выделено семь бит в регистре SB_CMD для определения полупериода синхросигнала sokolovstanislav 2024-06-10 18:25:59 +0300
  • 2b055193af Этот вариант работает стабильно. Таймаут перенесли в конец любой передачи, чтобы вывести периферийное устройство в начальное состояние. Линия занята SB_CONTROL_LOWER(1) = '1' - появится в начале передачи и закончится после таймаута. sokolovstanislav 2024-06-10 17:52:14 +0300
  • 92fd7969bc Добавили аппаратный контроль таймаута в шине для готовности периферийный плат. Добавили в регистр контроля шины состояние передачи (бит 1). Уменьшили период такта по сихросигналу на четверть. sokolovstanislav 2024-06-07 12:21:36 +0300
  • 6b28fad4b1 Начали тестирование последовательной шины. S_RES (ножка 30С управляется из сервисного регистра SRV_LEDS(14)). Синхросигнал инвертирован в SB. Данные от периферийных устройств неверно заходили в фильтр (исправлено). ПО проходит тесты, пока не работает. sokolovstanislav 2024-06-07 10:50:55 +0300
  • f72d466925 Исправил работу светодиодов в регистре LEDS блока TEST. Поменял местами Er0_in и Er0_out - не схеме названы некорректно. sokolovstanislav 2024-04-11 18:49:35 +0300
  • 5adc23b007 Три блока на шине: PWM, LedController и TEST. В TEST можно прочитать линию Er0_in, а так же управлять светодиодами FPGA_LEDS с пятого по второй. Первый сетодиод остался как индикатор работы ПЛИС. sokolovstanislav 2024-04-09 17:11:52 +0300
  • a9a45aaad4 Изменили все LOWER и UPPER адреса в словах так как контроллер передает сначала младший байт потом старший. sokolovstanislav 2024-04-08 12:29:11 +0300
  • d5abda1db4 400МГц sokolovstanislav 2024-04-04 18:01:15 +0300
  • 4cb6771ea5 Добавил регистр номера сборки в LedController. sokolovstanislav 2024-04-04 16:27:31 +0300
  • e0197a05ac Добавил в проект оптическую шину. sokolovstanislav 2024-04-04 14:15:38 +0300
  • 9394bee3c3 Добавил блок работы с МАЗ, но надо детально проверять состояния автомата. Код переписал, но много путаницы было в проекте для SP2, из-за этого уверености в работе модуля нет. sokolovstanislav 2024-04-03 18:51:31 +0300
  • 6840fdc8d8 Добавил в проект RAM9X8_Loader. sokolovstanislav 2024-04-03 15:17:28 +0300
  • 51ae2e64a4 Добавил в проект LedController. Начал реализацию загрузчика. sokolovstanislav 2024-04-02 18:08:20 +0300
  • da0eef977c Добавил в проект модуль ШИМ (регистры согласно описанию в адресном пространстве). Подключил модуль к портам вводы/вывода, кроме внешнего error. Его пока завел на константу. В каждый цифровой фильтр добавил библиотечный элемент D-тригера (dff), тем самым сместив вправо еще на один такт все сигналы. Такую прошивку надо еще раз тестировать. sokolovstanislav 2024-04-01 18:52:02 +0300
  • 512359714c Начал разработку нового блока PWM. sokolovstanislav 2024-03-28 18:35:51 +0300
  • 845f3fd223 Исправили в соответствии с описанием адресного пространства блок ParallelBusMaster в части счетчика ошибок. Убрали из проекта библиотечные элементы фильтров, оставили один. Добавили синхронный блок инверсии сигналов для работы SerialBus. Настроили буферы на 96 ногой шине в соотвтествии с режимом работы NOT LOAD. Чтобы исправить назначение ног, предназначенных по умолчанию только для конфигурации, необходимо было в Assigments > Device > Device & Pin options > Dual Purpose Pins > двойным кликом на интересующих пинах выбрать regular I/O. Info (169125): Pin ~ALTERA_ASDO_DATA1~ is reserved at location 12 (Здесь у нас nSBclk); Info (169125): Pin ~ALTERA_FLASH_nCE_nCSO~ is reserved at location 14 (LoadMode); Info (169125): Pin ~ALTERA_DCLK~ is reserved at location 23 (остается только для конфигурации); Info (169125): Pin ~ALTERA_DATA0~ is reserved at location 24 (остается только для конфигурации); Info (169125): Pin ~ALTERA_nCEO~ is reserved at location 162 (ТК4); sokolovstanislav 2024-03-28 15:54:34 +0300
  • 5370ab4575 Для конвертирования используем библиотеки use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all. Добавили ParallelBusMaster на схему. Изменили условия чтения и записи в блоках с адресным пространством. При 200МГц синхросигнале скорость передачи двух байт (за два такта) уменьшилась до 110 нс. sokolovstanislav 2024-03-28 13:47:49 +0300
  • 2ece286472 Необходимо конвертировать разные типы данных. sokolovstanislav 2024-03-27 16:40:59 +0300
  • f04720071b Начал разработку нового блока ParallelBus. sokolovstanislav 2024-03-26 18:54:15 +0300
  • fdccda960f Добавил блок SerialBusMaster. Описание адресного пространства https://docs.google.com/spreadsheets/d/1YiDgJD9m-7imFdXdC5MSfWhiwEYSqdSyA5iGffnVPWk/edit#gid=159505595. sokolovstanislav 2024-03-26 14:29:23 +0300
  • 2a0c20ebc0 Перешли на 200МГц sokolovstanislav 2024-03-26 11:59:54 +0300
  • 4b3a28ebbc Заменили все DigitalFilterXXX на один расширяемый с помощью параметров модуль sokolovstanislav 2024-03-26 11:50:50 +0300
  • 5fba6ce8b4 Заменил RAM9X8 на расширяемый с помощью параметров RAM. sokolovstanislav 2024-03-26 10:23:20 +0300
  • f3a7b565e4 Ввели фазовый сдвиг на 4 такта для сигнала WE, так как в режиме записи не успевали выставляться данные на шину данных и ПЛИС зачитывала нули по всем битам. Это помогло стабилизировать запись. Чтение работает хорошо. Полный цикл записи или чтения бвух байт равен примерно 200нс. sokolovstanislav 2024-03-19 18:39:41 +0300
  • b1038bfc75 Убрали конечный автомат из работы RAM9X8, шина заработала с синхроклоком 100МГц. sokolovstanislav 2024-03-19 11:40:31 +0300
  • 99cb989e51 Изменили работу конечного автомата в памяти RAM9X8. sokolovstanislav 2024-03-19 10:39:11 +0300
  • a398de1515 Зафильтровали, используя фазовый сдвиг на один такт, сигналы OE, CE, WE. Перед этим еще дальше сдвинули чтение адреса и проверку OE после спада CE (до 120 нс). Сейчас шина работает стабильно. Так же в этой редакции заработали выходы блока PLL (100МГц и 200МГц). sokolovstanislav 2024-03-15 16:35:16 +0300
  • f6de1e103d В работе модуля RAM9X8 сдвинули на один такт после спада CE проверку адреса. sokolovstanislav 2024-03-15 13:18:52 +0300
  • afea08ff2d Протестировали память. Работает. Сделали новую RAM9X8, где 512 ечеек по 8 бит данных. Избавились от ножек BL. sokolovstanislav 2024-03-14 18:30:15 +0300
  • beef10a15b В описании предыдущего коммита ошибка: память определялась как синхронная. Увеличили размерность памяти 8х32. Со стороны контроллера ввели ножки nBL. Это выбор байта (от 0 до 3) в ячейки памяти. Добавили описание блока памяти. После синтеза, который стал занимать намного больше времени, блок памяти перестал определятся как синхронная память. Данные по загрузке ПЛИС: Total logic elements 10,706 / 24,624 ( 43 % ) Total combinational functions 6,603 / 24,624 ( 27 % ) Dedicated logic registers 8,249 / 24,624 ( 33 % ) Total registers 8249 Total pins 25 / 149 ( 17 % ) Total PLLs 1 / 4 ( 25 % ) sokolovstanislav 2024-03-14 11:27:47 +0300
  • 8c0178953a Изменили блок памяти RAM в соответствие с диаграммой на странице 571 технического описания GD32F403_User_Manual. После синтеза quartus распознал блок как асинхронную память. Вывели на светодиоды синхросигналы из блока PLL для проверки на осциллографе. sokolovstanislav 2024-03-12 17:54:31 +0300
  • 71cbaf57d8 Для согласования работы с процессором было принято решение перейти на питание ПЛИС 3.3В. Внесли изменения в проект. sokolovstanislav 2024-03-12 16:30:45 +0300
  • 6bb13aec36 Откорректировал блок памяти RAM для возможной работы с двумя устройствами одновременно. Одно из них - внешний контроллер. Вторым будет блок сбора информации для обновления данных. Сейчас в блоке памяти нет взаимной блокировки для двух независимых процессов и, существует возможность записать в одну и ту же ячейку памяти в один и тот же момент времени разные значения. В нашем проекте поскольку дальше будет введено ограничение, которое обяжет писать служебные и критические (напрямую участвующие в алгоритмах работы преобразователем частоты) данные только в определенные заранее известные регистры, такое невозможно. Память на уровне использования программистом будет поделена две области. Ту, в которую можно писать и считать записанное значение и ту, из которой можно будет только считать значения. Со стороны устройства будут использованы для записи только те ячейки, которые процессор будет только читать. Со стороны процессора будут использованы для записи только те ячейки, которые блоки внутри устройства будут только читать. sokolovstanislav 2024-03-04 18:16:35 +0300
  • 7ee9a34a42 Начали проект переноса ПО под Альтеру. В проект MainController добавлен блок умножителя частоты и блок памяти на 255 ячеек по 16 бит данных. В память можно записать значение в ячейки и прочитать их оттуда. Преднастроек или каких либо зарезервированных ячеек пока нет. В отличие от проекта для Spartan2 здесь не будет ServiceDataDispatch. Вместо него данные из MCU будут сразу же грузиться в логические блоки (PWM, HWP и другие). sokolovstanislav 2024-03-04 17:16:43 +0300