0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

TD4をTang-Nanoで動かす、更にちょこっと拡張

Posted at

目的

 Tang-Nanoと言うボードが去年(2019)の終わりごろに売り出されていた。
 一年近く立ってからやっと気か付いた。
 規模は1000LUT程度、xilinxのxc6lx9の1/10位かな。
 CPLDに比べれば大容量と言えるが、でも大げさな事は出来ないだろうな。
 しかし、何だよこの値段。
 sでのボードの値段は535円、mでのチップ一個より安いじゃないか。
 ◆◆◆ 本当に使えるのか、試してみよう ◆◆◆

経緯

 流石に日本国内では535円では買えないので、適当にチョイスして購入(800円)。まあ、値段は許容範囲かな。
 ハードはUSB TYPE-Cでつなげるだけ。ドライバーはソフトと一緒に入ってくる。
 ソフトの導入は、Tang-Nanoで検索すればやり方が出てきた。
 SiPeed Tang Nanoの環境構築(Windows編)を参考にした。
 ただ、管理者モード云々の記述が有るが、しなくても書き込みは出来た。
  ※Programmer -> Edit -> Cable Setting -> Cable -> Cable SettingのFrequencyが2.5MHzに設定されていた。
 ライセンスは上記に書かれている、- server address 45.33.107.56 - port: 10559 で動作するはず。
  ※LANケーブルを外すと使えなくなる。外部サーバに頼るのはアマチュアと言えど一抹の不安が...。
 サンプルプロジェクトも上記に書かれている。Tang-Nano-examples
  ※但し一つ注意が必要です。
   某所で買ったLCD(JST-4300-E3V03)はクロック上限が10MHz前後。
   サンプルは33MHZ動作なのでそのままだと、うすボケ表示となる。まあ写れば動作は出来ているとは言える。
   修正にはPLLのクロックを10MHzにすれば良し。
   Tools -> IP Core Generator の画面で、Target Deviceの横のフォルダマークをクリック、gowin_pll-> gowin_pll.ipcを選択。
   IP Customizationの画面が開くので、CLKOUTDの EXxpected Frequencyを10にして再コンパイルすれば治る。

TD4とは

 「CPUの創り方」という本に書かれているCPUの名称。
 概略性能は下記のようなもの。
  アドレス 4ビット(16番地)
  ALU  4ビット
  入出力  4ビット
  命令語長 8ビット
  命令   13種類

 ロジックを自分で考えるのは面倒なので、これを採用。
 「「TD4」をVerilog HDL で書いてみた」に記載のVerilogをパクってちょこっと改変。
  ※簡潔にうまく纏められているが、一か所ロジック間違っている気がするのでそこは訂正。
 プログラムは図々しく、Githubに上げている。「TD4
 多少の変更として、下記を追加。
  1.LEDの代わりにLCDでカウンタ類の表示。
  2.釦Bを押すと、クロックが停止する。釦Aでリセット。
 LCD表示なしで、46LUTで出来上がり。
 LCDを追加で、135LUTになる。
Image31.jpg

TD8とは

 TD4の勝手拡張版。いろんな人がやってる様だ。
 TD4の命令を保持する事を前提にしたので、大した拡張では無い。
  アドレス 8ビット(256番地)
  ALU  8ビット
  命令語長 12ビット
  命令拡張 レジスタを3個(A,B,S)に増設
       JPM,CALL,RETを追加
 これも、Githubに上げている。「TD8
 LCD無しで、78LUTとなった。
 折角サブルーチンコールを新設したが、ラーメンタイマーでは、プログラムが逆に長くなったので封印。

感想

 個人的にはTD4は、アドレスと命令数がミスマッチではないかと思う。
 でも、CPUを作る切っ掛けになると考えれば、これも有りだと思う。
 なお、上記記載内容は全て無保証であり、各自の責任においてご利用願います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?