JTAG総合情報サイト>MITOUJTAG開発日記>2015年のJTAG開発の記録

2015年のJTAG開発の記録

MAX10のバウンダリスキャン

2015.12.10

7月にアルテラが出している「MAX 10 FPGA 評価キット」を入手してバウンダリスキャンをしようとしたのですが、そのときは10M08SAE144C8GESのBSDLファイルがなくてできませんでした。

今見たら、アルテラのサイトにBSDLファイルが用意されていた

https://www.altera.co.jp/support/support-resources/download/board-layout-test/bsdl/max-10.html

ので、早速MITOUJTAGをつないで試してみました。

Max10

10M08SAE144のBSDLファイルを画面上にドロップすると、ちゃんと認識されて、
Max10bscan

おおっ、見えるではないですか!!

MITOUJTAGで、MAX10のバウンダリスキャンもできるようになりました。

MITOUJTAGオンラインを公開します

2015.12.08

お待たせしました。

MITOUJTAGオンラインの完成度がだんだん上がってきて、一般公開してもよいレベルに達したので、公開します。

URLは、http://mitoujtag.jp/ です。

上のページを開き、中ほどにある「ログイン画面へ」のボタンを押し、

Mjo1

ログイン画面で新規登録ボタンを押してください。

Mjo2

 

これで、貴方のブラウザの中でJTAGバウンダリスキャンができるようになります。

Have a nice JTAG life!

 

Artyボードを試す

2015.12.07

AvnetとDigilent製のArtyというボードを購入しました。

XC7A35Tという小容量Artix-7を搭載したボードで、Arduinoのようなコネクタが付いています。

このような静電気防止袋の中に段ボールの箱が入って届きました。

Arty1

箱です。

Arty2

ん???? なんだこりゃ?

Arty3

なるほど。スポンジに切れ込みが入っていて、基板の出っ張りにかみ合うのですね。

Arty4


裏面はこんな感じ。DigilentはFPGAの裏に45°にパスコンを配置するのが好きですね。Artix-7はパスコンを内蔵していないので省略はできません。

Arty5

電源はMicroUSBで給電するようです。

Arty6

パソコンにつなぐと、デバイスドライバのインストールが始まりました。

Arty7

 

さて、MITOUJTAGオンラインを起動します。

Arty11


ケーブルの選択ボタンを押し、Digilent HS-JTAGまたは2を選択します。

Arty8

自動認識したら、見事に成功!

Arty9

バウンダリスキャンできました。

Arty10

 

この無料のJTAGバウンダリスキャンツール「MITOUJTAGオンライン」を使って、ArtyのFPGAの端子のH/Lが画面上で見ることができました。

USBケーブルをつなぐだけで、ブラウザの中からJTAGが使えるようになるので、便利です。

 

ET2015は大成功でした

2015.11.20

3日間のET2015を終えました。この3日間で、とてもたくさんのお客様にご来場いただきました。

特電の展示のメインは、オンライン版のMITOUJTAGでした。

3D表示で基板のイメージ画像がぐりぐりと動き、最高の臨場感でした。この3D表示機能は、アルバイトの学生さんがほとんど作ってくれました。

「この展示は何ですか」と聞いてくれたお客様には、マンガの冊子を手渡しました。これがBGAのピンで・・と説明するより、マンガで読んでもらったほうが100倍わかりやすいと思います。

彼ら彼女らのおかげでMITOUJTAGが非常にわかりやすくなったと思います。

Et2015_mjo

 

このMITOUJTAGオンラインは、お持ち帰りいただいたパンフレットやマンガ冊子の最終ページにログインのURLが記載されているので、ログインすればだれでも使えるようになります。

sun

また、このオンライン版のMITOUJTAGにはガチゃ機能が付いていて、会場の大画面で電子部品ガチャを回して景品を配りました。

Et2015_day2_5

当たりがでると、特製トートバッグやハーゲンダッツアイス券がもらえるという企画でしたが、40個ほど用意したトートバッグは配り切ったようです。特製トートバッグはニッパやはんだごてを入れても破れない超丈夫な布で作っています。

sun

この箱は、ブースの裏で3日間稼働していたサーバです。

Et2015_day3_3

会場からインターネットにはアクセスできないので、インターネット上のMITOUJTAGサーバの代わりをChromeBoxで実現していました。Ubuntu Linuxを入れて、ApacheやMYSQLを動かし、MITOUJTAGオンラインサーバを動かしていました。

こんな小型のサーバなので搬入や搬出がとても楽でした。

sun

今までにない盛況ぶりで、3日目の16:40ごろまでお客様がひっきりなしにいらっしゃっていました。用意しておいた「総合カタログ」が尽きたので、午後14時ごろからは秘蔵の非売品「月刊特電」を配っていました。

Et2015_day3_2

 

驚くべきことに、閉会のときには、300冊用意したはずのマンガ冊子が残り30冊ほどになっていました。

Et2015_day3_1

270冊ほど配ったのですね・・

 

ET2015に出展しています(2日目)

2015.11.19

ET2日目は、おまちかねのETフェスタです。

MITOUJTAGのほうは、今日も順調に展示しています。お客様も大勢来ていただいて、ガチゃもいっぱい回してもらいました。

Et2015_day2_2

ETフェスタでは、浅草の銘酒、電氣ブランを振舞いました。電気ブランというのは大正時代にハイカラだからという理由で電気という名前を付けたそうで、ブランデーのような消毒液のようないろいろ混ざっている味で何とも言えません。でも、好きな人にはたまらないようです。

Et2015_day2_3

ETフェスタでは、かつてないほど多くのお客様がいらっしゃいまして、ガチゃを引いたり歓談したり、楽しい1時間でした。

 

ET2015に出展しています(1日目)

2015.11.18

特殊電子回路は今年もET2015に出展しています。

会場ではWebブラウザで動く『クラウド版のMITOUJTAG』と、高速AD変換ボードのCosmo-Zを展示しています。

開場した10時ごろから12時ごろまでは、全然来客がなくて、どうなってしまうんだろう・・と不安でしたが、午後に入ってからはどんどんお客様が来てくれるようになって、結果的に1日目は大盛況でした。

Et2015_day1_1

黒いスーツを着た人で埋め尽くされています。

MITOUJTAGは、大画面の55インチディスプレイで、基板上のFPGAの動作をリアルタイムに可視化していて、静かな大反響を呼んでいます。

Et2015_day1_3

オンライン版のMITOUJTAGには「ガチャ」機能があって、会場の大画面で「電子部品ガチャ」が動くように何とか間に合わせました。

ガチャというのは、一種のくじ引きのようなもので、一等を引いたお客様には「ハーゲンダッツ アイス券」を、二等を引いたお客様には「特製トートバッグ」を、どちらも出なかったお客様にはお菓子をお配りしております。

ハズレはありませんので、ブースにお越しいただいた際には、ぜひ、「ガチャ」を引いていってください。

それから、回路マンガ「おれデバ ~俺のデバッグがこんなに簡単なはずがない~」の印刷された冊子を300冊ほど作ってきました。これも会場でお配りしています。

Et2015_day1_2

「この展示は何ですか?」と聞かれて、「このマンガで説明しています。どうぞご覧ください。」と渡すとウケが良いです。よくあるブースのように聞かれてもいないのに説明員がしゃべり続けるということがありません。

また、Cosmo-Zの展示は、ET2015会場でミューオンの検出を行っていて、シンチレータがミューオンを検出するとLEDフラッシュが光るというデモを行っています。

Et2015_day1_4

 

MITOUJTAGオンラインの操作性向上

2015.11.16

三次元表示と二次元表示を切り替えたり、複数のPCで同時に開いて見れるようにしたりしました。

Mjo_1116

ポイントは、画面右下に表示されているこのパネル。

Ctrlpng


タッチパネル式のPCや、タブレットだと、マウスホイールがないので、「マウスホイールで拡大・縮小」という操作にしてしまうと、操作性が悪くなってしまいます。なので、拡大・縮小は独立したボタンにしました。

また、通常動作時も3D回転してしまうとちょっと困るので、回転角度を変えたいときだけモード切替できるようにしました。

↓のPLCCは、実物をスキャンしています。

Plcc

このような角度で見るための操作が楽になりました。

ちゃんと3D表示で色がチカチカと切り替わります。

 

MITOUJTAG オンラインの表示改善

2015.11.14

