Методы проектирования цифровых (микро)схем

Тема в разделе "WASM.ELECTRONICS", создана пользователем programmist, 10 июл 2007.

  1. programmist

    programmist New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    29
    Вот у меня вот такой вопрос возник: каким образом проектируются цифровые схемы. Я знаю, что проектирование происходит на уровне логических элементов, а каким образом это делается? Тоесть например мне нужна схема которая если во входном регистре к примеру получает число 1, то делает что-то, при получении другого числа делает что-то другое(интересуют вещи более сложные, чем сумматоры и т.д). Существует ли общий метод для построения логической схемы? (конечно не предполагается использования Verilog или VHDL, то есть хочу знать как это делали раньше)
     
  2. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    что ты подразумеваешь под "более сложным действием". все действия по сути это обычное преоброзование сигнала. чем сложнее преобразование - тем больше логических элементов, сложнее схема.
     
  3. programmist

    programmist New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    29
    Ну например как проектируется сумматор. Строится его таблица и по ней строится СДНФ, и по СДНФ уже строится схема правильно? А например как построить какой-нибудь контроллер небольшой (не микроконтроллер)?

    Контроллер имеет входной регистр команды, при получении команды он не просто выставляет на свои выходы каки-ето значения, а он например сначала выдает какие-нибудь импульсы на устройство, затем при получении сигнала от устройства выполнение команды завершается. При получении другой команды он делает каки-ето другие действия.
     
  4. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    нет. схема строится по логической функции, получить которую из таблицы можно кучей способов, причем СДНФ - фегня, лучше строить сразу минимизированные.. а контроллер в свою очередь состоит например из тех же сумматоров, тригеров, дешифроторов и т.п.
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    programmist
    есть еще такой механизм как конечные автоматы, на них тоже строятся схемы зачастую.
    попробуй что-нибудь пописать. на AHDL'e например.
     
  6. programmist

    programmist New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    29
    n0name
    Про конечные автоматы в курсе, но вот как их применять?
    Что за AHDL ?

    FreeManCPM
    Про СДНФ это общий принцип, при минимизировании получаем сокращенную ДНФ.

    Но ведь все эти части каким-то образом связаны.
    Я хочу сказать что нельзя построить функцию для того же контроллера, а уж для процессора то тем более :)
     
  7. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    То есть как применять?
    В разных языках по разному.
    Язык описания железа. Altera HDL. Для новичка имхо самое то. Удобная среда/симулятор есть Max++.
     
  8. programmist

    programmist New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    29
    n0name
    Бесплатный?
    А он схему итоговую может показать?
     
  9. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    нет, но можно нарисовать и просимулировать, там есть встроенный редактор схем.
    кряк гуглится.
     
  10. programmist

    programmist New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    29
    n0name
    Всмысле как нарисовать, я же не знаю самой схемы, че рисовать то?
     
  11. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    Интересно на чём пишут (рисуют) разводку для процессоров.
     
  12. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    там все интуитивно понятно. кинул два входа, например, кинул элемент and2 и вывод, соединил входы с элементом, выход элемента соединил с выводом... получил одноразрядное логическое И :)
     
  13. programmist

    programmist New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    29
    Там можно создатьл какой-нибудь контроллер и потом получить(или нарисовать) его схему???
     
  14. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    programmist
    эмм. может наоборот лучше. или это типа электронный реверсинг?
     
  15. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    2 режима работы - текстовый и графический, переходить из одного в другой нельзя.
    В графическом ты рисуешь схему, сосотоящую из элементов(andX, xorX, orX, ...), входных и выходных контактов, и проводов соединяющих их.
    В текстовом ты вначале задаешь описание входов/выходов, переменных, констант, etc, а потом пишешь код, не забывая при этом что всё исполняется параллельно и при этом представляя себе как это будет выглядеть в коде.
     
  16. programmist

    programmist New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    29
    Че-то я не понял каков вообще смысл применения этого языка? Я вот сейчас читаю про него. Ну есть цифровые автоматы. А смысл? Если потом схему нельзя получить.
    Мне например нужно будет схему этого цифрового автомата на логических элементах.
     
  17. ntcdm

    ntcdm New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2007
    Сообщения:
    247
    Да-да. Цифровые автоматы по Мили и по Муру, делал-делал :)

    Если вкратце-то цифровой автомат отличается от простой логической схемы тем, что содержит внутреннюю память - триггеры, и поэтому состояние его выходов зависит не только от состояния входов, но также и от предыдущего состояния автомата. В результате получаем некоторый граф состояний автомата, в которые он может переходить.

    Что касается построения контроллеров - контроллер состоит из блоков, которые выполняют те или иные действия, АЛУ, память, устройства в/в. Также есть дешифратор команд, который в зависимости от того, какая команда поступила, задействует те или иные блоки контроллера.
     
  18. programmist

    programmist New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    29
    Ну ведь в целом контроллер тоже можно представить в виде автомата? Или в виде множества связанных автоматов?
     
  19. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    По разному. В конкретной зависимости от имеющихся чипов (малой, средней, высокой степени интеграции). Ну а функционал и обвязку - всё головой, даже не проектируешь а програмируешь. Сперва на бумажке там, потом на макетке. Это быстрей чем, если юзать симуляторы, результат которых не всегда соответствует, суровой реальности. :) Вот. Потом тестируешь, и окончательно шлифуешь, порой радикально упрощая.
     
  20. programmist

    programmist New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    29
    Прочитал про микропрограммные автоматы на ПЗУ. Они вообще сейчас гдн-нибудь применяются??