mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 09:10:10 +00:00
Изменение размеров пикч в How FPGA works
This commit is contained in:
@@ -43,25 +43,25 @@
|
||||
|
||||
Логический вентиль **И** принимает два входа и выдает на выход значение `1` только в том случае, если оба входа равны `1`. Если хотя бы один из входов `0`, то на выходе будет `0`. На схемах, логический вентиль **И** отображается следующим образом:
|
||||
|
||||

|
||||
<img src="../.pic/Introduction/How%20FPGA%20works/FPGA_ang_gate.png" alt="../.pic/Introduction/How%20FPGA%20works/FPGA_ang_gate.png" width="150"/>
|
||||
|
||||
_Рисунок 1. Обозначение логического вентиля **И**._
|
||||
|
||||
Логический вентиль **ИЛИ** принимает два входа и выдает на выход значение `1` в случае, если хотя бы один из входов равен `1`. Если оба входа равны `0`, то на выходе будет `0`. На схемах, логический вентиль **ИЛИ** отображается следующим образом:
|
||||
|
||||

|
||||
<img src="../.pic/Introduction/How%20FPGA%20works/FPGA_or_gate.png" alt="../.pic/Introduction/How%20FPGA%20works/FPGA_or_gate.png" width="150"/>
|
||||
|
||||
_Рисунок 2. Обозначение логического вентиля **ИЛИ**._
|
||||
|
||||
Логический вентиль **Исключающее ИЛИ** принимает два входа и выдает на выход значение `1` в случае, если значения входов не равны между собой (один из них равен `1`, а другой `0`). Если значения входов равны между собой (оба равны `0` или оба равны `1`), то на выходе будет `0`. На схемах, логический вентиль **Исключающее ИЛИ** отображается следующим образом:
|
||||
|
||||

|
||||
<img src="../.pic/Introduction/How%20FPGA%20works/FPGA_xor_gate.png" alt="../.pic/Introduction/How%20FPGA%20works/FPGA_xor_gate.png" width="150"/>
|
||||
|
||||
_Рисунок 3. Обозначение логического вентиля **Исключающее ИЛИ**._
|
||||
|
||||
Логический вентиль **НЕ** — самый простой. Он принимает один вход и подает на выход его инверсию. Если на вход пришло значение `0`, то на выходе будет `1`, если на вход пришло значение `1`, то на выходе будет `0`. Он обозначается на схемах следующим образом:
|
||||
|
||||

|
||||
<img src="../.pic/Introduction/How%20FPGA%20works/FPGA_not_gate.png" alt="../.pic/Introduction/How%20FPGA%20works/FPGA_not_gate.png" width="150"/>
|
||||
|
||||
_Рисунок 4. Обозначение логического вентиля **НЕ**._
|
||||
|
||||
@@ -71,7 +71,7 @@ _Рисунок 4. Обозначение логического вентиля
|
||||
|
||||
На приведенном ниже рисунке показан способ построения логического вентиля **И** на базе двух транзисторов. Подача значения `1` на вход **А** или **B** "открывает" соответствующий транзистор. Если оба транзистора открыты, на выход идет **напряжение питания** (`1` в контексте **цифровых значений**). В случае, если хотя бы на одном входе **А** или **B** будет значение `0`, соответствующий транзистор будет закрыт (можно считать, что он превратится в разрыв цепи). В этом случае выход будет подключен к **земле** (`0` в контексте цифровых значений). Как вы видите, напряжение на выход подается от **источников постоянного питания** или **земли**, а не от входов вентиля, именно этим и обеспечивается постоянное обновление напряжения и устойчивость **цифровых схем** к помехам.
|
||||
|
||||

|
||||
<img src="../.pic/Introduction/How%20FPGA%20works/FPGA_and_gate_transistor.drawio.png" alt="../.pic/Introduction/How%20FPGA%20works/FPGA_and_gate_transistor.drawio.png" width="300"/>
|
||||
|
||||
_Рисунок 5. Обозначение логического вентиля **Схема логического вентиля И, построенного на транзисторах**._
|
||||
|
||||
@@ -85,7 +85,7 @@ _Рисунок 5. Обозначение логического вентиля
|
||||
|
||||
Схематически, мультиплексор обозначается следующим образом:
|
||||
|
||||

|
||||
<img src="../.pic/Introduction/How%20FPGA%20works/FPGA_mux_symbol.png" alt="../.pic/Introduction/How%20FPGA%20works/FPGA_mux_symbol.png" width="200"/>
|
||||
|
||||
_Рисунок 6. Обозначение Мультиплексора._
|
||||
|
||||
@@ -97,13 +97,13 @@ _Рисунок 6. Обозначение Мультиплексора._
|
||||
|
||||
Посмотрим, как можно реализовать мультиплексор с управляющим сигналом, использующим `one-hot`-кодирование, используя только логические вентили **И**, **ИЛИ**:
|
||||
|
||||

|
||||
<img src="../.pic/Introduction/How%20FPGA%20works/FPGA_mux6in1_onehot_initial.drawio.png" alt="../.pic/Introduction/How%20FPGA%20works/FPGA_mux6in1_onehot_initial.drawio.png" width="500"/>
|
||||
|
||||
_Рисунок 7. Реализация мультиплексора, использующего one-hot кодирование._
|
||||
|
||||
Если мы выставим значение управляющего сигнала, равное `000010`, означающее что только **первый** бит этого сигнала (**счет ведется с нуля**) будет равен **единице** (`sel[1] = 1`), то увидим, что на один из входов каждого логического вентиля **И** будет подано значение `0`. Исключением будет логический вентиль **И** для входа `b`, на вход которого будет подано значение `1`. Это означает, что все логические вентили **И** (кроме первого, на который подается вход `b`) будут выдавать на выход `0` (см. [Логические вентили](#логические-вентили)) вне зависимости от того, что было подано на входы a,c,d,e и f. Единственным входом, который будет на что-то влиять окажется вход `b`. Когда он равен `1`, на выходе соответствующего логического вентиля **И** окажется значение `1`. Когда он равен `0` на выходе **И** окажется значение `0`. Иными словами, выход **И** будет повторять значение `b`.
|
||||
|
||||

|
||||
<img src="../.pic/Introduction/How%20FPGA%20works/FPGA_mux6in1_onehot_path.drawio.png" alt="../.pic/Introduction/How%20FPGA%20works/FPGA_mux6in1_onehot_path.drawio.png" width="500"/>
|
||||
|
||||
_Рисунок 8. Реализация мультиплексора, использующего one-hot кодирование._
|
||||
|
||||
@@ -117,7 +117,7 @@ _Рисунок 9. Реализация многоходового логиче
|
||||
|
||||
Но для нашей схемы мультиплексора гарантируется, что каждый вход **ИЛИ** кроме одного будет равняться `0` (поскольку выход каждого **И** кроме одного будет равен `0`). Это означает, что выход **многовходового ИЛИ** будет зависеть только от **одного** входа (в случае, когда `sel = 000010` — от входа `b`).
|
||||
|
||||

|
||||
<img src="../.pic/Introduction/How%20FPGA%20works/FPGA_mux6in1_onehot_output.drawio.png" alt="../.pic/Introduction/How%20FPGA%20works/FPGA_mux6in1_onehot_output.drawio.png" width="500"/>
|
||||
|
||||
_Рисунок 10. Реализация мультиплексора, использующего one-hot кодирование._
|
||||
|
||||
|
Reference in New Issue
Block a user