Leka 0 8 декабря, 2007 Опубликовано 8 декабря, 2007 (изменено) · Жалоба 2 ALL Тема интересная, и думаю - нужная. :1111493779: Хотел бы поучаствовать в открытом Verilog-проекте по АВР-совместимому софт-процессору - при условии, если кто-то возмется за разработку/изготовление/рассылку, за недорого, простых макеток со Spartan3A(AN)/Cyclone2(3) (те с одинаковым форм-фактором, но разными FPGA) - на которых и будет доводка. "Чистый" АВР мне неинтересен(зачем клонировать изъяны), я бы подумал об 1) максимально ортогонализированной системе 18-битных команд и программе перекодирования скомпилированного 16-битного кода АВР в загружаемый 18-битный код софт-процессора (естественно, придется отказаться от поддержки команд LPM/ELPM/SPM), 2) однотактном исполнении всех команд (по возможности - опция вставки пустых тактов для совместимости по таймингам). Это позволит оптимизировать софт-процессор по компактности/быстродействию и сохранить возможность использовать ПО для АВР. Под максимальной ортогонализацией понимаю, например, такие частные случаи для команды "MOV dst, src" - как раз укладывается в 18 бит и в 1 такт(по предварительным прикидкам для Спартанов), и вроде охватывает все случаи АВР (кроме LPM/ELPM/SPM): MOV Rd, Rs MOV Rd, (Rs) MOV Rd, (-Rs) MOV Rd, (Rs+) MOV Rd, (s) // (s) ::= {SR|(PC+)|(SP)|Pn|,...} MOV (Rd), Rs MOV (Rd), (Rs) MOV (Rd), (-Rs) MOV (Rd), (Rs+) MOV (Rd), (s) MOV (-Rd), Rs MOV (-Rd), (Rs) MOV (-Rd), (-Rs) MOV (-Rd), (Rs+) MOV (-Rd), (s) MOV (Rd+), Rs MOV (Rd+), (Rs) MOV (Rd+), (-Rs) MOV (Rd+), (Rs+) MOV (Rd+), (s) MOV (d), Rs // (d) ::= {SR|(PC+)|(SP)|Pn|,...} MOV (d), (Rs) MOV (d), (-Rs) MOV (d), (Rs+) MOV (d), (s) MOV Rd, K MOV Rd, (Rz) // Rz ::= {X|Y|Z} MOV (Rz), Rs // Rz ::= {X|Y|Z} Ну и остальные команды (арифметико-логические и переходов) - тоже ортогонализировать. :) Изменено 8 декабря, 2007 пользователем Leka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 8 декабря, 2007 Опубликовано 8 декабря, 2007 · Жалоба Хотел бы поучаствовать в открытом Verilog-проекте по АВР-совместимому софт-процессору Вот в чем смысла не вижу, так именно в этом. Если пользоваться каким-либо готовым ПО - надо делать копию или надмножество. Если делать "свое" - то в первую очередь задумываться о компиляторе. PS. Где-то тут проскакивала тема о компактном RISC ядре. Оставался вопрос о переделке backend компилятора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 8 декабря, 2007 Опубликовано 8 декабря, 2007 (изменено) · Жалоба Вот в чем смысла не вижу, так именно в этом. Если пользоваться каким-либо готовым ПО - надо делать копию или надмножество. Если делать "свое" - то в первую очередь задумываться о компиляторе. Имею в виду именно надмножество - разница в кодировании инструкций. Написать перекодировщик - вообще не проблема. Проблемные инструкции(типа LPM) замещать переходом на подпрограмму. PS. Где-то тут проскакивала тема о компактном RISC ядре. Оставался вопрос о переделке backend компилятора. Какого компилятора - Си? Это проблема. Ассемблер? Нет проблем! Изменено 8 декабря, 2007 пользователем Leka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 10 декабря, 2007 Опубликовано 10 декабря, 2007 · Жалоба 2 ALL Тема интересная, и думаю - нужная. :1111493779: Хотел бы поучаствовать в открытом Verilog-проекте по АВР-совместимому софт-процессору - при условии, если кто-то возмется за разработку/изготовление/рассылку, за недорого, простых макеток со Spartan3A(AN)/Cyclone2(3) (те с одинаковым форм-фактором, но разными FPGA) - на которых и будет доводка. Ну и остальные команды (арифметико-логические и переходов) - тоже ортогонализировать. :) Смысла нет никакого. Если уж и делать процессор то не аврку. А что то легко расширяемое и конвейеризируемое. Иначе, если нужен универсальник проще XSOC16 взять, если жалко 500 баков за ниос, микроблейз отдавать или в асик ставить будете. На очень худой конец берем пиклоблейз и расширяем его до нужной функциональности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 10 декабря, 2007 Опубликовано 10 декабря, 2007 · Жалоба http://electronix.ru/forum/index.php?showtopic=449 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 10 декабря, 2007 Опубликовано 10 декабря, 2007 · Жалоба Какого компилятора - Си? Это проблема. Ассемблер? Нет проблем! Си. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sektoris 0 11 декабря, 2007 Опубликовано 11 декабря, 2007 · Жалоба А каков смысл альтернативных процев? Быстрее? Меньше по объему? Проще писать? Ну за исключением цены естественно. А то я на ниосе зациклился... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexander55 0 13 декабря, 2007 Опубликовано 13 декабря, 2007 · Жалоба А каков смысл альтернативных процев? Быстрее? Меньше по объему? Проще писать? Ну за исключением цены естественно. А то я на ниосе зациклился... Смысла в альтернативных uC нет никаких: -цена -геморрой с компиляторами. Смысл есть только в связке готовый uC-ПЛИС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
torik 0 13 декабря, 2007 Опубликовано 13 декабря, 2007 · Жалоба Ну вот, взяли и раскритиковали человека по полной :( Ну и что, что не видите смысла. Зачем их тогда создают? На одном опенкорс куча всяких контроллеров. А ведь это какой замечательный опыт работы, многие ли могут похвастаться такими проектами? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 14 декабря, 2007 Опубликовано 14 декабря, 2007 · Жалоба Ну вот, взяли и раскритиковали человека по полной :( Ну и что, что не видите смысла. Зачем их тогда создают? На одном опенкорс куча всяких контроллеров. А ведь это какой замечательный опыт работы, многие ли могут похвастаться такими проектами? вы не внимательно читали, смысла нет делать универсальный контроллер ибо таки туева хуча и первыми из них идут арм7, леон, ниос, микроблейз. А вот сделать специализированный это пожалуйста. опыт создания есть, преимущества вроде тоже просматриваются, но подчеркну еще раз это специализированный, а не универсальный процессор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 14 декабря, 2007 Опубликовано 14 декабря, 2007 · Жалоба 2 des00 - не ругайте сильно, я товарисч новый в этом деле , но можно примеры специализированных контроллеров ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tims 0 15 декабря, 2007 Опубликовано 15 декабря, 2007 · Жалоба Специализированные контроллеры - заточенные под определенные задачи со спецефически оптимизированными инструкциями и ресурсами. От небольших микропрограмных автоматов до процессоров с N - количеством инструкций. Иногда автоматы делать проще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexf 0 15 декабря, 2007 Опубликовано 15 декабря, 2007 · Жалоба Нет смысла говорить "нет смысла". :) Почти все подходит под определенные задачи. У меня был проэкт на Спартане 3 с Nanoblaze. Потом перешел на Cyclone, и передал управляющие функции PICу, найденному на opencores. Почему PIC? Для него все ассемблеры/компайлеры/симуляторы заточены. A AVR IMHO на порядок удобнее в работе с достаточно ортогональной системой комманд. Я их много повсюду понатыкал, в основном небольшие - от TINY15 do MEGA162. Так что в след. раз надо будет проц в FPGA - попробую этот AVR. :a14: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 17 декабря, 2007 Опубликовано 17 декабря, 2007 · Жалоба Нет смысла говорить "нет смысла". :) Почти все подходит под определенные задачи. У меня был проэкт на Спартане 3 с Nanoblaze. Потом перешел на Cyclone, и передал управляющие функции PICу, найденному на opencores. Почему PIC? Для него все ассемблеры/компайлеры/симуляторы заточены. A AVR IMHO на порядок удобнее в работе с достаточно ортогональной системой комманд. Я их много повсюду понатыкал, в основном небольшие - от TINY15 do MEGA162. Так что в след. раз надо будет проц в FPGA - попробую этот AVR. :a14: Опять же вы не внимательно(!!!) читаете мои посты. Нет смысла РАЗРАБАТЫВАТЬ универсальный процессор. Про применение универсального процессора я не сказал ни слова. Рассмотрим ваш пример. Может быть я ошибаюсь, но из вашего поста видно что вы не стали разрабатывать собственное ядро, а взяли его готовое с опенкоресов ? Вы же не стали сами с нуля делать полностью совместимое ядро. А вот разработать процессор для конкретной задачи, как это сделал iosifk (www.iosifk.narod.ru) это был правильный вариант решения. Подробности смотрите у него на сайте, все с пояснениями и графиками. ИМХО смысл разрабатывать универсальный процессор есть только в следующих случаях : 1. из-за любви к искусству, что мы и видим на опенкорес. 2. специфика применения (лицензионная частота например для асика, военные применения). 3. реклама, и это мы тоже видим на опенкорес. Удачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexf 0 17 декабря, 2007 Опубликовано 17 декабря, 2007 · Жалоба Опять же вы не внимательно(!!!) читаете мои посты. Я не спорил с Вами, а скорее с другим постом, но это не так важно. Нет смысла РАЗРАБАТЫВАТЬ универсальный процессор. Про применение универсального процессора я не сказал ни слова. Рассмотрим ваш пример. Может быть я ошибаюсь, но из вашего поста видно что вы не стали разрабатывать собственное ядро, а взяли его готовое с опенкоресов ? Вы же не стали сами с нуля делать полностью совместимое ядро. Не стал посколько нашел готовый для решения своей задачи. Надо было не шашечки, а ехать. А в другой раз, когда было скучно, сделал свой просто так... А вот разработать процессор для конкретной задачи, как это сделал iosifk (www.iosifk.narod.ru) это был правильный вариант решения. Подробности смотрите у него на сайте, все с пояснениями и графиками. ИМХО смысл разрабатывать универсальный процессор есть только в следующих случаях : 1. из-за любви к искусству, что мы и видим на опенкорес. 2. специфика применения (лицензионная частота например для асика, военные применения). 3. реклама, и это мы тоже видим на опенкорес. Удачи. Не спорю ни по одному пункту. Удачи и Вам! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться