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

Здравствуйте!

 

В свое время искал AVR корку, но ничего подходящего не смог найти.

В результате был создан данный проект, которым и хочу поделиться.

 

В проекте создан CPU с SPI (master), GPIO, интерфейсом к DataFlash и линиями внешних прерываний.

Тестовая программа реализует обмен по Ethernet через ENC28J60 (ARP, Ping и частично UDP).

Из особенностей CPU:

Программируемые адреса прерываний.

Уменьшенное время выполнения некоторых команд.

 

Список поддерживаемых команд находится в файле cpu.txt.

 

Файлы:

test_cpu.qar - проект с CPU.

test_avr - тестовая программа

I8I16.exe - конвертер файлов из Intel HEX в HEX для инициализации памяти в Quartus.

 

С уважением, BSACPLD.

test_cpu.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

rar подошел :beer:, но вижу, что без Квартуса все равно не обойтись. :crying:

Если есть хороший инет, можно скачать по ссылке:

ftp://ftp.altera.com/outgoing/release/61_dvd_windows.iso

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если есть хороший инет, можно скачать по ссылке:

ftp://ftp.altera.com/outgoing/release/61_dvd_windows.iso

Web edition позже скачаю, объем меньше.

 

...

I8I16.exe - конвертер файлов из Intel HEX в HEX для инициализации памяти в Quartus.

...

Без Квартуса залить не получится? У меня тоже есть проект с софт-процессором(самопальным), скомпилированная прошивка заливается/обновляется через последовательный порт после конфигурации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Web edition позже скачаю, объем меньше.

Без Квартуса залить не получится? У меня тоже есть проект с софт-процессором(самопальным), скомпилированная прошивка заливается/обновляется через последовательный порт после конфигурации.

Без Квартуса залить не получиться, потому, что память программ организована как ROM.

Если сделать логику заливки, то можно будет заливать и после конфигурации.

Данный вариант не окончательный, он является лишь частью двух больших проектов.

Я заливаю следующим образом:

1) I8I16.exe

2) Update Memory Initialization File

3) Assembler

4) JTAG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

Программируемые адреса прерываний.

...

Тут, конечно, оригинальный АВР курит тихонько в стороне...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

(Скачать Квартус не получилось.) Кстати, почему Циклон, а не Спартан? У Альтеры нет блочной памяти с асинхронным чтением (у Xilinx есть альтернатива - распределенная память), поэтому у софт-процессоров(альтеровских) с коротким конвейером хуже с компактностью и быстродействием.

Изменено пользователем Leka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пара вопросов возникла:

Есть ли возможность создать программу на "C", и скомпилить под этот процессор? У вас пример на ассемблере. Если реализовано лишь подмножество AVR, то потребуется доводка компилятора.

Или разработка программ планируется только на ассемблере?

 

И второй.

Процессор написан на AHDL. Это ограничивает его использование Альтерой. Почему небыл выбран Verilog или VHDL?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

(Скачать Квартус не получилось.) Кстати, почему Циклон, а не Спартан? У Альтеры нет блочной памяти с асинхронным чтением (у Xilinx есть альтернатива - распределенная память), поэтому у софт-процессоров(альтеровских) с коротким конвейером хуже с компактностью и быстродействием.

Cyclone потому, что этот процессор делался для проекта на Cyclone.

К тому же у Альтеры несколько выше быстродействие, в проекте для которого создавался процессор весь упор был на быстродействие логики (генератор синхроимпульсов), а не процессора.

 

Пара вопросов возникла:

Есть ли возможность создать программу на "C", и скомпилить под этот процессор? У вас пример на ассемблере. Если реализовано лишь подмножество AVR, то потребуется доводка компилятора.

Или разработка программ планируется только на ассемблере?

 

И второй.

Процессор написан на AHDL. Это ограничивает его использование Альтерой. Почему небыл выбран Verilog или VHDL?

Что Вы понимаете под подмножеством AVR? Если Вы имеете ввиду, что он совместим по системе команд, то да.

Данный процессор, скорее даже не AVR, а совместимый по командам с AVR, у него своя собственная периферия и несколько отличная организация памяти.

РОН и РВВ не отображаются на область ОЗУ. Сейчас процессор поддерживает не все команды (см. cpu.txt), если можно будет настроить компилятор соответствующим образом, то можно использовать и "C".

 

AHDL потому, что Verilog я сейчас только изучаю, а AHDL пользуюсь уже давно.

Кстати, а Вы не можете мне посоветовать какую-нибудь толковую книжку по Verilog?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...посоветовать какую-нибудь толковую книжку по Verilog?

На русском - очень мало литературы, для первого знакомства можно:

www.compitech.ru --> архив --> 2..5'2001 С.Емец, 6..7'2001 В.Стешенко.

http://www.platan.ru/shem/pdf/verilog.pdf

http://www.platan.ru/shem/pdf/verilog2.pdf

http://www.platan.ru/shem/pdf/verilog3.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На русском - очень мало литературы, для первого знакомства можно:

www.compitech.ru --> архив --> 2..5'2001 С.Емец, 6..7'2001 В.Стешенко.

http://www.platan.ru/shem/pdf/verilog.pdf

http://www.platan.ru/shem/pdf/verilog2.pdf

http://www.platan.ru/shem/pdf/verilog3.pdf

Спасибо за ссылки! :a14:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так на opencores.org давно уже выложено AVR ядро, как там написано, на 100 % совместимое по системе команд, и можно использовать любой компилятор, поддерживающий AVR.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...