電子工作関係まとめ

1970年ごろ、「子供の科学」に載ってた1石トランジスタラジオを作ろうと、ニュー秋葉原センターの小澤電気商会で半導体・九十九電機でCRを買ったのが発端で、以後断続的にやってきた電子工作のまとめですよ。でも、2021年に作ったブログなので過去のデータはほぼ無いです。

2021年07月

前回に続いて、サンプルコードのcounter_swをやってみようとしたら、なんか今一だったので、それはとばして、counter_7segのほうをやってみることにした。 しかし、サンプルコードをコピペするだけなのに、なぜかハマって動かない。

試行錯誤の結果、I/Oポート指定の時に、手動で指定せずにintelの時と同様にファイルを読もうとすると、どうやらここだ。

1
このように、import I/O portsをやってみると、次の画面になる。

2
なので、こういうxdcファイルを読む。すると、

3
これがシミュレーション結果。いつもながら、画面は出るものの、全然動いている形跡が無い。詳細は一切不明。

なんていうのは放置wして、プログラムしてみると・・・おお、うまくいった。

IMG_20210731_124325
これがデクリメントしたところ。

IMG_20210731_124306
一番右のスイッチをオンにして、インクリメントしたところ。

という感じで、intelの時と同様、
よくわからないものの、なんとか動作させることだけは成功した。

なんか、しょうもない感が残るがwww、動かないよりはマシということにする。
DE-10、BASYS3ともに、56ページまで一応終了ということにする。

VIVADOのインストールが終わったので、トラ技2021年3月号の題材を動かしてみる。
前にやった、counterのお題のソースコードをただサンプルファイルから持ってきて、シミュレーションを立ち上げる。
1
こんな感じになった。ちゃんと波形は出るものの、intelの時と同様、なぜかカウントアップされないままだ。なんか根本的に間違いがあるのかも?まあいいやw とりあえず、波形は出た。

なので、この勢いでボードをつないで書き込んでみる。

22
おお~、このように、動いた。
はじめてなので全然わかってないけど、counterのお題をそのまま書き込んで動かすことだけは成功した。割と、intelのときよりも、xilinxのこのBASYS3のボードのほうが癖が無くて動きやすい印象だ。まだはじめてなのでわかんないけど・・・

トラ技のintelのほうをある程度やったので、今度は同じことをXilinxでやる方向で準備する。で、VIVADOをインストールしようとしたら、CドライブのSSDの容量不足に遭ったので、まずはポチってからしばらく待って、ようやく到着したので装着して  IMG_20210725_110535
このようにインストール開始したところ。これから数時間待ちだな。 先は長い。

トラ技の続きは、counterの次はcounter_sw、counter_7segの課題があって、ここからはもう、Verilog HDLを自分で打ち込むのは省略して、トラ技のサンプルファイルを使ってそれを動かすという方向でやってみた。なので、はっきり言うと、肝心のコードの内容の学習までは手が回らず、とにかくなんとかここの環境で動作させてみる・・・という次元になってしまっている。

で、Pinアサインメントも、せっかくqsfファイルがあるので、それをインポートして自分では打ち込まない方向。

その結果、counter_swは、ModelSimは一応波形が出たもののあまり納得いかないし、実際に書いてみても動かなかった。counter_7segは、ModelSimはなんかエラーで動かず。実際に書いてみると、これは動いた。こんな感じ。

 IMG_20210721_171348
一番右のSWを0にして、デクリメントさせたところ。

IMG_20210721_171319
一番右のSWを1にして、インクリメントさせたところ。

という感じで、よくわからないものの、なんとか動作させることだけは成功した。
動かないよりはマシということで、もう、あっぷあっぷですよ~~

どうも気持ち悪いので、トラ技2021年3月号のintelのほう、全部最初からやり直した。なので、プロジェクトも新規で作成。で、Pin Plannerでピン配置を入れるときに、トラ技の例の通りの画面になるのはいいのだが、それだと、どこでKEY0、KEY1を指定するんだろう?という疑問があって、実際書き込んでみても動作が今一だったので、勝手な判断で、ここの 1
I/O Assignment Analysysをやった。その結果、ようやく動くようになった。ただし、シミュレーションのほうは変わらなかった。まずはModelSimこれ。 2
このように、相変わらず、カウンタはずっと0000のままだ。

それは気に入らないものの、実際に書き込んでみると、
IMG_20210721_100633
このようにちゃんと動作する。
これがさっきの、I/O Assignment Analysysの成果だ。というわけで、ようやく、トラ技の50ページの最初のほうまで動いた。 いや~、なかなか大変ですね~