今はもうあまり使われないであろうPLCCのICもちゃんと表示できるようになりました。

Mjo1114_1Mjo1114_2_2

ルネサスのRX62Nのように、真ん中のピンがないBGAもこのようにきちんと表示されます。

Windows版のネイティブのMITOUJTAG BASICでは、

Mjw_rx62n

オンライン版では

Mj2d_rx62n

Mj3d_rx62n

 

MITOUJTAGオンラインが完成に近づく

2015.11.10

今、MITOUJTAGオンラインというWebブラウザ版のJTAGバウンダリスキャンソフトを開発しています。

Mjo_2d

Webブラウザの中で、JavaScriptとHTML5とCSSで動いています。

こんな画面ですが、ゲームではありません。

真面目な回路デバッグツールです。

 

使用できるUSB-JTAGケーブルは、

  • XILINX Platform Cable USB
  • ALTERA USB-Blaster (互換品も可)
  • Digilent HS-JTAG
  • 特電 Pocket JTAG Cable

です。

ブラウザの中からUSB-JTAGケーブルと通信できるようActiveXを使っているため、ユーザが何かを明示的にインストールすることなく、Webサイトを見るだけで自動的に使えるようになります。

※ ActiveXを使いたくない場合や、使えない方のために、USB-JTAG接続用のアプリケーションを配布したり、Raspberry PiをLAN-JTAG化するプログラムを配布する計画もあります。

なんらかの方法で、JTAGケーブルがネットにつながれば、このブラウザの中から操作できて、貴方の作った回路のFPGAやCPUはもちろん、地球の裏側にある基板まで可視化してしまおうというわけです。

ちょっとしたお楽しみ機能として、電子部品ガチャという機能も作りました。

Gacha

◇欲しいカードが入ったらどうなるのか?

◇どうやったらガチャが引けるのか?

◇そもそも、いつ・どこで公開されるのか?

 

謎は尽きないと思いますが、詳しくは当ブログをこまめにチェックしていてください。

 

なお、3次元版も開発中です。3次元版はWebブラウザの中でOpenGLを使う、WebGLというものなので、2次元版よりもたぶんサクサク動きます。

Mjo_3d

お楽しみに!

MITOUJTAG Onlineを開発中

2015.10.28

ET2015に向けて、MITOUJTAG Onlineの開発を進めています

MITOUJTAG Onlineとは、Webブラウザの中で動くJTAGバウンダリスキャンツールです。

 

ブラウザでMITOUJTAG Onlineのメインページを開くと、サーバの中のMITOUJTAGサーバプロセスが起動し、WebSocket経由で通信が行って友達機能とか満載のSNSみたいになる予定です。

今日はツールバーを作りました。

Mjo1

「ケーブル」と書かれたボタンを押すと、ダイアログが出ます。

Mjo2

 

これはJavaScriptで作っているのですが、ダイアログとか出せるようになったのが精いっぱいで、慣れないデバッグはなかなか大変。

明日にはデバイスの追加ができるようにして、絵が出るようにしたい。

MITOUJTAGの更新パッチ2.90をリリースしました

2015.10.02

お待たせしましたが。MITOUJTAGの更新パッチ2.90をリリースしました。

・MITOUJTAG BASIC用
https://www.tokudenkairo.co.jp/login2/getfile.php?target=MJBUpdate290

・MITOUJTAG Pro用
https://www.tokudenkairo.co.jp/login2/getfile.php?target=MJPUpdate290

今回の更新点は、

① ボタンが大きくなった

解像度の高いディスプレイでも操作しやすくなりました。

Mj290_1


あまり使われない機能は、ツールボタンのプルダウンの中に隠したので、よく使う機能が迷いにくくなりました。

Mj290_2

② 3D表示対応

新しく作られた「新規ウィンドウ」メニューの中から「3Dビューを開きます」を選ぶと、

 

Mj290_3_2

基板上のFPGAのようすが、3D表示が行われるようになりました。

Mj290_4

今までのMITOUJTAGの画面は、「これがBGAの端子で・・」と説明しなければ理解してもらえなかったのですが、3D表示なら説明しなくてもすぐにわかりますね。

ただ、この3D表示機能はまだまだ未完成なので、バグがたくさんあります。まともに使えるようになるには次の更新までお待ちください。

