des00 25 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба У меня для проекта "Си как HDL, или Верилог без always" (см. marsohod.org ) написан софт-процессор ткните пожалуйста носом, поиск в проектах на этом сайте привел меня в никуда :( Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ElrondTelvanni 0 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба des00 Я так понял, вот эта тема http://marsohod.org/index.php/forum-33/raz...-proshivki#3101 Только там нет исходников процессора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба возьмите пикоблейз и прокачайте его до нормального уровня (большой регистровый файл, 4К команд, AXI), вот это будет дело Однажды я из любопытства и для тренировки написал за 4 дня на верилоге клон Lattice mico8(это примерно то же, что пикоблейз), когда он ещё был сам по себе. В результате у меня получилась fmax 145MHz против 85 у оригинала, меньше объём LE, и один такт на инструкцию(кроме исполняемых переходов), вместо двух. Потом посмотрел, как криво mico8 интегрировали в систему с wishbone, и энтузиазм сделать так же и опубликовать почему-то пропал:). В общем, я легко могу сделать на верилоге свободный и открытый аналог пикоблейза с улучшенной растактовкой и системой команд(по прикидке, можно, например, сделать 64 общих регистра и 4килослова кода), присобачить его мастером к AXI/Avalon, и написать на TCL ассемблер. А вот сделать под него порт binutils+gcc энтузиазма уже не хватит. Хотя можно, например, сделать точный клон mico8 под AXI, чтобы к нему подходил софт от Латтис. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ElrondTelvanni 0 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба Timmy Поделитесь пожалуйста своими наработками по клону Mico8 (если это не коммерческий проект, конечно). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба В результате у меня получилась fmax 145MHz против 85 у оригинала, меньше объём LE, и один такт на инструкцию(кроме исполняемых переходов), вместо двух. При всем уважении не верю. По тому как : один такт на инструкцию вида reg = opA + opB означает регистровый файл с асинхронным чтением + асинхронное АЛУ. Регистровый файл у латекса сделан на распределенной памяти, поэтому при переводе на однотактность, вы могли только убрать из АЛУ регистры. Этим, при всем желании, вы не могли увеличить тактовую частоту, тем более 1,7 раза. Поэтому имею следующее предубеждение : 1. затык по тактовой мико8 находиться не в АЛУ и причина такой низкой тактовой в чем то другом (двухтактовость как раз можно объяснить). 2. в своей реализации вы явно/неявно вырезали то место, которое к этому приводило и ваш проц не является полнофункциональным аналогом мико8 будет интересно отреверсить ваш код, если выложите В общем, я легко могу сделать на верилоге свободный и открытый аналог пикоблейза с улучшенной растактовкой и системой команд Вот это будет интересно, неужели вы на асихронном АЛУ получите больше 200-250МГц которые дает пикоблейз со своим синхронным АЛУ. Ну и если начнете пилить систему команд, то интересно как вы решите ограничение ширины слова команды == оптимальной разрядности блочной памяти :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба Timmy Поделитесь пожалуйста своими наработками по клону Mico8 (если это не коммерческий проект, конечно). Какую типовую лицензию лучше на него повесить: LGPL, BSD, что-нибудь ещё? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ElrondTelvanni 0 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба Timmy Не знаю, я обычно не заморачиваюсь правовыми вопросами, выкладывая что-либо в общий доступ. Вроде как LGPL самая свободная лицензия, типа делайте вообще что хотите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x736C 0 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба Какую типовую лицензию лучше на него повесить: LGPL, BSD, что-нибудь ещё? BSD :) ~Elrond~, отнюдь. Далеко не такая свободная, как Вам представляется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба лучше всего MITовская лицензия, у меня все открытые проекты под ней идут. Смысл простой : используется как есть, на свой страх и риск. Из ограничений не убирать шапку файла с указанием автора :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x736C 0 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба То есть можно использовать в закрытых коммерческих проектах, менять исходный код? Неплохо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба То есть можно использовать в закрытых коммерческих проектах, менять исходный код? Неплохо. MIT License // Permission is hereby granted, free of charge, to any person obtaining a copy of // this software and associated documentation files (the "Software"), to deal in // the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do so, // subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // правда что-то про автора я тут не вижу :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikolayXXX 0 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба Однажды я из любопытства и для тренировки написал за 4 дня на верилоге клон Lattice mico8(это примерно то же, что пикоблейз), когда он ещё был сам по себе. В результате у меня получилась fmax 145MHz против 85 у оригинала, меньше объём LE, и один такт на инструкцию(кроме исполняемых переходов), вместо двух. Потом посмотрел, как криво mico8 интегрировали в систему с wishbone, и энтузиазм сделать так же и опубликовать почему-то пропал:). В общем, я легко могу сделать на верилоге свободный и открытый аналог пикоблейза с улучшенной растактовкой и системой команд(по прикидке, можно, например, сделать 64 общих регистра и 4килослова кода), присобачить его мастером к AXI/Avalon, и написать на TCL ассемблер. А вот сделать под него порт binutils+gcc энтузиазма уже не хватит. Хотя можно, например, сделать точный клон mico8 под AXI, чтобы к нему подходил софт от Латтис. Большие получились отличия по системе команд от lm8? Не писать же программы в исходных кодах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба Большие получились отличия по системе команд от lm8? Не писать же программы в исходных кодах. меги 128ые (128к флеша) забивали на асме, а тут всего 4к команд. мельчает народ ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 1 19 марта, 2015 Опубликовано 19 марта, 2015 · Жалоба Большие получились отличия по системе команд от ... ? Не писать же программы в исходных кодах. Зависит от компилятора ЯВУ - насколько переносимым является генерируемый ассемблерный код. Например, переходы - на метку, или же смещение задается константой, и тд и тп. Для msp430, например, GCC выдает хороший ассемблерный код в плане независимости от системы команд и машинных кодов - можно внести заметные изменения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 20 марта, 2015 Опубликовано 20 марта, 2015 · Жалоба Выкладываю обещанный клон Мики8.mica8.7z Собирается под XP2 на частоте 137МГц(ну немножко медленнее, чем хвастался:)). С пикоблейзом его сравнить по частоте невозможно, так как нужна оптимизированная версия под Ксайлинкс. Думаю, что будет примерно одинаково(+-20%). Латтис по частоте удалось обогнать за счёт того, что они вообще толком не оптимизируют код. Мой дизайн эффективнее за счёт двухступенчатого конвейера. Ступени: выборка из BRAM(а это доолго); декодирование+выполнение+обратная запись. В сравнении с Picoblaze или LatticeMico8, у меня к критическому пути добавляется вторая половина АЛУ, зато убирается выборка из BRAM, так что выходит примерно то же самое. Теоретически процессор должен быть полностью совместим по командам со старым LatticeMico8, до того, как его пришили к Вишбону. Думаю, что использование 8-битных ядер с кодом более 8-16K нецелесообразно, так как площадь памяти начинает существенно превышать площадь процессора, 8-битное управление большой памятью требует извращений, а ресурсы чипа при этом используются неэффективно. Единственная причина появления монстров типа atmega128, IMHO, в том, что некоторые разработчики страдают синдромом утёнка, изучив в молодости 8051 или AVR или PIC. Всем спасибо за советы по лицензии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться