記事作成日時:2024-08-24 22:39:14
最終更新日時:2024-10-12 22:19:20
最終更新日時:2024-10-12 22:19:20
NAND 16bit CPU「NLP-16A」の ALUの製作についてです。
回路図,基板図面等は ここ にあります。
注意 ALU基板は2台作る必要があります
チップ抵抗など背の低い方から実装するのがおすすめです。先にピンヘッダを実装すると実装がとても難しくなります。
また,ターミナルブロックの選定は注意してください。設計があまりよくなくて,リンク先のものと同じような形状,サイズでないと実装できません。
こっちは1枚でおk
接続用ケーブル
それぞれの基板の電源は特段書かれていませんが,デバッガ,ALU,ALU Ctrlのすべて(デバッガは4台の内一台接続されていればおkです。)で接続してください。
ちょっと見づらいですが,実際の接続はこんな感じです。
デバッガのバージョンが異なりますが,接続方法は同じですので,参考にしてください。
デバッガとの接続では,ALU Ctrlでは0-----F(こっちは16進表記),デバッガでは0-------15(こっちは10進表記。バラバラでごめんなさい。作ってる時は気が付かなかった…)と書いてありますので,同じ向きになるように接続してください。
リボンケーブルの向きの説明は以下が分かり易いので参考にしてください。BOMに書いてある秋月のものは「No.1」です。
ストレートケーブルと反転ケーブル
横から見るとこのようになります。
実行にはpythonにtqdmとpyserialが必要です。 [NLP-16Aの製作 ] を参考に導入してください。
特にエラー表示が無ければ完了です。
実際の動作
Twitter
エラー時の動作
passと出ている項目は正常に動作していますが,エラーが出ると一番最後の行のような表示になります。
ここではALUの出力が「1234」という数値で,かつフラグがS,Z,Vの3種がHであることを期待していますが,実際の出力が「1034」ですので,エラーとなっています。
まだまだ雑さが残るページですので,疑問等ありましたらコメント欄やTwitterでお気軽にご質問いただければと思います…
回路図,基板図面等は ここ にあります。
ALUの組み立て
完成するとこのようになります。注意 ALU基板は2台作る必要があります
部品表
番号 | 部品名 | 秋月URL(参考) | 備考 |
---|---|---|---|
U1-U60 | 74HC00 | U74HC00L-D14-T | 四角のパッドが1ピン |
D1-U56 | 3mm赤色LED | 3mm赤色LED |
0.5mAで設計しているのでそれで光るくらいの高輝度LED
四角のパッドがマイナス側 |
D57 | 3mm緑色LED | 3mm黄緑色LED | 上と同様 |
R1-R9 | 1608サイズ10Ω抵抗 | チップ抵抗 1/10W10Ω | |
R10 | 1608サイズ470Ω抵抗 | チップ抵抗 1/10W470Ω | |
RN1-RN8 | 8素子集合抵抗4.7kΩ | 集合抵抗 8素子 4.7kΩ | 四角のパッドが1ピン |
C1-C28 | 0.1μF セラミックコンデンサ | セラミックコンデンサー 0.1μF25V F | 積層セラミックコンデンサでもディスクセラミックコンデンサでも可 |
C29 | 47μF 電解コンデンサ | 電解コンデンサー47μF35V105℃ ルビコンPX |
10だと少し少ないかもしれないが100だと過剰だと思う
基板のシルクが白い方がマイナス側 |
J1-J4 | 2x10 L型ピンヘッダ | ピンヘッダー (オスL型) 2×40 (80P) |
2x40を買って4分割すると安い
ピンが外側に向くように |
J5 | ターミナルブロック | ターミナルブロック 2P 緑 縦 小 | この「緑 縦 小」じゃないとICと干渉して実装できないので注意 |
また,ターミナルブロックの選定は注意してください。設計があまりよくなくて,リンク先のものと同じような形状,サイズでないと実装できません。
ALU制御の組み立て
完成するとこのようになります。こっちは1枚でおk
スポンサードリンク
部品表
L型のピンヘッダとストレートのピンヘッダを間違わないように気を付けてください。番号 | 部品名 | 秋月URL(参考) | 備考 |
---|---|---|---|
U1-U28 | 74HC00 | U74HC00L-D14-T | 四角のパッドが1ピン |
D1-D16 | 3mm黄色LED | 3mm黄色LED |
0.5mAで設計しているのでそれで光るくらいの高輝度LED
四角のパッドがマイナス側 |
D17-D20 | 3mm赤色LED | 3mm赤色LED | 上と同様 |
D21 | 3mm緑色LED | 3mm黄緑色LED | 上と同様 |
R1-R16 | 1608サイズ10Ω抵抗 | チップ抵抗 1/10W10Ω | |
R17 | 1608サイズ470Ω抵抗 | チップ抵抗 1/10W470Ω | |
RN1-RN3 | 8素子集合抵抗4.7kΩ | 集合抵抗 8素子 4.7kΩ | 四角のパッドが1ピン |
C1-C28 | 0.1μF セラミックコンデンサ | セラミックコンデンサー 0.1μF25V F | 積層セラミックコンデンサでもディスクセラミックコンデンサでも可 |
C29 | 47μF 電解コンデンサ | 電解コンデンサー47μF35V105℃ ルビコンPX |
10だと少し少ないかもしれないが100だと過剰だと思う
基板のシルクが白い方がマイナス側 |
J1 | ターミナルブロック | ターミナルブロック 2P 緑 縦 小 | この「緑 縦 小」じゃないとICと干渉して実装できないので注意 |
J2 | 2x20 L型ピンヘッダ | ピンヘッダー (オスL型) 2×40 (80P) |
2x40を買って2分割すると安い
ピンが外側に向くように |
J3,J4,J6,J7 | 2x10 ピンヘッダ | ピンヘッダー 2×40 (80P) | 2x40を買って4分割すると安い |
J5 | 2x10 L型ピンヘッダ | ピンヘッダー (オスL型) 2×40 (80P) |
2x40を買って4分割すると安い
ピンが外側に向くように |
ハードウェアのテスト
テストに必要なもの
デバッガ4台 ↓NLP-16A 簡易デバッガ |
---|
NAND 16bit CPU「NLP...(以下略) 記事作成日時:2024-10-04 11:39:38 最終更新日時:2024-10-05 00:29:02 |
部品名 | 秋月URL(参考) | 備考 |
2x10ピンリボンケーブル | 2×10(20P)両端コネクター付IDCリボンケーブル(フラットケーブル) | 5本必要 |
2x20ピンリボンケーブル | 2×20(40P)両端コネクター付IDCリボンケーブル(フラットケーブル) | 1本必要 |
オス-メスジャンパワイヤ | コネクター付ケーブル 20cm 40P オスメス | 6ピン分だけ使用 |
ジャンパピン | ジャンパーピン赤(2.54mmピッチ) | 1つだけ使う |
USB-UART変換 | CH340E USBシリアル変換モジュール Type-C |
接続
ALUのテストは ALU基板2枚とALU Ctrl基板1枚の計三枚 で行います。それぞれの基板の電源は特段書かれていませんが,デバッガ,ALU,ALU Ctrlのすべて(デバッガは4台の内一台接続されていればおkです。)で接続してください。
ちょっと見づらいですが,実際の接続はこんな感じです。
デバッガのバージョンが異なりますが,接続方法は同じですので,参考にしてください。
スポンサードリンク
ALU Ctrlとデバッガの接続
まずは1番下の段です。ALU Ctrl基板とデバッガは以下のように接続します。グレーアウトされているものはあとで接続されます。デバッガとの接続では,ALU Ctrlでは0-----F(こっちは16進表記),デバッガでは0-------15(こっちは10進表記。バラバラでごめんなさい。作ってる時は気が付かなかった…)と書いてありますので,同じ向きになるように接続してください。
リボンケーブルの向きの説明は以下が分かり易いので参考にしてください。BOMに書いてある秋月のものは「No.1」です。
ストレートケーブルと反転ケーブル
ALUとデバッガの接続
次に下から2段目,3段目です。ALUの入力端子それぞれにデバッガを接続します。ALUとALU Ctrlの接続
上手く重なるように設計しているので,特に困らないかと思います。もし接続しにくければ何か間違いがあるかもです。横から見るとこのようになります。
デバッガの接続(ALUテスト全体)
デバッガ同士の接続です。ID:01とID:02の間はオス-メスジャンパワイヤで接続してください。また,末端(ID:04)のデバッガは基板上の「末端ではジャンパする」と書いてあるピンヘッダをジャンパピンでジャンパしてください。スポンサードリンク
実行
ここ にあるmain.pyをターミナルから実行します。
$python3 main.py
実行にはpythonにtqdmとpyserialが必要です。 [NLP-16Aの製作 ] を参考に導入してください。
特にエラー表示が無ければ完了です。
実際の動作
エラー時の動作
passと出ている項目は正常に動作していますが,エラーが出ると一番最後の行のような表示になります。
ここではALUの出力が「1234」という数値で,かつフラグがS,Z,Vの3種がHであることを期待していますが,実際の出力が「1034」ですので,エラーとなっています。
まだまだ雑さが残るページですので,疑問等ありましたらコメント欄やTwitterでお気軽にご質問いただければと思います…
関連するページ
-
NLP-16Aの製作 *****
記事作成日時:2024-08-25 00:02:06
最終更新日時:2024-10-23 23:20:02
-
Profile ハンドルネーム:ちぇりーたくあん(カタカナではない)...(以下略)
記事作成日時:2022-04-24 12:35:51
最終更新日時:2023-06-14 16:34:00