問題一:https://blog.yexca.net/archives/198
問題二:https://blog.yexca.net/archives/201
問題三:https://blog.yexca.net/archives/200
問題四:https://blog.yexca.net/archives/202
問題五:この文章
引言
应该快两周了吧终于把这张试卷看完了,效率不是一般的低啊。整体来看怎么说呢,虽然整体难度是要比中国 408 难度低一点,但考试的风格与侧重点并不相同,具体还是不太好比较。希望下次我的效率可以高点啊
碎碎念
话说最近没怎么写碎碎念了,这其实还是因为当我想着去发一篇文章的时候往往都是很累的状态了,已经没有精力去写了。说到这里就想到以前对于一样东西从来都只是考虑要不要去学,现在不得不把时间、精力等算上了,最近看到的一个梗
你就不能一手抓考公,一手抓选调,一手抓国考,一手抓省考,一手抓教资,一手抓留学,一手抓实习, 一手抓面试,一手抓转正,一手抓秋招,一手抓毕设,一手抓恋爱。但你还得留一手,因为中国人讲究凡事留一手
让我感受颇深,人的精力是有限的,获得一定收获的同时必定会丧失一定的所得,包括时间、精力、热情等,这些其实都是可以被量化的变量,只是以前这些变量的上限大于甚至远大于我的活动并没被发掘而已 (当然也可能是透支之类的其他转换,出于严谨加个说明),随着年龄的增长也可以说经历或看的事情的增加,慢慢越来越多的变量必须被考虑,从而导致我每天都很疲惫与效率低下吧
有时候活着很累,可能是我太唯物了,多一点唯心,世界还是较为美好的 (我已经不敢对任何事物进行肯定性描述了,我害怕不确定,但生活往往没有确定的,虽然这归于对于变量的不掌握,不展开了,不然又得一大段)
背景
図5.1のように構成された、$ck$ を入力とし $z_2,z_1,z_0$ を出力とする論理回路Xを考える。ここで $R_0,R_1,R_2$ はポジティブエッジトリガ型(前縁トリガ型)Dフリップフロップであり、初期化時の出力は0とする。またF は $x_2,x_1,x_0$ を入力とし $y_2,y_1,y_0$ を出力とする論理回路であり、図5.2のように構成されている。AおよびBは図5.3に示されている2入力ゲートのいずれかとする。回路Xの入力 $ck$ に1単位時間を周期とするクロックパルスを与える。以下 $n$ を正整数、$t$ を時刻とする。時刻 $t=0$ において $R_0,R_1,R_2$ は初期化されており、時刻0以降 $n$ 個目のクロックパルスの立ち上がりによる出力が時刻 $t=n$ において $z_2,z_1,z_0$ に安定して得られるとする。この様子を図5.4に示す。以降、回路の構成要素(ゲート、フリップフロップおよび配線)による遅延はクロックパルスの周期と比較して十分小さく無視できるとする。
- 図5.1:論理回路X
- 図5.2:論理回路F
- 図5.3:2入力ゲート
- 図5.4:回路Xの動作
1
以下の問い a~f に答えよ。
a)回路Fの出力 $y_2,y_1,y_0$ は入力 $x_2,x_1,x_0$ の値のみで決まる。このような動作を行う回路の名称として最も適切なものを以下の選択肢から一つ選べ。
ア 非同期回路
イ 組み合わせ回路
ウ 順序回路
エ 非線形回路
b)時刻 $t=n$ における回路Xの出力 $z_2,z_1,z_0$ は、時刻 $t=$ アにおける $y_2,y_1,y_0$ の値それぞれと等しい。アを $n$ の式として表せ。
c)回路Xが図5.4に示すような動作をするための、回路Fの動作を表す真理値表を図5.5に示す表形式で完成させよ。
- 図5.5:回路Fの動作
d)図5.4のような動作を行う回路の名称として最も適切なものを以下の選択肢から一つ選び記号①~④で答えよ。
①デコーダ ②マルチプレクサ ③カウンタ ④シフトレジスタ
e)回路Xを図5.4のように動作させるためには図5.2のAおよびBにはそれぞれ何が入るか。図5.3から選び記号①~⑥で答えよ。同一のゲートを複数回用いてもよい。
f)論理変数 $x$ と $y$ の論理積(AND)を $xy$、論理和(OR)を $x+y$、$x$ の否定(NOT)を $\bar{x}$ と表記する。回路Fの出力 $y_2$ を
解答
a
- 非同期回路はクロック信号を使わず、各部分が独立して動作する回路を指します。
- 組み合わせ回路は、出力が入力の現在の値だけで決まる回路です。
- 順序回路は、出力が現在の入力だけでなく、内部の状態(フリップフロップの出力など)にも依存します。
- 非線形回路は、入力と出力の関係が線形でない特性を持つ回路を指します。
这题显然是属于 “組み合わせ回路”
b
因为 D 触发器会先接收一个输入,仅在时钟上升沿触发将其放到输出,由于状态更新的同步性,D 触发器会引入一个周期的延迟,所以 ア: $n-1$
c
x_2 | x_1 | x_0 | y_2 | y_1 | y_0 |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 1 | 1 |
0 | 1 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 0 | 0 | 0 |
d
- デコーダ(Decoder):解码器是一种将少量的输入信号解码为较多输出信号的组合逻辑电路。它根据输入的二进制编码,激活对应的输出线。
- マルチプレクサ(Multiplexer):多路复用器是一种从多个输入信号中选择一个信号输出的组合逻辑电路。它利用选择信号(Select Lines)来决定哪个输入信号通过到输出端。
- カウンタ(Counter):计数器是一种时序逻辑电路,用于对脉冲信号进行计数。根据脉冲信号的个数,计数器的输出值以特定的方式变化。
- シフトレジスタ(Shift Register):移位寄存器是一种存储数据并能够按照一定方向移动数据的时序逻辑电路。它由一系列触发器组成。
这题显然是属于 “シフトレジスタ(Shift Register)“
e
A: ② (OR) B: ① (AND)
通过真值表及其电路进行分析,因为有多个输出,可以一个输出一个输出来看,由于 $y_0$ 的电路已经决定,首先看 $y_1$ 输出为 1 时的输入
$x_2$ | $x_1$ | $x_0$ |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | 0 |
分析电路,可以暂时忽略输入 $x_2$ (从电路或者下一问可以知道,化简后无 $x_2$)
然后代入为 1 的输入进行试验,得到 A 是 OR 门,B 是 AND 门
分析 $y_2$ 输出为 1 时的输入验算,结果正确
f
\[\begin{align} y_2&=\bar{x_2}\bar{x_1}x_0+\bar{x_2}x_1\bar{x_0}+x_2\bar{x_1}x_0+x_2x_1\bar{x_0} \\ &= \bar{x_2}(\bar{x_1}x_0+x_1\bar{x_0})+x_2(\bar{x_1}x_0+x_1\bar{x_0}) \\ &= \bar{x_1}x_0+x_1\bar{x_0} \end{align}\]2
図5.6に示すGは $x_2,x_1,x_0$ を入力とし $y_2,y_1,y_0$ を出力とする論理回路である。Gを用いて、$ck$ を入力とし $z_2,z_1,z_0$ を出力とする論理回路Yを図5.7のように構成する。さらにYを用いて図5.8に示す論理回路 $X’$ を構成する。図5.8のCおよびDは図5.3に示されている2入力ゲートのいずれかである。以下の問い a~e に答えよ。
図5.6:論理回路G
図5.7:論理回路Y
図5.8:論理回路 $X’$
図5.9:回路Yの動作
a)回路Gでは出力 $y_0$ を得るためにゲートを5個用いている。図5.3に挙げたゲート2個以下を用いてGにおける $y_0$ と同じ出力を得ることができる回路を一つ記せ。
b)回路Yの入力 $ck$ に1単位時間を周期とするクロックパルスを与える。時刻 $t=0$ において $R_0,R_1,R_2$ は初期化されているとし、時刻0以降のn個目のクロックパルスの立ち上がりによる出力が時刻 $t=n$ において $z_2,z_1,z_0$ に安定して得られるとする。時刻 $t=1,4,7,12$ における回路Yの出力 $z_2,z_1,z_0$ を図5.9に示す表形式で完成させよ。
c)mを非負整数とする。上記b)で示した条件下での時刻 $t=m$ における回路Yの出力の組 $(z_2,z_1,z_0)$ をベクトルとみなし $z(m)$ と表記する。$z(m)$ と $z(m+1)$ のハミング距離の最大値を答えよ。
d)図5.8の回路X’と図5.1の回路Xは同等のふるまいを示す。このとき図5.8のCおよびDに入るゲートを図5.3から選び、記号①~⑥で答えよ。同一のゲートを複数回用いてもよい。ここで同等のふるまいとは以下のことという。X’とXそれぞれの入力 $ck$ に図5.10のように同一のパルス発生源Pから1単位時間を周期とするクロックパルスを与える。時刻 $t=0$ においてX’およびX内のDクロックパルスの立ち上がりによる出力が時刻 $t=n$ において $w_2,w_1,w_0$ および $z_2,z_1,z_0$ それぞれに安定して得られているとき、 $w_2=z_2$ かつ $w_1=z_1$ かつ $w_0=z_0$ である。
- 図5.10
e)図5.11のような論理回路を考える。時刻 $t=t_0$ において入力xとyが0から1に同時に変化したとする。このとき出力zは0のまま変化しないことが期待されるが、NOT ゲートにおける遅延が原因で図5.12に示すようなパルスが生じることがある。この現象はグリッチ(あるいはハザード)と呼ばれ、接続される回路によっては誤動作の原因となり得る。図5.8の回路X’において、ゲートC、Dにおける遅延が無視できない場合に出力 $w_0$ においてグリッチが発生し得るか否かを述べ、発生し得るなら対策方法を、発生しないならその理由を100文字以内で記せ。ただし回路Yの構成要素(ゲート、フリップフロップおよび配線)による遅延は無視できるものとし、$R_0,R_1,R_2$ それぞれの出力は同時に変化するものとする。
図5.11:グリッチを生じ得る論理回路の例
図5.12:グリッチの例
解答
a
分析电路可知 $y_0=x_1x_2+\bar{x_1}\bar{x_2}$,等价于 $x_1\ \text{XNOR}\ x_2$ 所以可以直接使用一个 XNOR 门简化电路
⑥だけ使用することができる。
b
t | $x_0$ | $x_1$ | $x_2$ | $y_0$ | $y_1$ | $y_2$ |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 1 | 1 | 0 |
2 | 1 | 1 | 0 | 0 | 1 | 0 |
3 | 0 | 1 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 1 | 1 | 1 | 1 |
5 | 1 | 1 | 1 | 1 | 0 | 1 |
6 | 1 | 0 | 1 | 0 | 0 | 1 |
7 | 0 | 0 | 1 | 0 | 0 | 0 |
8 | 0 | 0 | 0 | 1 | 0 | 0 |
9 | 1 | 0 | 0 | 1 | 1 | 0 |
10 | 1 | 1 | 0 | 0 | 1 | 0 |
11 | 0 | 1 | 0 | 0 | 1 | 1 |
12 | 0 | 1 | 1 | 1 | 1 | 1 |
可以看到从 $t=7$ 开始循环
c
汉明距离表示两个相同长度的二进制向量中,不同位的个数
从上问真值表来看,最大为 1
d
C: ③ (XOR) D: ③ (XOR)
分析俩电路的时刻表,可以得到真值表
$z_0$ | $z_1$ | $z_2$ | $w_0$ | $w_1$ | $w_2$ |
---|---|---|---|---|---|
1 | 0 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 0 | 1 |
1 | 0 | 1 | 0 | 1 | 1 |
0 | 0 | 1 | 1 | 1 | 1 |
0 | 0 | 0 | 0 | 0 | 0 |
分析电路,可以先看 $w_1$,寻找使 $w_1$ 为 1 的输入
$z_0$ | $z_1$ | $z_2$ |
---|---|---|
1 | 1 | 0 |
0 | 1 | 0 |
1 | 0 | 1 |
0 | 0 | 1 |
从电路可知可以忽略 $z_0$,剩下的 $z_1$ 和 $z_2$ 呈现出不同输出为 1,也就是异或门的形式,即 D 为异或门
分析 $w_0$ 为 1 的输入
$z_0$ | $z_1$ | $z_2$ | $z_1 \oplus z_2$ |
---|---|---|---|
1 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 1 | 1 | 0 |
0 | 0 | 1 | 1 |
从电路可以,可以直接观察 $z_0$ 和 $z_1 \oplus z_2$,呈现出不同输出为 1,也就是异或门的形式,即 C 为异或门
e
$w_0$ にグリッチが発生する可能性があります。対策としては、出力にバッファを追加するか、または同期フリップフロップを追加するか、あるいは回路設計を見直すことです。