きょうのかんぱぱ

デジモノが大好きなかんぱぱの日記です。

NHK みんなの科学 たのしい実験室のカウンタユニット基板を作ってみた

  • 投稿日:
  • by
  • Category:

私は小学生ぐらいの時にNHK みんなの科学 「たのしい実験室」を毎週見ていました。確か毎週木曜日の夕方だったでしょうか。

この番組では電子工作もよく取り上げられ、特にTTL-ICと7セグメントLEDを使って、電子サイコロ、ストップウォッチ、デジタル時計といったものを作るシリーズがありました。このシリーズは大変興味がありNHKに返信用封筒を送って回路図をいただいたりとか、秋葉原のお店に見積もりを取って通信販売で部品を入手して組み立てていました。そのおかげでデジタルICや電子工作のノウハウを身につけることができました。

今でもこれらの記事は大切に保管しているのですが、つい先日CQ出版社のトランジスタ技術でKiCadをつかった基板製作の特集があり、付録DVDに作業の様子が動画で収録されていました。これを見たおかげでKiCadでのいろいろなテクニックを知ることができました。

kikad_toragi.jpg

実はまだ一度も基板を起こしたことがなく、良い機会なので一度簡単な回路で基板を作ってみようと、「たのしい実験室」で作ったことがあるTTL-ICをつかったカウンタユニットの基板を起こすことにしました。基板を発注すると10枚ぐらい作ることになるので、複数枚組み立てれば桁数を増やすこともできます。回路は非常にシンプルでTTL-ICの74LS47と74LS90、7セグメントLEDのTLR-306だけです。パスコンすら入っていません。

TTL_counter_schematic.png

秋月電子の球体液晶ユニットでミクさんを動かしてみた

  • 投稿日:
  • by
  • Category:

秋月電子の球体液晶ユニットの実験の続きです。前回はRGBデータを固定で与えることでカラーストライプまで表示できることを確認しました。

やはり何らかの画像を表示してみたいと思い、いろいろ調べたところFPGAで液晶に画像を表示しているこちらの記事を参考にさせていただきました。

MAX10にもSRAMがありますので、MAX10のSRAM上にROMの領域を作成し、画像データをそちらに格納して表示させることにします。画像データはROMの初期化ファイル(.mifファイル)として作成しますが、これはUbuntuにopencvをインストールして作成しました。

液晶モジュールは196×196ピクセルで各色6ビットの深度です。このままのデータだとSRAMに収まらないのでやむなく各色3ビットに落としてデータを作成し、LCDに色データを与えるルーチンを書き換えてミクさんの画像が表示できました。

globe_lcd_miku1.jpg

画像は確認できましたが、各色3ビットなので512色しか表示できないので色がイマイチです。

秋月電子の球体液晶表示ユニットを動かしてみた

  • 投稿日:
  • by
  • Category:

秋月電子の新製品で興味あるデバイスが販売されていました。ドーム型スクリーン用カラー液晶プロジェクタ(球体液晶・光学表示ユニット)です。詳細な仕様書もあり、信号さえ作れば表示できそうな雰囲気です。

globe_lcd_1.jpg

このLCDは色信号をパラレルで入力してVSYNCやHSYNCといった信号を常に流し続ける必要があります。これをFPGAで動かしてみようと思いつきました。ちょうどCQ出版社のFPGA電子工作スーパーキットの付録のMAX10がありますのでこれが手頃です。

PDP-11をARTY FPGAボードで動かしてみた(4) UNIX V5を動かす

  • 投稿日:
  • by
  • Category:

これまでの作業でARTY FPGAボードはPDP-11になったと思われるのですが、やはりアプリケーションを動かさないとよくわかりません。

PDP-11のソースツリーでは各種UNIXを動かすキットが含まれています。ARTY FPGAボードではUNIX V5が動くようですので、これを動かすことで、PDP-11になっていることを確認してみます。

unix-v5のディスクセットを用意する

PDP-11用のUNIX V5のイメージデータが用意されていますので、これをソースツリーに持ってきます。

$ cd $RETROBASE/tools/oskit/unix-v5_rk
$ wget http://www.retro11.de/data/oc_w11/oskits/unix_v5_rkset.tgz
$ tar -xzf unix_v5_rkset.tgz

ターミナルを立ち上げる

UNIX V5のコンソールとなるターミナルウィンドウを立ち上げておきます。

$ cd $RETROBASE/tools/oskit/unix-v5_rk
$ console_starter -d DL0 &

PDP-11をARTY FPGAボードで動かしてみた(3) FPGAのコンフィグレーション

  • 投稿日:
  • by
  • Category:

