電子ブロック工房:
Deprecated: Function strftime() is deprecated in /home/u109394186/domains/rad51.net/public_html/jeans/jeans/libs/blog.php on line 333
2009年 02月の記事
Verilogライクなシミュレータ [シミュレーション]
2009年2月24日
C++で次のように書ける、ロジック回路のシミュレータを作ってみた。
これは、NANDを二つつなげただけの、もっともシンプルなフリップフロップ。前にPHPで書いたものと違って、今回のは回路の内の遅延などもシミュレーションできるようにしてある。なので、ラッチやフリップフロップを組み合わせた複雑な回路のシミュレーションにも使えるはず。
使ったことないし良く分からないが、Verilogというものに構文が良く似ているようだ。既存のソフトの使い方を覚えるより、使いにくくても自作して細かな調整を自身で行うほうが、私には向いている。今回のシミュレータは、遅延時間を素子ごとにランダムに設定することもできるので、多分、回路を設計するさいの動作確認にも使える。
bool input1,input2; logic* na1=nandGate(); logic* na2=nandGate(); na1->connect(&input1,&na2->output); na2->connect(&na1->output,&input2);
これは、NANDを二つつなげただけの、もっともシンプルなフリップフロップ。前にPHPで書いたものと違って、今回のは回路の内の遅延などもシミュレーションできるようにしてある。なので、ラッチやフリップフロップを組み合わせた複雑な回路のシミュレーションにも使えるはず。
使ったことないし良く分からないが、Verilogというものに構文が良く似ているようだ。既存のソフトの使い方を覚えるより、使いにくくても自作して細かな調整を自身で行うほうが、私には向いている。今回のシミュレータは、遅延時間を素子ごとにランダムに設定することもできるので、多分、回路を設計するさいの動作確認にも使える。
多分必要なもの [一般的なこと]
2009年2月21日
更新は、一年ぶり(正確には、1年3ヶ月)。
制作にあたって、たぶん次のようなツールが必要になる。USBインターフェースのI/Oポートをピックアッピしてみた。
NI USB 6501
USBee AX
NIの方は、24ポートあるのが魅力。少し値ははるが96ポートの製品もあるらしい。
USBeeの方は、8ポートだが、多分(よく調べていない)、スピードはこちらの方が速い。
どちらも、$100ちょっとの価格。とりあえず購入するのは、NIの方かな。実績もあるし。
制作にあたって、たぶん次のようなツールが必要になる。USBインターフェースのI/Oポートをピックアッピしてみた。
NI USB 6501
USBee AX
NIの方は、24ポートあるのが魅力。少し値ははるが96ポートの製品もあるらしい。
USBeeの方は、8ポートだが、多分(よく調べていない)、スピードはこちらの方が速い。
どちらも、$100ちょっとの価格。とりあえず購入するのは、NIの方かな。実績もあるし。