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

Scala (и библиотека Chisel) людям отребовалась на этапе создания полностью конфигурируемых моделей. После правки одного конфиг. файла можно получить как 32, так и 64 битный проц. Кроме того, на выходе не только синтезабельный верилог, но и высокоточная модель на Си, которая моделируется в разы быстрее.
Все это можно сделать и стандартным Verilog-ом. Превращение в Си делается платными и очень дорогими инструментами, но делается.

 

Ну и задать разрядность регистров `define-ом тривиально.

 

Даже в библиотеке корок Microsemi лежит ядро от Sifive, которое сгенерено из Скалы.
Это из-за лени писать с нуля, а не преимущество скалы.

 

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


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

Да есть такая фича, (2.1.3 Generating the Verilog)

https://chisel.eecs.berkeley.edu/2.2.0/getting-started.html

 

Только вопрос получится ли таким кодом против ARM-а боротся.

Может будет проигрышь по скорости, потреблению.

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


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

Поковырялся пару месяцев со SCALA для RISC-V (Chisel). Впечатления двоякие. Есть возможность писать Verilog black-box(т.е. вставки) для особо ответственных применений, но я чувствую все это сгенерит такой Verilog-source, что потом не разобраться при всем желании. Обсуждал эту тему с ребятами из МИЭТ - они с этим солидарны.

 

case-statement в chisel организованы отвратительно - там нет взаимоисключающих событий как в Verliog - кто хочет может через if else писать...

 

Обсуждал RISC-V с инженером пишушим конвейер процессора MIPS. Говорит в RISC-V содрали их архитекткру но переставили местами операнды и ничего нового туда не привнесли. К тому же ядро RISC-V не включает out of order исполнение и ряд других фишек что не позволяет сделать из него взрослый CPU для вычислений, а когда эти фишки появятся - он перестанет быть открытым...

Лично я вижу проблемой как в MIPS так и в RISC-V сложности в программной совместимостью. Если мы их поборем хотя бы на имкеющихся процессорах Байкал, то с тем же успехом мы их поборем на RISC-V и начинать тут нужно не с процессора, хотя для АСУ ТП и оборонки - очень хорошее решение при условии что вторым писать нужно на System Verilog'е

 

Вообще Chisel штука интересная. Прежде всего тем что на него можно натравить студентов программерских специальностей и они будут вполне таки нормально на нем писать - это более массовый и привычный многим способ программирования. Потому он и родился в стенах американского университета. Утверждается что он не являестя высокоуровневым языкам программирования как бывший когда-то System-C, а является чем то вроде альтернативы System Verilog, опять же повторюсь не для тех кто владеет последним, а для тех кого учили прогать на высокоуровневых языках, коих значительно больше. Если вы знакомы с System Verilog - вы вероятно предпочтете SV.

Изменено пользователем Александр С.

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


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

Только вопрос получится ли таким кодом против ARM-а боротся.
Реальная борьба идет с настоящим Verilog-ом, обкатка и разработка с Chisel.

 

RISC-V - это ISA, а не конкретная реализация, и никто не настаивает на использовании авторского кода.

 

 

Говорит в RISC-V содрали их архитекткру но переставили местами операнды и ничего нового туда не привнесли.

Это абсолютная чушь. Так только кажется первые 10 секунд, плотом становится очевидно, что в отличие от авторов MISP, авторы RISC-V головой думали немного.

Основные отличия:

1. Все индексы регистров всегда фиксированы, а не скачут от инструкции к инструкции.

2. Все константы используют знаковое расширение и знак во всех инструкциях находится в 31 бите опкода. Это позволяет начать расширение знака независимо от декодирования константы. И они пытались как можно больше сохранить позиции бит для констант. Из-за этого они все выглядят как оливье в опкоде, зато декодирование быстрое.

3. Операции умножения и деления возвращают результат в нормальных регистрах, а не в LO HI.

4. ISA заранее содержит механизм расширения до 256-битных инструкций, и компрессию до 16-битных. Сжатый набор по размеру кода дает такой-же выигрыш как и Thumb (20-30%), но при этом гораздо удобнее и проще.

 

И это только базовый набор ~50 команд. Все остальное вектор, DSP, FP) - все новое.

 

А "изобрести" MIPS I/II может любой школьник, который только что о процессорах услышал - это примитив.

 

К тому же ядро RISC-V не включает out of order исполнение и ряд других фишек что не позволяет сделать из него взрослый CPU для вычислений, а когда эти фишки появятся - он перестанет быть открытым...
RISC V - это только ISA, а не конкретная имплементация. Вот вам OOO - https://github.com/ucb-bar/riscv-boom .

 

Лично я вижу проблемой как в MIPS так и в RISC-V сложности в программной совместимостью. Если мы их поборем хотя бы на имкеющихся процессорах Байкал, то с тем же успехом мы их поборем на RISC-V и начинать тут нужно не с процессора, хотя для АСУ ТП и оборонки - очень хорошее решение при условии что вторым писать нужно на System Verilog'е
Это проблемы военки. В коммерческом плане выбор стоит между оплатой лицензии RAM-у или оплатой труда людям, не совсем знакомым с архитектурой, и работающим с не таким богатым набором инструментов. Но ситуация с последним постоянно улучшается.

 

 

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


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

Иван Покровский наверное читает наш форум, раз выложил у себя на сайте основные материалы конференции. За это ему большое спасибо! :)

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


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

Если кто занимался этим, посоветуйте, плиз, verilog-репозиторий с желательно облегченной (без кэшей и с минимумом периферии) реализацией 16 или 32 бит RISC-V.

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


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

Если кто занимался этим, посоветуйте, плиз, verilog-репозиторий с желательно облегченной (без кэшей и с минимумом периферии) реализацией 16 или 32 бит RISC-V.

 

Похоже что PicoRV32 наименее навороченный - https://github.com/cliffordwolf/picorv32

 

Я только что опубликовал свою реализацию - https://github.com/ataradov/riscv . Но это сильно любительский проект, я на звание гуру не претендую. Сейчас все сильно заточено на работу с FPGA и активное использование двухпортовой памяти для программы/данных. Я активно работаю над улучшениями. Проектов для FPGA пока не публикую, так как они пока что в сильной разработке.

 

Это ядро проверенно на MAX 10 и вроде работает.

 

Главная цель моего проекта - простота использования в качестве простого котроллера для FPGA проектов, ничего более.

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

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


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

Если кто занимался этим, посоветуйте, плиз, verilog-репозиторий с желательно облегченной (без кэшей и с минимумом периферии) реализацией 16 или 32 бит RISC-V.

 

- SCR1 система команд RV32I|E[MC] от компании Syntacore

- Freedom E310 RV32(I/E)MC от компании SiFive, кроме того его под себя адаптировали Microsemi тут

- E203 RV32IMAC от китайской компании Silicon Integrated

- uRV RV32IMC от CERN

- проект pulp от Цюрихского и Болонского гос. универов, но там возможно слишком много периферии для вас.

 

Есть ещё более 10 открытых проектов, но они либо не 32 с компактным набором инструкций, либо не развиваются.

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


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

Скажите пожалуйста, в чем суть RISC-V? Она дает кучу инструкций на такт? Какие преимущества, помимо очень важного что оно открытое.

Из того что понял - есть сверх базовый набор инструкций, код для которой заработает на любой вариации, но можно легко добавлять свои супер-ускоренные инструкции и и вариации - это тоже очень хорошо на фоне открытости.

 

Но что есть еще?

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


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

Скажите пожалуйста, в чем суть RISC-V?
Это просто набор инструкций. Как вы его исполнять будете - это ваше дело, хоть все одновременно.

 

Но что есть еще?

А нужно что-то еще? Независимость от ARM-а уже не плохо, особенно учитывая его новых зозяев.

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


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

То что над компилятором и прочими утилитами не нужно ломать голову + то что тесты уже готовы.

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


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

А нужно что-то еще? Независимость от ARM-а уже не плохо, особенно учитывая его новых зозяев.

 

А чем плохи новые хозяева? SoftBank вложил деньги, а программисты то всё равно британские.

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


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

А чем плохи новые хозяева? SoftBank вложил деньги, а программисты то всё равно британские.

 

Кто девушку ужинает тот ее и танцует. Британским программистам скажут закладки включить - включат и не денутся никуда. Плюс SoftBank продал 25% Саудовской Аравии.

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


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

Британским программистам скажут закладки включить - включат и не денутся никуда.

А разве его не в Vetrilog покупают?

Потом же его по кремнию размазать надо.

 

Плюс SoftBank продал 25% Саудовской Аравии.

 

Согласен. Это опасно. Тут могут на политику повлиять.

С другой стороны тираж миллиардный, и вряд ли они смогут позволить себе такие шалости. Ведь их решения зависят не только от их "боссов", но и покупателей.

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


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

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

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

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

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

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

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

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

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

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