Vivadoの開発環境OpenCoresの開発環境が準備できましたので、いよいよFPGAのコンフィグレーションを行います。

bitstreamを作る

FPGAに書き込むためのbitstreamを生成します。実はbitstreamはOpenCoresのページにも用意されているのですが、試しにmakeをしてみたら簡単にbitstreamができたのでこちらを使いました。

ここでは生成までのログを参考までにそのまま掲載します。ログを見ると内部でVivadoが使われているのがわかります。

$ cd $RETROBASE/rtl/sys_gen/w11a/arty_bram/
$ make
 :
Loading route data...
Processing options...
Creating bitmap...
Creating bitstream...
Writing bitstream ./sys_w11a_br_arty.bit...
INFO: [Vivado 12-1842] Bitgen Completed Successfully.
INFO: [Project 1-120] WebTalk data collection is mandatory when using a WebPACK part without a full Vivado license. To see the specific WebTalk data collected for your design, open the usage_statistics_webtalk.html or usage_statistics_webtalk.xml file in the implementation directory.
INFO: [Common 17-186] '/home/ocha/oc_w11/trunk/rtl/sys_gen/w11a/arty_bram/project_mflow/project_mflow.runs/impl_1/usage_statistics_webtalk.xml' has been successfully sent to Xilinx on Sat Jun 4 15:45:44 2016. For additional details about this file, please refer to the WebTalk help file at /opt/Xilinx/Vivado/2016.1/doc/webtalk_introduction.html.
INFO: [Common 17-83] Releasing license: Implementation
write_bitstream: Time (s): cpu = 00:00:29 ; elapsed = 00:00:40 . Memory (MB): peak = 1643.305 ; gain = 452.859 ; free physical = 89 ; free virtual = 832
INFO: [Vivado_Tcl 4-395] Unable to parse hwdef file sys_w11a_br_arty.hwdef
INFO: [Common 17-206] Exiting Vivado at Sat Jun 4 15:45:46 2016...
[Sat Jun 4 15:45:48 2016] impl_1 finished
wait_on_run: Time (s): cpu = 00:00:00.14 ; elapsed = 00:01:04 . Memory (MB): peak = 1626.848 ; gain = 0.000 ; free physical = 72 ; free virtual = 833
Message control rules currently in effect are:
Rule Name Rule Current Message Count
INFO: [Common 17-206] Exiting Vivado at Sat Jun 4 15:45:50 2016...
$ ls
Makefile sys_w11a_br_arty_pla_util.rpt
pdp11_hio70_arty.vbom sys_w11a_br_arty_rou.dcp
pdp11_hio70_arty.vhd sys_w11a_br_arty_rou_drc.rpt
project_mflow sys_w11a_br_arty_rou_ds.rpt
sys_conf.vhd sys_w11a_br_arty_rou_pwr.rpt
sys_w11a_br_arty.bit sys_w11a_br_arty_rou_sta.rpt
sys_w11a_br_arty.dep_vsyn sys_w11a_br_arty_rou_tim.rpt
sys_w11a_br_arty.vbom sys_w11a_br_arty_rou_util.rpt
sys_w11a_br_arty.vhd sys_w11a_br_arty_rou_util_h.rpt
sys_w11a_br_arty_bit.log sys_w11a_br_arty_syn.dcp
sys_w11a_br_arty_imp.log sys_w11a_br_arty_syn.log
sys_w11a_br_arty_opt.dcp sys_w11a_br_arty_syn_util.rpt
sys_w11a_br_arty_opt_drc.rpt tb
sys_w11a_br_arty_pla.dcp vivado.jou
sys_w11a_br_arty_pla_cset.rpt vivado.log
sys_w11a_br_arty_pla_io.rpt
$ ls -l *.bit
-rw-rw-r-- 1 ocha ocha 2192125 6月 4 15:45 sys_w11a_br_arty.bit

この.bitファイルがFPGAのコンフィグレーションに使われるファイルです。

PDP-11をARTY FPGAボードで動かしてみた(2) OpenCores開発環境の準備

  • 投稿日:
  • by
  • Category:

Vivadoの開発環境がインストールできたところで、次はOpenCoresの開発環境を準備します。

OpenCoresのアカウントを取得する。

OpenCoresのページからアカウントを登録します。このアカウントでOpenCoresのsvnからソースツリーを取得することができます。
http://opencores.org/

必要なパッケージのインストール

開発環境に必要なパッケージをLinux環境にインストールします。

  • build-essential
  • libboost-dev
  • libboost-date-time-dev
  • libboost-thread-dev
  • libboost-regex-dev
  • libusb-1.0-0-dev
  • tcl
  • tcl-dev
  • tcllib
  • tclreadline
  • subversion