③ BUZZ機能

「その他のバウンダリスキャン」の中にある「EXTESTモード時に触った端子からトグル信号を出します」を選ぶと、

Mj290_5

カーソルの形が代わり、触った端子からHLHLHL・・・といった信号が出力されるようになります。

FPGAからコネクタなどが正しくつながっているかどうかを調べるのに便利だと思います。

 

FPGAやCPUがJTAGに対応しているかを一瞬で調べる方法

2015.07.30

あなたが使いたいFPGAやCPUがJTAGに対応しているかを一瞬で調べるページを作りました。

早速下記リンクをクリックしてみてください!

http://www.tokudenkairo.co.jp/jtag/devinfob.html

上のリンクをクリックして、開いたページの「部品名 」というところに、適当なデバイスの型番を入れてみてください。

例えば、XC7Z030と入れると、「9件の検索結果」と出てきますね。

Jtag_handan_3

そして、検索結果のプルダウンから「FBG484」のものを選ぶと・・

Jtag_handan_4

このように、部品のピン配置が出てくるのです。

は電源、●はGND。はI/Oの端子で、H/Lはランダムに出てきます。

この画面は、JavaScriptだけで動いているので、何もインストールする必要はありません。登録とかログインとかも必要ないので、気軽に試してみてください。

 

約7600種類のデバイスが登録されているので、あなたの使いたいデバイスもきっと見つかるはず。好きなメーカーのデバイスを眺めるだけでも結構楽しいですよ。

電源とGNDのピン配置は正しく出ているので、 FPGAのピン配置リファレンスとしても活用できると思います。

もちろん無料なで、ぜひ、お試しください!
http://www.tokudenkairo.co.jp/jtag/devinfob.html

 

MITOUJTAG V3を開発しています

2015.07.14

MITOUJTAG Version 3を開発しています。

「現代風」をテーマに、いままでの古風なデザインを一新するつもりでやっています。

MITOUJTAGは2003年に世界初のバウンダリスキャン可視化ツールとしてスタートしてから、そのときの発想のまま続けてきました。

でも、それもだんだん限界に近づいるのを感じます。

その間にたくさんの機能を追加してきたので、目的の機能がどこにあるかもわかにくくなってきました。12年前と比べるとパソコンの画面が大きくなった分、ボタンは小さくなって、押しにくい、探しにくいという声がよく聞かれるようになりました。

 

まず、ボタンを大きく、階層化してわかりやすくすることにしました。

Mjv3_1

すべてのアイコンを48pxサイズにしようとしたところ、画面からあふれてしまいます。ボタンが多すぎるのです。トップ画面のボタンの数を減らするかありませんね。だいいち、CLAMPとかINTESTとか使わないですよ。

よく使うアイコンだけを全面に出して、あまり使わないのは隠すことにしました。

 

例えば、ロジアナ画面を出したいときも、新しいスキャンビューを出したいときも、基本的に新規のウィンドウを作るわけなので、「新規ウィンドウ」→「ロジックアナライザ」というふうに操作するわけです。

だから、新規ウィンドウという中にまとめてしまいました。

▼を押せば出てくるので、問題はないでしょう。

Mjv3_2

 

そして、近いうちにバウンダリスキャンのビューは3Dになるでしょう。

↓これが目指すMITOUJTAG V3の姿です。

Mjv3_3

この新しいインタフェースがひととおり動くようになったら、MITOUJTAG V3としてリリースしたいと思います。

他にも、

  • 特電サーバ経由で、新しいデバイスのBSDLファイルを探しに行く機能
  • NAND Flash ROMへの書き込み対応
  • ALTERAやXILINXのUSBケーブルへの標準対応
  • ALTERAの内蔵BRAMを利用したロジアナ
  • デバイス自動認識の後、どういう操作をすればよいかをわかりやすくする
  • ボタン一発でTwitterに投稿できるようにする
  • 基板検査機能の強化

などを考えています。

どうぞ、ご期待ください。

OpenGLの勉強をしています

2015.07.11

最近、OpenGLの勉強をしています。和歌山大学の床井先生のページを読んでいろいろと実験していますが、2日目でここまでできました。

MITOUJTAG V3の画面

