せっかくISSが良い感じに仕上がってきたので、RTLを検証するためのツールの一つであるランダムテスト生成について調査してみた。 ランダムテスト生成として僕が知っているのは Obsidianくらいだが、これは確かARMに買収されてしまった。
ARM、将来のARMプロセッサ設計へ柔軟な検証ソリューションを提供するObsidian Software社を買収 - ARM
でも、論文というか、文章はまだネット上にたくさんあるので、その内の一つを調べて読んでみた。
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