2024-01-01から1年間の記事一覧
前回はこちら:msyksphinz.hatenablog.com UVMについて理解を深めるために、4入力のArbiterを用いたデザインのUVM検証パタンを作っていこうと思う。 arbiter4.sv デザインとしては非常にシンプルで優先度も単純なのだが、とりあえずこれでUVMが走るところま…
前回:msyksphinz.hatenablog.com github.com RISC-V IOMMUの構成について、概略をざっくり理解するためのメモ。 何回か読もうとして挫折してきたので、もう一度ちゃんと読んでみようと思う。 IOVAを変換するプロセスは、ハードウェアID(device_id とprocess…
前回:msyksphinz.hatenablog.com github.com RISC-V IOMMUの構成について、概略をざっくり理解するためのメモ。 何回か読もうとして挫折してきたので、もう一度ちゃんと読んでみようと思う。 プロセス・ディレクトリ・テーブル (PDT) PDTは、process_id の…
前回:msyksphinz.hatenablog.com github.com RISC-V IOMMUの構成について、概略をざっくり理解するためのメモ。 何回か読もうとして挫折してきたので、もう一度ちゃんと読んでみようと思う。 MSI ページテーブルポインタ (msiptp) .MSIページテーブルポイン…
前回はこちら:msyksphinz.hatenablog.com UVMについて理解を深めるために、4入力のArbiterを用いたデザインのUVM検証パタンを作っていこうと思う。 arbiter4.sv デザインとしては非常にシンプルで優先度も単純なのだが、とりあえずこれでUVMが走るところま…
前回はこちら:msyksphinz.hatenablog.com UVMのさらなるテストベンチを試行するために、以下のウェブサイトのサンプルを試してみることにした。 www.chipverify.com 前回はScoreboardまで作ったので、残りを組み立てていこう。 テストの構成 class test ext…
RISC-V Summit 2024 North Americaの発表資料が一部公開されているので、それを眺めてみよう。 riscvsummit2024.sched.com RISC-V State of the Unionは、Krste Asanovicが毎回基調講演的な感じで、現在のRISC-Vの最新状況を伝える機会になっている。 https:…
前回はこちら:msyksphinz.hatenablog.com UVMのさらなるテストベンチを試行するために、以下のウェブサイトのサンプルを試してみることにした。 www.chipverify.com 今回は以下のスイッチ。アドレスに対してどちらかの出力に入力を転送する。この時に1サイ…
前回:msyksphinz.hatenablog.com github.com RISC-V IOMMUの構成について、概略をざっくり理解するためのメモ。 何回か読もうとして挫折してきたので、もう一度ちゃんと読んでみようと思う。 ファースト・ステージ・コンテキスト (fsc) DC.tc.PDTV が0の場…
前回:msyksphinz.hatenablog.com github.com RISC-V IOMMUの構成について、概略をざっくり理解するためのメモ。 何回か読もうとして挫折してきたので、もう一度ちゃんと読んでみようと思う。 2.1.3. デバイス・コンテキスト・フィールド トランスレーション…
前回:msyksphinz.hatenablog.com github.com RISC-V IOMMUの構成について、概略をざっくり理解するためのメモ。 何回か読もうとして挫折してきたので、もう一度ちゃんと読んでみようと思う。 2.1. デバイス・ディレクトリ・テーブル(DDT) DDTは、デバイス…
前回はこちら:msyksphinz.hatenablog.com UVMのさらなるテストベンチを試行するために、以下のウェブサイトのサンプルを試してみることにした。 www.chipverify.com このページでは、別ページで作ったSystemVerilogのレジスタコントローラ(レジスタファイ…
前回はこちら: msyksphinz.hatenablog.com UVMのさらなるテストベンチを試行するために、以下のウェブサイトのサンプルを試してみることにした。 www.chipverify.com このページでは、別ページで作ったSystemVerilogのレジスタコントローラ(レジスタファイ…
前回はこちら: msyksphinz.hatenablog.com UVMのさらなるテストベンチを試行するために、以下のウェブサイトのサンプルを試してみることにした。 www.chipverify.com このページでは、別ページで作ったSystemVerilogのレジスタコントローラ(レジスタファイ…
UVMのさらなるテストベンチを試行するために、以下のウェブサイトのサンプルを試してみることにした。 www.chipverify.com このページでは、別ページで作ったSystemVerilogのレジスタコントローラ(レジスタファイルみたいなもの)を検証するためのUVM環境を…
前回:msyksphinz.hatenablog.com github.com RISC-V IOMMUの構成について、概略をざっくり理解するためのメモ。 何回か読もうとして挫折してきたので、もう一度ちゃんと読んでみようと思う。 2. データ構造 デバイス・コンテキスト(DC)は、デバイスとアド…
前回:msyksphinz.hatenablog.com github.com RISC-V IOMMUの構成について、概略をざっくり理解するためのメモ。 何回か読もうとして挫折してきたので、もう一度ちゃんと読んでみようと思う。 1.4. IOMMUの特徴 RISC-V IOMMU仕様のバージョン1.0は、以下の機…
前回:msyksphinz.hatenablog.com github.com RISC-V IOMMUの構成について、概略をざっくり理解するためのメモ。 何回か読もうとして挫折してきたので、もう一度ちゃんと読んでみようと思う。 1.3 配置とデータの流れ 図5に示されるように、典型的なRISC-V H…
前回:msyksphinz.hatenablog.com github.com RISC-V IOMMUの構成について、概略をざっくり理解するためのメモ。 何回か読もうとして挫折してきたので、もう一度ちゃんと読んでみようと思う。 1.2 使用モデル IOMMUは、非仮想化OSにおいて以下の主要なシステ…
github.com RISC-V IOMMUの構成について、概略をざっくり理解するためのメモ。 何回か読もうとして挫折してきたので、もう一度ちゃんと読んでみようと思う。 用語の定義 用語 定義 AIA RISC-V Advanced Interrupt Architecture ATS / PCIe ATS Address Trans…
デバッグについて考えている。 例えば、今試しているUVMのデザインで、以下のようなエラーが出てしまった。 ERROR: File: /home/msyksphinz/work/sv/uvm_study/bfm/sample_monitor.sv Line: 24 : Accessing null or invalid reference to virtual interface …
github.com とりあえず olympia の実行方法を試してみようと思う。 ./olympia ../traces/dhry_riscv.zstf --report-all dhry_report.out # Name: Olympia RISC-V Perf Model # Cmdline: ./olympia ../traces/dhry_riscv.zstf --report-all dhry_report.out #…
sites.google.com 次は、期待値の自動比較を考えていく。 スコアボードを導入するというわけだ。 1000回のランダム書き込みの後、1000回リードして比較をする、ということを自動化できるようにする。 このために、スコアボードを組み込む。このためにはモニ…
もう何回目になるのかわからないが、そろそろUVMを覚えなければならないのでVivado Simulatorを使ってUVMに入門してみよう。 前回作ったテストが、Vivado 2023.2 だと、なんとなく動かなかったので、DSimでも試行している。 参考にしているのは例によって以…
もう何回目になるのかわからないが、そろそろUVMを覚えなければならないのでVivado Simulatorを使ってUVMに入門してみよう。 前回作ったテストが、Vivado 2023.2 だと、なんとなく動かなかったので、DSimでも試行している。 参考にしているのは例によって以…
もう何回目になるのかわからないが、そろそろUVMを覚えなければならないのでVivado Simulatorを使ってUVMに入門してみよう。 前回作ったテストが、Vivado 2023.2 だと、なんとなく動かなかったので、DSimでも試行している。 参考にしているのは例によって以…
もう何回目になるのかわからないが、そろそろUVMを覚えなければならないのでVivado Simulatorを使ってUVMに入門してみよう。 今回はVivado 2023.2を使っている。 参考にしているのは例によって以下のウェブサイトだ: sites.google.com 前回のコードをVivado…
もう何回目になるのかわからないが、そろそろUVMを覚えなければならないのでVivado Simulatorを使ってUVMに入門してみよう。 今回はVivado 2023.2を使っている。 参考にしているのは例によって以下のウェブサイトだ: sites.google.com 今回はUVMのスティミ…
もう何回目になるのかわからないが、そろそろUVMを覚えなければならないのでVivado Simulatorを使ってUVMに入門してみよう。 今回はVivado 2023.2を使っている。 参考にしているのは例によって以下のウェブサイトだ: sites.google.com 前回に追加して、以下…
もう何回目になるのかわからないが、そろそろUVMを覚えなければならないのでVivado Simulatorを使ってUVMに入門してみよう。 今回はVivado 2023.2を使っている。 参考にしているのは例によって以下のウェブサイトだ: sites.google.com tb_top.sv `timescale…