Обо мне
Привет! Меня зовут Лис и это мой блог. Здесь я могу ныть и страдать, писать про код и обо всем.
Декабрь 2024
ПнВтСрЧтПтСбВс
1
2345678
9101112131415
16171819202122
23242526272829
3031
Теги
Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet

30 окт 2024 Ср Навертывание AVR

Вчера я взял свой проект на AVR эмуляторе и оттуда перетащил в новый код, и получилось уже весьма успешно, поскольку с утра у меня получилось нарисовать и в текстовом режиме "Привет мир" и в графическом тоже что-то сделать, причем работает весьма прилично, выдает даже 60 кадров в секунду, и при этом не отстает графика от той, которая будет в реальной ПЛИС. Это радует, потому что в прошлый раз у меня хост-процессор еле справлялся с нагрузкой. Думаю, это из-за того что он уже был довольно старый, 3.2 Ггц по сравнению с 5 Ггц сейчас, да и с опцией оптимизации ускорилось в 2 раза, так что ускорение получилось минимум раза в 3, что по сути дает 30% загрузки ядра, а это хорошо.
Теперь моя задача сначала сделать всю мне необходимую периферию вроде клавиатуры, прерываний, таймера, SD карточки, эмулятора видеоускорителя и так далее. Потом второй задачей будет создать сам видеоускоритель, контроллер SD, и так далее, и внедрить это все в ПЛИС.
Как я и говорил, основная моя задача в том, чтобы сделать процессор, который бы позволял быстро тестировать какие-то определенные модули на верилоге, да и просто рисовать различные демы, конечно же. Также я попробую создать что-то вроде операционной системы, которая будет исполнять байт-код.
Но вообще будущее этой системы пока что неопределенное, на самом деле. Я не знаю что буду делать для нее.
Теги: AVR

29 окт 2024 Вт Проект AVR

Очень часто мне хочется сделать какую-нибудь небольшую программу для ПЛИС на Си и сделать этого мне не удается потому, что у меня нет нормально стандартизированного рабочего проекта на AVR. Возьму из закромов этот проект и вдохну новую жизнь. Сейчас я работаю над проблемой растеризации 3Д-треугольника на ПЛИС, и думаю, что AVR мне сможет помочь быстро писать программу под эти цели. У него все-таки есть большие преимущества для быстрого навертывания кода.
Моя основная задача не в написании процессоров сейчас, а именно в создании и использовании модуля ускорения трехмерной графики. На самом деле, это для меня играет большую роль в данный момент, чем процессоры. Я сделаю процессор AVR, встрою, настрою, но основная цель будет как обычно, демки, цифровые арты, трехмерный ускоритель.
Для процессора будет использовано 64Кб ПЗУ + 64Кб ОЗУ = 128К, и 64+64 двойной видеобуфер. Остается 52К свободной памяти, 32К из которых потрачено будет на текстуры и 20К на различные операционные буферы вроде 4К на знакогенератор и 16Кб для видеоускорителя, к примеру. Мой процессор будет ориентирован на графику, трехмерную и не очень.
Процессор будет писать и читать в видеопамять через порты, чтобы не делать ненужные банки памяти. Скорость записи и чтения из портов в моем процессоре равны 1Т всего, но для закраски экрана будет использоваться запись команды CLS в видеоускоритель.
А еще бы неплохо сделать ускоритель FPU. Процессор AVR тратит много инструкции на то, чтобы умножить и поделить числа, а можно сделать иначе, можно через всего лишь 4Т записи и 4Т чтения поделить 32х битное число, наверное. Ну там еще надо конечно 4Т подождать, наверняка, но все равно, за 12Т делить число быстрее чем за 120Т.
Теги: AVR

13 янв 2023 Пт Конфигурация компьютера на AVR

Однажды, я решил, что мне не нужны никакие высокие разрешения для того, чтобы выводить что-то на экране. И самым интересным и самым ретро-олдовым решением стало 256 x 192 от ZX Spectrum.
screen.png
Мне пришла мысль, что можно сделать интерфейс даже несмотря на такое низкое разрешение от спектрума. Но вот ядро процессора я выбрал не Z80, а другое, а именно AVR. Почему такой выбор я сделал?
  • Он относительно простой в реализации
  • Быстрый, большинство инструкции за 1 такт
  • Достаточно распространен
  • Под него есть компилятор avr-gcc
Так что довольно много преимуществ, но есть и большие недостатки.
  • Памяти всего 64Кб
  • Гарвардская архитектура — память программ и оперативная память раздельные
Память можно расширять различными методами, писать в порты например или использовать банки памяти. И в том, и в том случае есть свои достоинства и недостатки. Можно и так и так сделать, вообще-то.
Эта система на чипе (SoC) все еще не дописана из-за моей легендарной лени. Это не я такой, это жизнь такая, что мне лениво все делать.
Какие у меня планы на этот компьютер и процессор? Да, если подумать, особо то и никаких. Мне лично не требуется какой-то отдельный компьютер для работы и хобби, хватает вообще лишь только одного. Даже два монитора не нужно, обхожусь единственным. У меня есть два монитора, но я их не использую, так что под большим вопросом, а буду ли я вообще использовать свой собственный компьютер? Ответ — нет. А зачем? Что на нем делать? Софта нет, писать не хочу. Конечно, мне как-то хотелось создать что-то вроде своего уютного уголка компьютерного, где я мог бы отдыхать, такая у меня была задача и стремление.
Допустим, что я бы сделал? Ну, к примеру, календарь. Зачем, когда и так есть под рукой несколько на разные вкусы. Или текстовый редактор, и опять-таки, зачем? Зачем, зачем — эти вопросы мучают меня. Есть более выгодные, приятные и правильные альтернативы. Все что я делаю, полностью бессмысленно.
Теги: Процессор, AVR
<< Ранние записи | Поздние записи >>