VHDLの組み合わせ回路

 デジタル回路設計において、順序回路の解説は多いのですが、組み合わせ回路の解説が少なくて、どのように記述すれば良いのか質問を受ける事があります。  特にソフトウェアの経験がある方は、同時実行である組み合わせ回路のタイミングで悩む事が多い様です。 VHDLの回路はarchitectureの中で記述していますが、processは順序回路なので、それ以外のarchitectureの中が組み合わせ回路の記 […]

洗面台のシャワーホース交換

 洗面台の下が水浸しになっているのを発見しました。扉を開けてみると、ホースを格納している半透明樹脂性の箱の中に水がいっぱい溜まっていて、そこから溢れ出ているようです。  一旦、水を捨ててカランを開けてみると、かなりの勢いで水が漏れている事がわかりました。  松下電工製のGQD71BS9Eというラベルが洗面台に貼ってあります。この型名をホームセンターの係員に調べてもらうと、部品は無いので、洗面台を全 […]

オーバーサンプリング

アナログ信号をデジタル化するには、ADコンバータ(ADC)を使いますが、最近はオーバーサンプリングをする事が多くなってきました。  オーバーサンプリングとは何か、どんなメリットがあって、デメリットはないのかを解説します。数学的な解説よりも直感的な理解でとにかく仕事を先に進めたい方に向けて解説します。そのうち、理論があとからついてくるようになります。  アナログデータをデジタル化する時に、避けて通れ […]

FPGAの速度とは?

 FPGAの選定をしていると、speed grade という項目が出てきて、FPGAの速度? という疑問が沸きます。  確かにFPGAにはスピードグレードがあり、早い方が高価な傾向にあります。それでは、FPGAが早い。とかスピードグレードがfastであるとかは何なのでしょう?  FPGAの速度というのは、DFFとDFFの間で処理できる時間になります。この速度が速いという事はクロック周波数を上げる事 […]

同期設計の方法

 FPGAは同期設計するのが基本。というのは本ブログでも解説していますが、言葉でわかっていても、なかなか同期設計の本質がつかめない。という話をよく聞きます。  初心者のうちは、同期設計を心掛けるよりも、与えられたクロックでのみ設計する。という方向の方が近道かも知れません。  FPGAは高速線路のグローバル信号領域とロジックセル領域に分かれており、グローバル信号の周りにロジックセルが配置されるような […]

レジスタって何?

 ハードウェアの設計をしていると、レジスタという言葉が頻繁に出てきます。しかも、レジスタという意味が曖昧なために何でもレジスタという言葉で表現する人も出てきて、クライアントとの会話が噛み合わなくなる場面も出ています。  レジスタという言葉は、ハードウェアでもソフトウェアでも存在し、しかもかなり似たような意味です。それゆえ、きちんと言葉の意味を把握して、両者が会話した時に認識の違いが出ないようにする […]

Verilogのテストベンチでfor~nextを使う

 本ブログに来ていただく方はVerilogを扱う方が多いようです。そして、テストベンチの項目を読んでいただいているようです。  テストするのはPWMでLEDを駆動する回路です。詳細は「FPGAでLEDの調光」で解説していますので、今回はVerilogのテストベンチ構築を解説いたします。  テストするVerilogファイルは以下のような階層構造で作っています。トップファイルがLED_PWM.vです。 […]

FPGAのピン配置を決める手順

 FPGAはピン配置を自由にできる。というのが先行してしまい、ピン配置の制限について理解をしないまま設計に入ってしまうことが多いようです。  もし、FPGAの設計を今から始める。という方は、「ピン配置を決めない」というのが最短・最良の方法だという事を覚えておいてください。ピン配置を決めずにFPGAを設計できるのであれば、プリント基板の設計をしなくてはならないギリギリのタイミングまでシミュレートでデ […]

デジタル回路の不定とハイインピーダンス

 VHDLやVerilogの教科書にも「不定」や「ハイインピーダンス」という言葉が載っています。デジタル回路はそもそも「1」と「0」の世界で設計するので、「不定」や「ハイインピーダンス」というのは何なのか? 初心者が明確に理解しにくい言葉だと思います。  VHDLやVerilogでは不定を’x’と記し、ハイインピーダンスは’z’で示します。つまり、& […]

VHDLで配列

 Verilogで配列を扱うのはVHDLに比べると簡単に思えます。こちらに記載しましたので参考にしてください。配列を扱いたいと考える場面やFPGAでの配列の扱い等も記載していますので、本ブログと並行して読むと理解が深まると思います。  VHDLの配列は頑張れば多次元配列が可能ですし、ポートに配列を使う事も可能です。VHDLしか使わない。という人は3次元配列やポートで配列を渡す方法も研究してみてくだ […]

1 3 10