これは、MITOUJTAG(みとうジェイタグ)というソフトウェアの新しいバージョンを作ろうと、試しているところです。

MITOUJTAGというソフトウェアでは、JTAGバウンダリスキャンを使って端子の状態を見ることができますが、「BGAの端子が可視化できる」といっても、普通の人はピンと来ないと思います。

そこで、立体的なコンピュータグラフィックスを使って、直感的にわかりやすくしようと試行錯誤しています。

http://www.tokudenkairo.co.jp/jtag/

MITOUJTAGでMAX10は使えるか?

2015年7月7日(火)

ALTERAからMAX10という新しいCPLDが発表されました。CPLDといっても、大量のLUTとDSPブロックと不揮発性ROMを備えたFPGAのような構造です。

アルテラが出している「MAX 10 FPGA 評価キット」を入手したので、MITOUJTAGで使えるかどうかをテストしてみることにしました。10M08SAE144C8GESという型番のICが乗っています。

写真1 MAX10評価キット

まず、USB Blasterでパソコンと評価ボードをつなぎます。そして、MITOUJTAGを起動し、自動認識します。

図1 MITOUJTAGで何かが認識された

なにやら、ID=031820DDのデバイスが認識されます。しかし、Genericと出てきてMITOUJTAGはこのデバイスが何であるかを知りません。

そこで、ALTERAのWebサイトからBSDLファイルを探してくるのですが、altera.co.jpの中にはMAX10はおろか、MAX5のBSDLもありません。https://www.altera.co.jp/support/support-resources/download/board-layout-test/bsdl/_11491/bsd-11491.html

最初はここであきらめていたのですが、USのALTERAサイトにならあるかもしれないと思い、探してみると、ありました!

でも、なんと、144ピンQFPのBSDLファイルがないのです!

144ピンはピンが出ているからJTAGいらないだろう、って発想なのかもしれませんが、許せませんね!ないなら自分で作るしかない。

ここにMAX10のピン配置ファイルがあります。この中から10M08SAを探して開きます。

また、BSDLファイルは10M08DC256(16×16=256ピン)のがあるから、それを開きます。

つまり、

  • BGA256ピンのBSDLとピン配置
    と、
  • QFP144ピンのピン配置

からQFP144ピン用のBSDLファイルを作るというわけです。

具体的にどうやるかというと、「BGA256ピンもQFP144ピンも、中身のダイは同じでボンディングで区別されている」と仮定します。そして、両方のデバイスで同じ機能のピンを探します。

下の図を見てください。色は私が付けたものですが、BGA256ピンでL18nという機能のピンは、QFP144ピンで26番に対応することがわかります。なので、BGA256ピンのBSDLファイル中のF1と書かれたピンを26と書き換えてやればよいわけです。

図2 BSDLファイルを自分で作る方法

 

このようにして、10M08DC256ピンのBSDLファイルをもとに10M08SA 144ピンのBSDLファイルができました。ここに置いておきますので、興味のある方はもっていってください。

  • だれでも無償でダウンロードできるようにしておきました。
  • ただし無保証ですし、どうしても対応付けができなかったピンが5個ほどあるので、まだ未完成の代物と思ってください。

 

これをMITOUJTAGで読み込んでバウンダリスキャンをすると・・

あ、見えた!

ついでに波形も・・

ばっちりですね。

書き込みはできるのか?

そうしたら、今度は書き込みができるかどうかです。残念ながらMITOUJTAGは現在はまだMAX10の書き込みに対応していません。なので、SVFファイルを経由して書き込まなければならないのですが、QuartusII 15.0ではMAX10用にSVFファイルを作れません。

 

八方ふさがりかと思ったのですが、そうではなくて、MS-DOSプロンプトからQuartusIIのコマンドラインモードを使えば、SOFファイルやPOFファイルからSVFファイルが生成できることがわかりました。

具体的にどうやるかというと、quartus_cpf.exeを使います。quartus_cpf.exeはQuartus2の中のツールで、POF/SOFからSVFなど様々なファイルへと変換する機能があります。-

POFからSVFを生成する(内蔵ROMに書き込む)には、

C:\altera.0\quartus\bin64\quartus_cpf.exe -c -q 1MHz -g 3.3 -n p test.pof test_pof.svf

