ハードウェアの気になるあれこれ

技術的に興味のあることを調べて書いてくブログ。主にハードウェアがネタ。

2021年の抱負的なアレ

新年明けて、もう1週間以上経ちましたね、おめでとうございます!

新年なので、今年何をしたいかとざっくりと書いておこうと思います。 すでに出遅れ間満載ですが、いわゆる年始のポエム的なやーつです。

  • やりたいこと
    • Chiselもっと使えるようになりたい&もっと広めたい
    • Rocket-Chipをもっと突っ込んで調べたい
    • 新しい言語触りたい
    • なんか動いて楽しいもの作りたい
続きを読む

Chisel3.4.0のリリースノートを確認した(5) - groupオブジェクト

Chisel3.4.0の変更点確認の5回目&最後(のはず)の記事。今回は#1073で追加されたgroupオブジェクトについて。

  • (#1073) Grouping Chisel API, added a chisel annotation API for triggering the firrtl.transforms.GroupComponents transformation.
    • groupオブジェクト
続きを読む

Chisel3.4.0のリリースノートを確認した(4) - verificationオブジェクト

Chisel3.4.0の変更点確認の4回目。今回は#1499で追加されたverificationオブジェクトについて。

  • (#1499) Basic model checking API
    • サンプルからRTLを生成する(Verilog HDL)
    • サンプルからRTLを生成する(System Verilog
続きを読む

Chisel3.4.0のリリースノートを確認した(3) - Module.io / BlackBox.io がdeprecatedになった

Chisel3.4.0の変更点確認の3回目。今回は#1550のioがdeprecated指定に変更された件の影響を確認する。

  • (#1550) Deprecate Module.io and BlackBox.io
    • 変更された理由
    • 影響範囲
    • まとめ
続きを読む

Chisel3.4.0のリリースノートを確認した(2) - naming & prefix

Chisel3.4.0の変更点確認の2回目。今回からは、気になった機能を確認していく。 まず最初はChisel3.4.0の目玉機能である、コンパイラプラグインとPrefixingによる、命名規則の改善について。

  • (#1448) Improved Chisel Naming via Compiler Plugins + Prefixing
続きを読む

Chisel3.4.0のリリースノートを確認した(1) - 概要編

Chisel3.3.0の確認をーーー、、、急がないと3.4.0がー!!ってやってたらChisel3.4.0がリリースされました。
Chisel3.3.0の変更点の確認は、気になったやつは前回で一応おわってて、後はリリースノート確認中に「こんな機能あったんか」案件だったため、ギリギリChisel3.4.0に間に合ったということで。。。

そんなわけで、Chisel3.4.0のリリースノートの確認をしていこうと思う。

  • Chisel v3.4.0がリリースされた
    • 先にざっくりまとめ
    • API Modification
      • (#1563) Better Building of FIRRTL From Source, Use sbt-sriracha for firrtl and treadle source deps
      • (#1580) Add new annotation for Chisel Circuit serialization, --chisel-output-file is added to the ChiselCli.
      • (#1476) Move LFSR16 to Compatibility Mode (Deprecated in 3.2), - Remove deprecated LFSR16 utility
      • (#1550) Deprecate Module.io and BlackBox.io virtual methods (future 2.13 compatibility)
    • Fixes
      • (#1568) Relax plugin scalac phase order
    • Feature
      • (#1448) Improved Chisel Naming via Compiler Plugins + Prefixing
      • (#1499) Basic model checking API
      • (#1515) Allow a counter to be instantiated using a Scala range
      • (#785) Canonicalize construction of Decoupled with no payload
      • (#1485) Memoize the hashcode of the ChiselCircuitAnnotation, improves performance of multi-phase generators
      • (#1073) Grouping Chisel API, added a chisel annotation API for triggering the firrtl.transforms.GroupComponents transformation.
      • (#1203) Add support for ScalaFix.
      • (#1280) Provide an implementation of litOption() for BundleLits
      • (#1405) Switch to HowToSerialize for Emission
      • (#1525) update Select.get(IntermediateAnd)Leafs to work with records
      • (#1527) Allow a counter to be manually reset
      • (#1420) README: add link to website source. Now easier to figure out how to help enhance the content
      • (#1518) Check whether signals escape their when scopes, Include and check when scoping as part of reg/mem/wire/node bindings
      • (#1554) Chisel3 can use treadle to run tests (faster), only depends on Treadle dependency in tests
      • (#1452) make parameters for util modules public
      • (#1557) Recursively generate one-hot multiplexers for aggregates
      • (#1558) Remove use of deprecated PreservesAll, cleanup dependencies, all phases are converted to be more canonical in there specification of dependencies
      • (#1560) Added website docs and mdoc.
      • (#1561) Move multi-clock to explanations
      • (#1562) Updated PR template to include checklist and documentation updates
      • (#1566) Add ChiselPhase, Stop writing files in ChiselStage$ methods, Expand ChiselStage$ helpers
      • (#1570) Update README.md
      • (#1571) Restore and deprecate Chisel.Driver, until we also remove underlying chisel3.Driver
      • (#1572) Add chisel plugin to mill build system. This enables better, more stable naming capabilities in Chisel3
      • (#1573) Add documentation of new plugin.
      • (#1579) bug fix for build.sc
      • (#1583) Fix load memory from file to work with binary
      • (#1590) Improved speed of ChiselPlugin
      • (#1595) Support using switch without importing SwitchContext
    • Miscellany
      • (#1439) Bump 'removed in 3.3' deprecations to 3.4
      • (#1395) Update sbt-site to 1.4.0
      • (#1413) Update scalacheck-1-14 to 3.1.1.1
      • (#1415) Update sbt to 1.3.10
      • (#1429) Update Mergify rules to backport to 3.3.x
      • (#1430) Update scalatest 3.1.2
      • (#1459) verilator_4_016 --> v4.016
      • (#1460) Restore backporting to 3.2.x
      • (#1479) Have defaultVersions specify complete ModuleIDs.
      • (#1481) Remove Deprecated Usages of chisel3.Driver, CircuitForm
      • (#1489) Fix Mergify Backport labeling for 3.2.x
      • (#1493) Don't run FIRRTL in FlattenSpec's ChiselStage
      • (#1495) Add .scala-steward.conf
      • (#1504) fix treadle dependency for mill
      • (#1511) Update Development Meetings Info
      • (#1516) Add Treadle to CI builds
      • (#1524) Update build instructions in README
      • (#1530) Instance API for Importing Modules
      • (#1539) Update OneHot.scala
      • (#1544) Remove ChiselLegacyAnnotation It was private and unused
      • (#1551) Deprecate support for Scala 2.11
      • (#1553) Bump Scala to 2.12.12
続きを読む