SmartJTAG高速化
SmartJTAGの高速化を行うため、EZ-USB FX2のファームウェアをアセンブラでガリガリと書いて最適化しました。
最適化とはいっても、EZ-USBは8051なので、限界が見えてしまいます。ほとんどの命令は8~12クロックも使ってしまい、クロック48MHzでももっさりとした動作です。
#遅いマイコンを触ったあとでWindows上でのプログラミングを行うのは気持ちのいいもので、Pentiumってなんでこんな速くいの!?って感じてしまいます。
将来的には、USB2.0 HighSpeedのマイクロフレームの効果によるキビキビした応答性と、FPGAによる正確かつ高速なタイミング発生ができるUSB-JTAGインタフェースを設計したいですね。
さて、下の図は、XC2S100の信号を従来のSmartJTAGでロジックアナライズした絵です。8.192msごとに変化する信号は見えるものの、4.096msごとに変化する信号は全く見えません(エイリアシング)。ということでサンプリング速度はだいたい4~8msの間ということになります。

次の図は、高速化されたバージョンです。

サンプリング速度はだいたい1~2msの間ということになります。
XC9572のバウンダリスキャンだと、毎秒1500回くらいでした。
設計値では、ロジアナは7倍に高速化され、フラッシュメモリ書き込み速度は14倍になります。JTAG-ICEも耐えられる速度になりました。
これで書き込んだFPGAはちゃんと起動するし、各種CPUもちゃんとデバッグできるので、大きな問題はないのでしょう。
これからしばらくの間は動作検証が続きますので、出荷は来月くらいになります。
| 固定リンク


コメント