PDP-11をARTY FPGAボードで動かしてみた(1) Vivado開発環境の準備

  • 投稿日:
  • by
  • Category:

はじめに

OpenCoresFPGAでPDP-11を動かすプロジェクトにしたがって、Xilinx Artix-7が載ったDIGILENTのARTYというFPGA評価ボードでUNIX V5を動かすまでをまとめました。

FPGAについては初心者ですので、間違っているところもあるかもしれません。

今回使用するDIGILENTのARTYは秋月電子で取り扱っています。
http://akizukidenshi.com/catalog/g/gM-10034/

使用するLinux環境ですが、ubuntu 14.04 LTSをiMacのVMware Fusionにインストールしているので、この上で作業を行いました。

Vivado開発環境の準備

Xilinx社のFPGA開発環境であるVivadoのインストーラーは以下にあります。
Vivado Design Suite - HLx Editions - 2016.1 Full Product Installation
http://japan.xilinx.com/support/download.html

各種のインストーラがありますが、今回は以下のLinux版を使用します。

Vivado HLx 2016.1: WebPACK および Editions - Linux 用自己解凍型ウェブ インストーラー
(BIN - 80.67 MB)

これをubuntuのFirefoxでダウンロードしました。正常に終了するとDownloadsフォルダに保存されます。

$ cd ~/Downloads
$ ls
合計 88524
Xilinx_Vivado_SDK_2016.1_0409_1_Lin64.bin
$

Vivadoインストーラーの起動

ダウンロードしたファイルを実行してインストールします。私はsudoでインストールしてしまいましたが、sudoである必要はないらしいです。

$ chmod 555 Xilinx_Vivado_SDK_2016.1_0409_1_Lin64.bin
$ sudo ./Xilinx_Vivado_SDK_2016.1_0409_1_Lin64.bin
[sudo] password for ocha:
Verifying archive integrity... All good.
Uncompressing Xilinx Installer.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
INFO : Log file location - /root/.Xilinx/xinstall/xinstall_1465016640139.log


GUI画面が表示されるのでインストールを行います。Artix-7のチェックを忘れずに。

vivado_linux1.jpg

PDP-11をARTY FPGAボードで動かしてみた

  • 投稿日:
  • by
  • Category:

OpenCoresというサイトにFPGAでPDP-11を動かすプロジェクトがあったので、Xilinx Artix-7が載ったDIGILENTのARTYというFPGA評価ボードでPDP-11を動かしてみました。

arty_fpga_board.jpg

開発環境の設定でかなり試行錯誤しましたが、なんとかUNIX V5まで動かすことができました。

pdp11_v5unix.png

動かすための手順については以下にまとめました。

中波短波ラジオICR-SW700の液漏れを修理してみた

  • 投稿日:
  • by
  • Category:

HARDOFFのジャンクコーナーでSONYの短波ラジオICR-SW700をみつけました。中身を確認させていただいたところそこそこ綺麗でしたが、電池ボックスに液漏れの跡がありマイナス側の電池のバネは腐食していました。でもなんとかなるかなと買って帰りました。お値段は980円です。

icr_sw700_01.jpg

手持ちのICF-2001D用の4.5VのACアダプタを接続したところ問題なく動きました。でも、やはりラジオは電池で手軽に使いたいものです。

6802ワンボードコンピュータELIS68を動かしてみた(5)GAME動作編

  • 投稿日:
  • by
  • Category:

GAMEが動き始めたELIS68ですが、残念ながら手持ちのエンサクロペディア Volume2にはGAMEの全4回の連載のうち2回分しか掲載されておらず、続巻のエンサイクロペディア Volume3は持っていません。こういうときは国立国会図書館が頼りです。

国立国会図書館サーチを使うと蔵書の検索を行うことができます。GAMEの連載は以下の4つのようです。

  • ASCII 2(7)(13) 1978-07 新言語"GAME"
  • ASCII 2(8)(14) 1978-08 GAME インタプリタの研究
  • ASCII 2(9)(15) 1978-09 行編集機能とディスコンパイラー
  • ASCII 2(10)(16) 1978-10 6800用セルフアセンブラ

おまけに、68系のGAMEコンパイラの記事も見つけました。

  • ASCII 5(5)47 1981-05 H68/TR GAME68コンパイラ

さらに、ELIS68の連載5回目のQ&Aの記事も見つかりました。

  • ASCII 3(12)(30) ELIS68 Q&A 編集部

これまで何度か国会図書館は利用していますので、早速出かけて該当の記事を複写していただきました。

elis68_game5.jpg