1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-riscv-boom

Клонировать/Скачать
CONTRIB_AND_STYLE.md 4.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 08.06.2025 20:15 dde21a4

Вклады приветствуются! Если вы хотите помочь, но не знаете, с чего начать, проверьте файл TODO или открытые задачи на GitHub.

Отчеты о багах

Хорошие отчеты о багах неоценимы! Пожалуйста, постарайтесь предоставить воспроизводимые фрагменты кода и попытайтесь подтвердить, что поведение отличается от поведения симулятора Spike RISC-V ISA.

Вклады в функциональность

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

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

Стиль кодирования

Вы можете запустить make checkstyle, чтобы проверить, что некоторые из ваших изменений соответствуют стилю кодирования. Однако, checkstyle не охватывает все случаи кодирования.У нас есть следующие правила кодирования:

  • Переменные на Scala должны быть в нижнем регистре с использованием camelCase
    • Например: localScalaVariableName
  • Переменные на Chisel должны быть в нижнем регистре с использованием snake_case
    • Например: local_chisel_variable_name
  • Классы должны быть в camelCase с заглавной буквой в начале
    • Например: RegisterFile
  • Если переменная относится к определённой стадии, укажите цикл стадии, с которым она связана
    • Например: val f2_valid = Wire(. . . )
  • Круглые скобки для структур управления (for, while, if, when и т. д.) и функций должны быть на той же строке, что и условие
    • Например: for (i <- something) {
    • Например: def foo(): Type = {
  • Круглые скобки для классов и объектов должны быть на следующей строке
    • class SomeModule extends Module
      {
      object SomeObject
      {
  • Элементы, такие как else, . otherwise, и т. д., должны быть на той же строке, что и закрывающая скобка предыдущего блока
    • if (. . . ) {
        . . .
      } else {
  • Круглые скобки после условий должны иметь пробел между ними
    • Например: if (. . . ) {
  • Отступы должны быть в два пробела (БЕЗ ТАБОВ! ). . .
    • if (. . . ) {
        if (. . . ) {
          if (. . . ) {
            . . .
          }
        }
      }
      class SomeModule extends Module
      {
        if (. . . ) {
  • Многострочные комментарии внутри кода должны быть отступлены на второй строке
    • // это начало комментария, которое
      //   переносится на следующую строку, которая
      //   переносится в последний раз
      ```* Чтобы обозначить новый раздел кода, который должен быть отделён комментарием, используйте следующий формат
       * ```
         //----------------------------
         // новая секция, выполняющая что-то
         //----------------------------

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-riscv-boom.git
git@api.gitlife.ru:oschina-mirror/mirrors-riscv-boom.git
oschina-mirror
mirrors-riscv-boom
mirrors-riscv-boom
master