ようやくModelSimが動いたので、なんとか波形を出してみる。
な~んて、サラッと書くと簡単だが、トラ技だけを見てもわからなくて、結局前にやったCQ本のModelSimのところを読み直してやっと波形が出た。
aa
こんな感じ。でも、カウンタがちゃんとカウントして増えているふうには見えないので、どこか間違ってる可能性が大。とりあえず、波形がようやく出たのでここに書いた。

CQ本が終わったので、お次は、トラ技の2021年3月号にあった、FPGA特集をやってみる。この号では、Xilinxとintelの2つが書いてあるけど、とりあえずは既にやったintelをやってみるのが自然だ。

本の通りにcounterのVerilog HDLコードを打ち込んで、テストベンチのコードも打ち込んで、Quartus Prime上のプロジェクトは、CQ本の時にやったのを流用して、FPGA機種の設定やピン配置は同一なので、何も新しく入力せずに流用しようという魂胆だ。

本によると、まずはModel Simでシミュレーションをやってみるそうな。

Model Simと言えば、前回やったときはModel SimのアプリケーションをQuartus Primeとは別に立ち上げたのだが、トラ技によると、今回はQuartus Prime上から立ち上げるそうだ。 001
こんな感じで、Quartus PrimeのToolsから、RTL Simulationを実行する。と、順調に立ち上がらなくて・・・こんなふうになる。
002
"Cannot launch the ModelSim-Altera software because you did not specify the path to the executables of the ModelSim-Altera software."だと。写すの疲れた。w

なんだろうこれ?ModelSimがどこにあるかわかんないからパスを設定しろ!ということなのかと考えて、こういうのを見つけた。これの11ページだ。

なのでこういうふうに、
003
Tools の Optionsから、これを開いてみる。 004
そしてこのように、ModelSimの場所を入れてみる。そして、再度実行

------>
----------->


002
ここに戻りました。 ちゃんちゃん。

しばらくお休みかな~~??w


※2021.7.11 追記
Tools の Optionsから開くこの画面・・・
よく見てみると、ModelSim...って2つあるじゃん。前回は、ノートPCの画面が小さいせいでこの画面が全部出ずに見えなかったけど、ちゃんと横に伸ばしてみると、一番下に、ModelSim-Alteraっていうのがある。Alteraがついているのがミソか??
001
ならばこのように、一番下のところに書いてみる。と、
  002
あら不思議www。ちゃんと立ち上がった。こういう変な罠を発見して解決した。

流れに沿ってそのまま継続。CQ本、36章、ModelSimだ。 11
まずは本の通りに入れて、Dice回路のシミュレーションがこういうふうになった。

22
このように、波形も出た。本の通りにやって、右クリックで、波形の中の0~5の文字も出るようになった。

33
そしてこれが最後の課題の、BCDデコーダのお題。このように、本の通りに出た。

--

というわけで、ついに本が全部終了した。

今までいろんな分野のいろんな本をやろうとしてきたけど、どうしても動かなかったり時代が変わって本の内容が無効になってたりetc....して、一冊全部やるって結構大変なんですよね。
なのでまあ、とりあえずはめでたしとする。

昨日の続き。いくら検索しても埒が明かないので、なんかのんびりと、昨日やった手順をもう一回やってみた。

FPGA実験用PCの電源を入れて配線して、Quartus Primeも立ち上げて、L26をコンパイルして書き込んで、その状態でFileメニューからopenを出して、昨日やったstpファイルを開いてみる。これだ。
   1
全く同じファイルを同じように開いたのに、なぜかエラーメッセージが全く出ていない
実に不思議だけど、念のためこの状態でリコンパイルして開きなおしてみても、全く同じだ。

ならば・・・次の段階に進んでみると・・・

2
動いた。本に書いてある通りにほぼなった。(クロックの信号の16進の表記は出てないけど)

なので、理由はわからないけど、一応本に書いてある通りになって35章は終了ということに。めでたいようなよくわからないような。。。

CQ本の続き。35章の、FPGA内部のロジアナをやってみるというところだ。
本の通りにSignal Tap Logic Analyzerを入れてみて、リコンパイルすると、
タイトルなし
こういうエラーが出て先に進めない。JTAGのところは、USB0を指定したはずなのだが・・・
検索してみても今のところ何ら手掛かりなし。

しばらく放置かな~??

※検索したら、ここここに似たようなのがあったものの・・・両方とも解決されずに放置みたいな雰囲気www

↑このページのトップヘ