とします。cはファイルの形式を変換するためのオプションです。-qはTCKの速度、-gは電圧を指定します。-n pでPOF→SVFへの変換を行います。

こんな感じの画面がでて、変換に成功します。

SOFからSVFを生成する(不揮発性SRAM書き込み)には、

C:\altera.0\quartus\bin64\quartus_cpf.exe -c -q 1MHz -g 3.3 -n v test.sof test_sof.svf

とします。-n vがSOF→SVFへの変換を意味します。

あとは生成されたSVFファイルをMITOUJTAGのツール→SVFプレイヤーで読み込んで実行するだけです。

これでMAX10への書き込みができるようになりました。

実際にはSOF→SVFで作ったファイル(内蔵SRAM用)は5秒くらいで書き込めるのですが、POF→SVFで作ったファイル(内蔵ROM用)は10分くらいかかるので実用的ではありません。

近いうちにPOF→SVFの変換アルゴリズムを解読して、内蔵ROMに書き込むときにはMITOUJTAGがネイティブ対応できるようにしたいと思います。

MITOUJTAGでSPI ROMのアクセス

2015.05.13

MITOUJTAGのバウンダリスキャンを用いてSPI ROMへアクセスできるようになりました。

バウンダリスキャンというのは、JTAGを使ってFPGAの端子を(プログラムされている回路とは関係なく)パソコンから自由に操作する技術です。バウンダリスキャンを使うと、FPGAに何もプログラムされていなくても、パソコンからFPGAのI/O端子を自由に操作できるようになります。

下の図は、FPGAのI/OからSPI ROMアクセスを行っているときの波形ですが、これはFPGAの中のロジックで作り出されているのではなく、パソコンから遠隔操作されているわけです。

Mj_spi_1

このようにバウンダリスキャンを使えばSPIのROMでもセンサでも自由にアクセスできたのですが、この機能を使うにはプログラムを組んでコンパイルしなければならず、意外と面倒でした。

そこで、今回、SPIのコマンドを、ユーザが自由にプログラミングできるようにしました。コンパイルすることなく、実行することができます。

具体的には、このような簡単なコマンド列で大丈夫です

romid
romstat
REM "TEST Micron N25Q128"
REM "Read NV Configuration Register"
send 0xb5 0x00 0x00
REM "Write NV Configuration Register"
send 0x85 0x00
REM "Read Volatile Enhanced Configuration Register"
send 0x65 0x00 0x00 0x00
REM "Deep Power-down"
send 0xB9
romid
REM "Release from Deep Power-down"
send 0xab
romid

プログラムを書いてみたところです。今回はMicron社のN25Q128というSPI ROMを使用して、「NV Configuration Register」や「Volatile Enhanced Configuration Register」といったマイナーなレジスタを読んだり、ディープパワーダウンモードにしたりしています。

Mj_spi_3


実際に実行してみた結果

Mj_spi_2


でした。

DeepPowerDown等のマイナーなコマンドは、FPGAの回路でわざわざ試すのは非常に面倒ですが、上の画面のようにツールにコマンドを書けば動くというのであれば、手軽に試すことができます。

このように、JTAGをうまく使えば、ハードウェアでわざわざ作る面倒なものが、ソフトウェア感覚で手軽にできてしまいます。

sun

SPIアクセスに対応したMITOUJTAGは、下記のパッチを適用することでご利用可能になります。先日の2.63化パッチを当てたあとで適用してください。

MITOUJTAG Pro 2.63→2.63aへの更新パッチ(差分のみ。2.63専用)

 

BLOGANAの機能拡張を開発中

2015.04.15

MITOUJTAGのBLOGANA機能を拡張しています。

BLOGANA(ブロガナ)というのは、XILINX FPGA内のBlockRAMに波形データを溜め込む高速なロジアナIPのことです。BLOGANAを埋め込んだFPGAは、MITOUJTAGで波形を読み出すことができます。

ChipScopeやSignalTAPのようなものです。

しかし、いままでのBLOGANAでは、ビット幅が72bit、サンプリング長が最大1024に限られていました。それは、XILINXのBlockRAMが36bit幅で512Wordの深さで、4個まで使うようになっていたからです。

Blogana1


