FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

CPUのランダムテスト生成について調査

せっかくISSが良い感じに仕上がってきたので、RTLを検証するためのツールの一つであるランダムテスト生成について調査してみた。 ランダムテスト生成として僕が知っているのは Obsidianくらいだが、これは確かARMに買収されてしまった。

ARM、将来のARMプロセッサ設計へ柔軟な検証ソリューションを提供するObsidian Software社を買収 - ARM

でも、論文というか、文章はまだネット上にたくさんあるので、その内の一つを調べて読んでみた。

www.techonline.com

Obsidianの論文だ。この論文では、ランダムパタンの特性とやるべき事について述べられている。

# Setup code for first test
# TestID = 1
  LOAD 0x03930DF4, r7
  LOAD #415, r3
  ADD  r7, r3, r14
  STORE r14, 0x002419E2
# Tear down and setup code
# TestID = 2
  LOAD 0x010A3002, r11
  LOAD #415, r9
  SUB r11, r9, r5
  STORE r5, 0x5A6033E0
# Repeat 

うーん、もうちょっとランダム性を持たせないとパイプラインを苛めることはできないな。 こっちにも資料があるが、あまり実装で役に立つ感じではないなあ。もうちょっと実装の方針を立ててから、実装することにしよう。

www.slideshare.net