跳到主要内容

電気通信大学 情報理工学研究科 情報・ネットワーク工学専攻 2025年8月実施 選択問題 計算機の基本原理

Author

祭音Myyura (co-authored with GPT 5.6 SOL)

Description

D フリップフロップからなる LFSR1 の次状態は

(X0+,X1+,X2+,X3+)=(X3,X0,X1X3,X2)(X_0^+,X_1^+,X_2^+,X_3^+) =(X_3,X_0,X_1\oplus X_3,X_2)

である。初期状態 10001000 から 16 CLK 後の状態を求めよ。初期時刻から順に数字 0,1,2,3,4,50,1,2,3,4,5 を表示する 7SEG1 について、入力と点灯出力 a,,ga,\ldots,g の真理値表、および NOT、OR、NAND、XOR を各 1 個だけ用いた b,g,cb,g,c の回路を示せ。セグメントは aa が上、b,cb,c が右上・右下、dd が下、e,fe,f が左下・左上、gg が中央であり、出力 11 で点灯する。

公式問題の図3(PDF第10頁)では、LFSR2 の最初の段だけが外部 CLK で動き、その出力 Y0Y_0 が残り4段の CLK へ接続されている。次式は同時更新ではなく、それぞれのクロックの立上りにおける更新を表す。

Y0+=Y0,(Y1+,Y2+,Y3+,Y4+)=(Y4,Y1Y4,Y2Y4,Y3Y4)Y_0^+=\overline{Y_0},\qquad (Y_1^+,Y_2^+,Y_3^+,Y_4^+) =(Y_4,Y_1\oplus Y_4,Y_2\oplus Y_4,Y_3\oplus Y_4)

ここで Y0+Y_0^+ は外部 CLK の立上りで、(Y1+,Y2+,Y3+,Y4+)(Y_1^+,Y_2^+,Y_3^+,Y_4^+)Y0Y_0 の立上りで更新する。10 進カウンタとなる初期状態の条件を求めよ。最後に LFSR1、LFSR2、7SEG1、および Y0,,Y4Y_0,\ldots,Y_4 から数字 0,,90,\ldots,9 を表示する 7SEG2 を直結し、0000 から 5959 まで繰り返しカウントする接続と必要条件を示せ。

题目描述

给定两个线性反馈移位寄存器和七段数码管,求寄存器状态与周期、写出真值表和限定门电路,并说明如何连接成 0000-5959 计数显示器。

Kai

1.

状態遷移は

10000100001000011010010110001000\to0100\to0010\to0001\to1010\to0101\to1000

となり、周期は 66 である。164(mod6)16\equiv4\pmod6 より、

(X0,X1,X2,X3)=(1,0,1,0).\boxed{(X_0,X_1,X_2,X_3)=(1,0,1,0)}.

2.

(i)

X0X_0X1X_1X2X_2X3X_3aabbccddeeffgg
10001111110
01000110000
00101101101
00011111001
10100110011
01011011011

(ii)

NOT、OR、NAND、XOR をそれぞれ 1 個用いて、

b=X1X3,g=X2X3,c=X0+X2\boxed{ b=\overline{X_1X_3},\qquad g=X_2\oplus X_3,\qquad c=X_0+\overline{X_2}}

とすればよい。

3.

条件は

(Y1,Y2,Y3,Y4)(0,0,0,0).\boxed{(Y_1,Y_2,Y_3,Y_4)\neq(0,0,0,0)}.

4段部分の変換を F(a,b,c,d)=(d,ad,bd,cd)F(a,b,c,d)=(d,a\oplus d,b\oplus d,c\oplus d) とおくと、F5=IF^5=I で、非零状態に周期1はない。したがって非零の4段部分は Y0Y_0 の5回の立上りで1周する。Y0Y_0 は外部 CLK を2分周するので、外部 CLK に対する周期は

2×5=10.2\times5=\boxed{10}.

4段部分が全零なら変化せず、Y0Y_0 だけが交互に変化するため全体の周期は2にとどまる。

4.

次のように接続する。

  • LFSR1 の X0,,X3X_0,\ldots,X_3 を 7SEG1 へ接続する。
  • LFSR2 の Y0,,Y4Y_0,\ldots,Y_4 を 7SEG2 へ接続する。
  • LFSR2 を外部 CLK で動かし、Y1,,Y4Y_1,\ldots,Y_4 のうち任意の 1 本 YiY_i を LFSR1 の CLK に接続する。

ただし、接続する YiY_i は外部10 CLKにつき立上りがちょうど1回となるように、LFSR2 の初期値とともに選ぶ。7SEG2 はその立上りの直後に1の位が9から0へ変わるよう設計する。

具体例として Yi=Y4Y_i=Y_4、初期状態 (Y0,Y1,Y2,Y3,Y4)=10001(Y_0,Y_1,Y_2,Y_3,Y_4)=10001 を選ぶ。外部 CLK ごとの状態と 7SEG2 の表示を次のように対応させる。

外部 CLK 数(mod 10)Y0Y1Y2Y3Y4Y_0Y_1Y_2Y_3Y_47SEG2
0100010
1000011
2111112
3011113
4110004
5010005
6101006
7001007
8100108
9000109

Y4Y_4 は表示9から0へ戻るときだけ立ち上がる。この信号で LFSR1 を1状態進めれば、初期状態 10001000 の10の位が 0,1,,5,00,1,\ldots,5,0 と変わり、表示全体は 00,01,,59,0000,01,\ldots,59,00 となる。