BLOGANAはSpartan-3のころに開発したので、当時はBlockRAMが貴重で、あまりたくさんのメモリをロジアナ用に使えなかったためです。

しかし、AXIバスの動作を見ようとしたりすると、72bitじゃ足りません。SATAのプロトコルを見ようとすると長さが1024では足りまさえん。BLOGANAの機能拡張が望まれてきました。

今のXILINX 7シリーズにはBlockRAMは売るほど入っています。これを有効に活用してみることにしました。

新しいBLOGANAのComponent定義はこうなりました。

entity blogana2 is
  generic(
    BIT_WIDTH     : integer := 72; --サンプリングする信号のBIT幅を指定(1以上、252以下で指定)
    SAMPLE_LENGTH : integer := 1024--サンプリングの長さ(word)を指定(1以上、8192以下で指定)
    );
  Port (    CLK         : in std_logic;
            TRIG        : in std_logic;
            USER_OP     : out std_logic_vector(19 downto 0);
            SAMPLE_EN   : in std_logic;
            DIN         : in std_logic_vector(255 downto 0); --BIT幅は常に256bit
            SAMP_FREQ   : in integer range 0 to 2147483647; -- サンプリング周波数
            BUSY        : out std_logic                     -- 必ずどこかに出力すること
            );
end blogana2;

入力データ幅は256ビット。(ただしサンプリングできるのは252bitまで)
データ長は8192まで拡張できるようにしました。

データ幅やデータ長はGenericで渡します。

このGeneric文で指定したパラメータを見て、BLOGANA内部のマクロとFOR文が、BlockRAMをこんな形や

Blogana2

こんな形

Blogana3


に並べてくれるというわけです。

最大で、252bit 8192Word(縦7個・横16個)並べることができます。この場合、112個の18K BlockRAMを使います。

Blogana4

それでもArtix-7のXC7A100T中のBlockRAMの約40%しか使いません。

実際にカウンタを作ってBLOGANA_DINのbit251~220につないでキャプチャしてみたところ、

Blogana5

ちゃんと動いているようなので、早速、実戦に投入してみます。

Cosmo-Zの波形Capture機能を実行したときの各部の波形を見てみます。

Cosmozcaptureblogana2

これは、16bit 8ch 2148ワードのデータをマルチプレクスしながらAXIインターコネクトに対して投げているところの波形です。

AXIバスや、周囲にの制御信号の動きを見る限り、ちゃんとキャプチャできているようです。

これからいろいろな波形を取ってデバッグしていきたいと思います。

 

MITOUJTAGに波形エクスポート機能を追加 

平成27年1月29日

MITOUJTAGのロジアナ機能で取った波形を、他のツールで読み込みできるよう、波形のエクスポート機能を作りました。

画面左のツリーでロジアナの項目を右クリックして、エクスポートを選ぶだけ。

Wave_export

ダイアログが開いて、そのままVCDファイルとしてエクスポートできます。

Wave_export2

 

VCDというのは、Value Change Dumpのことで、値が変換したときだけその値を記録するというファイル形式です。Verilogの一部として、IEEEで規格化もされている業界標準形式なのです。

実験として、楽天Koboの動作中のCPUの端子の状態をバウンダリスキャンで取得し、それをMITOUJTAGで見ましょう。

Kobobscan
 

Koboの画面をタッチしたり、ボタンをおしたり、いろいろいじくりまわしました。

そのときのCPUの端子をバウンダリスキャンでキャプチャして波形にしてみます。赤い波形は出力信号、緑の波形は入力信号です。

Kobomitoujtag

 

これをVCDでエクスポートします。VCDを読み込めるツールは、フリーのものではGTKWaveがあります。GTKWaveで波形にすると、

Kobogtkwave

GTKWaveは画面上のボタンなどがGTKなのでWindowsの標準的なものとはちょっと異なりますね。

 

他にVCDが読めるツールとしては、シェアウェアのVerilogシミュレータのVeritakなどがあります。普通にVCDをオープンできて、このように読めました。

Koboveritak

 

ここにKoboの動作時の波形ファイルを置いておくので、みなさん、よかったら試してみてください。

 

あと、MITOUJTAG2.6のロジアナを強化するパッチはこちらから無償でダウンロードできます。

 

お楽しみに!