電気通信大学 情報理工学研究科 情報・ネットワーク工学専攻 2025年8月実施 選択問題 計算機の基本原理
Author
祭音Myyura (co-authored with GPT 5.6 SOL)
Description
D フリップフロップからなる LFSR1 の次状態は
(X0+,X1+,X2+,X3+)=(X3,X0,X1⊕X3,X2)
である。初期状態 1000 から 16 CLK 後の状態を求めよ。初期時刻から順に数字 0,1,2,3,4,5 を表示する 7SEG1 について、入力と点灯出力 a,…,g の真理値表、および NOT、OR、NAND、XOR を各 1 個だけ用いた b,g,c の回路を示せ。セグメントは a が上、b,c が右上・右下、d が下、e,f が左下・左上、g が中央であり、出力 1 で点灯する。
公式問題の図3(PDF第10頁)では、LFSR2 の最初の段だけが外部 CLK で動き、その出力 Y0 が残り4段の CLK へ接続されている。次式は同時更新ではなく、それぞれのクロックの立上りにおける更新を表す。
Y0+=Y0,(Y1+,Y2+,Y3+,Y4+)=(Y4,Y1⊕Y4,Y2⊕Y4,Y3⊕Y4)
ここで Y0+ は外部 CLK の立上りで、(Y1+,Y2+,Y3+,Y4+) は Y0 の立上りで更新する。10 進カウンタとなる初期状態の条件を求めよ。最後に LFSR1、LFSR2、7SEG1、および Y0,…,Y4 から数字 0,…,9 を表示する 7SEG2 を直結し、00 から 59 まで繰り返しカウントする接続と必要条件を示せ。
题目描述
给定两个线性反馈移位寄存器和七段数码管,求寄存器状态与周期、写出真值表和限定门电路,并说明如何连接成 00-59 计数显示器。
Kai
状態遷移は
1000→0100→0010→0001→1010→0101→1000
となり、周期は 6 である。16≡4(mod6) より、
(X0,X1,X2,X3)=(1,0,1,0).
(i)
| X0 | X1 | X2 | X3 | a | b | c | d | e | f | g |
|---|
| 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
(ii)
NOT、OR、NAND、XOR をそれぞれ 1 個用いて、
b=X1X3,g=X2⊕X3,c=X0+X2
とすればよい。
条件は
(Y1,Y2,Y3,Y4)=(0,0,0,0).
4段部分の変換を F(a,b,c,d)=(d,a⊕d,b⊕d,c⊕d) とおくと、F5=I で、非零状態に周期1はない。したがって非零の4段部分は Y0 の5回の立上りで1周する。Y0 は外部 CLK を2分周するので、外部 CLK に対する周期は
2×5=10.
4段部分が全零なら変化せず、Y0 だけが交互に変化するため全体の周期は2にとどまる。
次のように接続する。
- LFSR1 の X0,…,X3 を 7SEG1 へ接続する。
- LFSR2 の Y0,…,Y4 を 7SEG2 へ接続する。
- LFSR2 を外部 CLK で動かし、Y1,…,Y4 のうち任意の 1 本 Yi を LFSR1 の CLK に接続する。
ただし、接続する Yi は外部10 CLKにつき立上りがちょうど1回となるように、LFSR2 の初期値とともに選ぶ。7SEG2 はその立上りの直後に1の位が9から0へ変わるよう設計する。
具体例として Yi=Y4、初期状態 (Y0,Y1,Y2,Y3,Y4)=10001 を選ぶ。外部 CLK ごとの状態と 7SEG2 の表示を次のように対応させる。
| 外部 CLK 数(mod 10) | Y0Y1Y2Y3Y4 | 7SEG2 |
|---|
| 0 | 10001 | 0 |
| 1 | 00001 | 1 |
| 2 | 11111 | 2 |
| 3 | 01111 | 3 |
| 4 | 11000 | 4 |
| 5 | 01000 | 5 |
| 6 | 10100 | 6 |
| 7 | 00100 | 7 |
| 8 | 10010 | 8 |
| 9 | 00010 | 9 |
Y4 は表示9から0へ戻るときだけ立ち上がる。この信号で LFSR1 を1状態進めれば、初期状態 1000 の10の位が 0,1,…,5,0 と変わり、表示全体は 00,01,…,59,00 となる。