回路設計

2/8ページ

エンコーダー

 電子回路の中でエンコーダーと呼ばれるものは、多くの種類があって、どんな場面で「エンコーダ」と言っているのか。という前提がなくては、エンコーダがどのような物かはわかりません。それぐらい、エンコーダーという言葉は、一つの物や事象を示す言葉ではなくなっています。  ここでのエンコーダはFPGAの内部回路として、人間がわかりやすい値を機械(電子回路)がわかりやすい値に変換することを言います。日本語で記述 […]

アドレスバスとデータバス

 アドレスは「住所」に訳される事が多いのですが、日本語にしてもあまりよく理解できない。という方が多いようです。  アドレスはデータの場所を示す番号です。そして、アドレスはバスで構成されます。つまり、数本の信号線を束ねて「アドレスバス」と呼んでいます。  アドレスバスは(例外がありますが)、通常は一方通行です。CPUなどの何らかのホストがアドレスを生成します。 アドレスバスとデータバスの構成を上図に […]

デジタル回路のカウンタ

 カウンタとは、数を数える回路です。何を数えるのかは、回路によって違います。ベルトコンベアの上を流れる製品を数えたり、クロックの数を数えたり、キーボードを押した回数を数えたり。デジタル回路で数を数える回路というのは、頻繁に出てきます。  カウンタ回路はいろいろな方式があります。ここでは、実践で数を数える事を学びますので、カウンタ回路の方式については述べません。カウンタとは何か、どのような場面で使う […]

VHDLテストベンチの始め方

 テストベンチの検索が多いので、基本的な1つの回路を1つのテストベンチで検査する。という方法を詳しく解説いたします。  テストベンチは次の図のように、自分が作った回路(黄色部分)が思い描いたように動いているのか? という検査をするための”回路”になります。図では緑で示した部分がテストベンチです。  テストベンチを先に作る人はあまり居ないと思います。先にshift.vhdの部分を作ります。作るにあた […]

VHDLの組み合わせ回路

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

オーバーサンプリング

アナログ信号をデジタル化するには、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です。 […]

1 2 8