![]() |
![]() |
|||||||||||||||
Счетчик - часть 3. Апгрейд.
Автор: Итак, у нас уже есть счетчик. Но все что он пока что умеет - это считать. Его нельзя сбросить в нули, в его нельзя загрузить значение. Он ровным счетом ничего не умеет. Ну что ж - значит наша прямая обязанность - апгрейдить его. Чем мы сейчас и займемся. Апгрейд будет заключаться в добавлении следующих вещей:
Поехали.
Сначала приделаем к счетчику входы сброса. Чем различаются синхронный и асинхронный сбросы?
Синхронный - происходящий по фронту тактового импульса;
Думаем… Дополняем нашу схему:
Напоминаю, что входы сброса - инвертированные. То есть, сброс происходит при подаче нуля. Ну теперь давайте сообразим с загрузкой. Тут уже не обойтись без мультиплексора. Мультиплексор - это "переключатель". То есть, у него много входов и один выход. В зависимости от заданного адреса, мультиплексор подключает к выходу соответствующий вход. В нашем случае, нужен мультиплексор на два 4-разрядных входа. Давайте его создадим.
Итак, товарищи творцы и созидатели - делаем раз: File>New>Graphic Editor File.
Восемь входов - это 4+4 (называем их соответственно D00…D03 и D10…D13)
Рисуем таблицу истинности для 2 входов и 1 выхода.
D0.0 D1.0 A0 | Q0
-------------|---
1. 0 0 0 | 0
2. 0 0 1 | 0
3. 0 1 0 | 0
4. 0 1 1 | 1
5. 1 0 0 | 1
6. 1 0 1 | 0
7. 1 1 0 | 1
8. 1 1 1 | 1
Во-общем то и без нее все было ясно. Рисуем:
Нарисовали? Сохраняем файл под именем mux_2x4.gdf
Проверили. Ну, вроде все работает как надо.
Вставляем его в схему…
Итак, теперь когда на входе PE - лог. 1,
сигнал на триггеры подается с элемента increment.
То есть, счетчик считает.
Еще один момент: мы кажется хотели сделать разрешение счета? Ну так значит нужен еще один мультиплексор.
Этот мультиплексор будет подавать на входы триггеров данные либо с инкрементора,
либо напрямую с выходов самих себя. Соответственно, в первом случае будет счет, во втором - не будет.
То есть, с каждым фронтом тактовой частоты триггеры будут хлопать в себя, себя же.
Когда на CE - лог.0, счета нет (сигнал берется напрямую с выходов триггеров),
Так. Осталось сделать только выход переполнения. Что это такое?
Ну чего, ставим в схему :
Ну вот, что хотели - соорудили. Теперь можно сделать это все символом. Компилируем, делаем. Получился вот такой симпатичный элементик:
Это все на сегодня. Дальше будет хуже :) <<--Вспомним пройденное----Поехали дальше-->>
|
|
|||||||||||||||
![]() |
![]() |


![]() |
||||
|
|
||||





