[układy cyfrowe] Zaprojektować układ
: 15 lut 2014, o 01:22
Hej. Czy mógłby ktoś zerknąć i ocenić, czy wgl rozumiem o co w tym chodzi? Pierwsze moje zadanie tego rodzaju.
Zaprojektować układ przepuszczający na wyjście pierwszą z lewej gruppę jedynek z n-bitowego słowa wejściowego.
Przykład 1
We: 001101001110110100011
Wy: 001100000000000000000
Przykład 2
We: 000011110011101101001
Wy: 000011110000000000000
Moje rozwiązanie(iteracyjnie):
Przeniesienia od lewej do prawej.
Wejście:
\(\displaystyle{ x _{i}}\) - bit wejściowy
oraz przeniesienia:
\(\displaystyle{ p _{i}}\) - czy szukana grupa już była
\(\displaystyle{ q _{i}}\) - czy znajduję się w szukanej grupie
Wyjście:
\(\displaystyle{ y_{i}}\) - bit wyjściowy
\(\displaystyle{ p _{i+1}}\)
\(\displaystyle{ q _{i+1}}\)
\(\displaystyle{ p _{i}}\) =0 - grupa już była
\(\displaystyle{ p _{i}}\) =1 - grupy nie było
\(\displaystyle{ q _{i}}\) =0 - jestem w grupie(lub tuż za nią)
\(\displaystyle{ q _{i}}\) =1 - jestem poza grupą
\(\displaystyle{ \begin{tabular}{|c|c|c|c|c|c|c|c|c}
\hline
x _{i} & p _{i} & q _{i} & p _{i+1} & q _{i+1} & y _{i} \\ \hline
0 & 0 & 0 & 0 & 0 & 0 \\ \hline
1 & 0 & 0 & 1 & 1 & 1 \\ \hline
0 & 0 & 1 & 0 & 1 & 0 \\ \hline
1 & 1 & 0 & x & x & x \\ \hline
1 & 0 & 1 & 0 & 1 & 0 \\ \hline
0 & 1 & 0 & x & x & x \\ \hline
0 & 1 & 1 & 0 & 1 & 0 \\ \hline
1 & 1 & 1 & 1 & 1 & 1 \\ \hline
\end{tabular}}\)
Tabele funkcji wyjściowych:
\(\displaystyle{ q_{i+1} = x_{i} * ( q_{i} + p_{i} )
p_{i+1} = p_{i} + x_{i}
y_{i} = x_{i} * ( q_{i} + p_{i} )}\)
Zaprojektować układ przepuszczający na wyjście pierwszą z lewej gruppę jedynek z n-bitowego słowa wejściowego.
Przykład 1
We: 001101001110110100011
Wy: 001100000000000000000
Przykład 2
We: 000011110011101101001
Wy: 000011110000000000000
Moje rozwiązanie(iteracyjnie):
Przeniesienia od lewej do prawej.
Wejście:
\(\displaystyle{ x _{i}}\) - bit wejściowy
oraz przeniesienia:
\(\displaystyle{ p _{i}}\) - czy szukana grupa już była
\(\displaystyle{ q _{i}}\) - czy znajduję się w szukanej grupie
Wyjście:
\(\displaystyle{ y_{i}}\) - bit wyjściowy
\(\displaystyle{ p _{i+1}}\)
\(\displaystyle{ q _{i+1}}\)
\(\displaystyle{ p _{i}}\) =0 - grupa już była
\(\displaystyle{ p _{i}}\) =1 - grupy nie było
\(\displaystyle{ q _{i}}\) =0 - jestem w grupie(lub tuż za nią)
\(\displaystyle{ q _{i}}\) =1 - jestem poza grupą
\(\displaystyle{ \begin{tabular}{|c|c|c|c|c|c|c|c|c}
\hline
x _{i} & p _{i} & q _{i} & p _{i+1} & q _{i+1} & y _{i} \\ \hline
0 & 0 & 0 & 0 & 0 & 0 \\ \hline
1 & 0 & 0 & 1 & 1 & 1 \\ \hline
0 & 0 & 1 & 0 & 1 & 0 \\ \hline
1 & 1 & 0 & x & x & x \\ \hline
1 & 0 & 1 & 0 & 1 & 0 \\ \hline
0 & 1 & 0 & x & x & x \\ \hline
0 & 1 & 1 & 0 & 1 & 0 \\ \hline
1 & 1 & 1 & 1 & 1 & 1 \\ \hline
\end{tabular}}\)
Tabele funkcji wyjściowych:
\(\displaystyle{ q_{i+1} = x_{i} * ( q_{i} + p_{i} )
p_{i+1} = p_{i} + x_{i}
y_{i} = x_{i} * ( q_{i} + p_{i} )}\)