Важная информация

User Tag List

Страница 5 из 48 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 472

Тема: Потактовый клон i8080 на FPGA/CPLD

  1. #41
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от cpg Посмотреть сообщение
    А что за инструмент в pcad-2004 присутствует "автоматической обратной аннотации"?
    И почему именно pcad 2004?
    Просто я когда-то выполнял обязанности конструктора печатных плат (и чтец и жнец и на дуде игрец ), поэтому относительно неплохо знаком с этим софтом. Он не слишком сложный, имеет удобные редакторы схемы и топологии, и в то же время достаточно развитый - много возможностей, я даже многослойные скоростные платы в нем до сих пор иногда проектирую.

    Средства прямой и обратной аннотации есть в почти любом "приличном" пакете для разработки печатных плат. Сделано это для сквозного контроля процесса проектирования. Прямая аннотация - это когда вносятся изменения в схему, и потом их автоматически можно внести в топологический проект платы. И наоборот - обратная аннотация, это когда вносим изменения в топологию платы (с изменением электрической схемы) и эти изменения автоматически можно перенести в рисунок схемы.
    В случае с БМК это выглядит так - на топологию добавляем компонент, и после обратной аннотации он автоматически появляется в схеме. Затем запускаем операцию реконнекта - она ищет в топологии "висящие" проводники и автоматически появляются цепи, ну и в схеме после обратного переноса соответственно тоже. Это гораздо быстрее и безошибочнее чем делать все руками.

    ---------- Post added at 10:07 ---------- Previous post was at 10:03 ----------

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Что их там понимать то? Не сложнее этих ваших С.
    Программисты обычно сложно в HDL въезжают. Дело ведь не только в синтаксисе. Язык С процедурный, в нем описываются действия. А Verilog, хотя синтаксически и выглядит как C, описывает элементы и связи.

  2. #42
    Member Аватар для cpg
    Регистрация
    18.04.2006
    Адрес
    SPb
    Сообщений
    67
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Средства прямой и обратной аннотации есть в почти любом "приличном" пакете для разработки печатных плат.
    Наверное Вы имеете ввиду "import/export ECOs" в PCAD?

    Какие основные принцыпы векторизации?
    Вот например в oracl есть автоматика, почему ей не пользуются?

    ---------- Post added at 11:30 ---------- Previous post was at 11:29 ----------

    oracl
    Извиняюсь. Имел ввиду corel
    CPGroup COMPEX

  3. #43
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Программисты обычно сложно в HDL въезжают. Дело ведь не только в синтаксисе. Язык С процедурный, в нем описываются действия. А Verilog, хотя синтаксически и выглядит как C, описывает элементы и связи.
    В любом языке можно написать так, что через месяц не въедет даже сам создатель этого кода, даже при наличии описания. Например, насколько сложно въехать программисту в этот небольшой пример?
    Код:
    reg [31:0]A[1:0];
    reg B[31:0];
    reg [31:0]Count;
    
    function [31:0]ROL9;
    input [31:0]D;
    begin
    	ROL9[31:0] = {D[22:0],D[31:23]};
    end
    
    always @(posedge Clk) begin
           A[0] <= 32'h85483A73;
           B <= Count[31:0] + 32'hF67CCBB8;
           A[1] <= ROL9(A[0] + B);
    end

  4. #44
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от cpg Посмотреть сообщение
    Наверное Вы имеете ввиду "import/export ECOs" в PCAD?
    Да. Интересно что мало кто про них знает, даже из опытных конструкторов. Мне встречались достаточно опытные люди, которые при выдвижении требования сквозного контроля, задавали вопрос - а зачем?
    Ответ - а затем что опытный образец платы оплачивается "из своих", а сквозной автоматический контроль помогает значительно снизить количество ревизий плат из-за глупых ошибок.

    Цитата Сообщение от cpg Посмотреть сообщение
    Какие основные принцыпы векторизации?
    Да какие там принципы - "нажимай да дуй", дралоскоп в чистом виде.

    Цитата Сообщение от cpg Посмотреть сообщение
    Вот например в corel есть автоматика, почему ей не пользуются?
    Видимо не дает достаточной степени достоверности, фотографии слишком много деталей других слоев содержит. Но если попробуете что из автоматов и поделитесь результатами - будет отлично. Но ВМ80 относительно простой, за недельку спокойно векторизуется, это не проблема. А вот над распутыванием схемы посидеть немало придется.

    ---------- Post added at 10:56 ---------- Previous post was at 10:49 ----------

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Например, насколько сложно въехать программисту в этот небольшой пример?
    Программисту в примере не все очевидно. Надо бы знать что такое блокируемое (мне это термин не нравится - предпочитаю сблоченное или групповое) присвоение '<=', чтобы понимать, например, значение A[0] в последней строчке блока always. Неплохо также знать что такое список чувствительности. Да и функции несут немного другую нагрузку и в них есть ряд ограничений.

  5. #45
    Member Аватар для cpg
    Регистрация
    18.04.2006
    Адрес
    SPb
    Сообщений
    67
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интересно что мало кто про них знает, даже из опытных конструкторов.
    Просто я с pcad работаю с 97-го года )
    Кстати говоря, в pcad возможностей столько, что сам алтимум наверно о них не всегда знает

    ВМ80 относительно простой
    мне кажется, что ВГ93 будет проще раза в два.
    CPGroup COMPEX

  6. #46
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Программисту в примере не все очевидно. Надо бы знать что такое блокируемое (мне это термин не нравится - предпочитаю сблоченное или групповое) присвоение '<=', чтобы понимать, например, значение A[0] в последней строчке блока always.
    Я тоже его не люблю. Мне проще понимать "тактируемый D триггер" (например 555ИР23) и "прозрачная защелка" (555ИР22). Первый работает строго по перепаду, второй прозрачен всегда, пока действует условие и защелкивает когда условие не действует.

    И я ненавижу "список чувствительности". Он порождает кучу латчей, что есть неверно. Тактовый сигнал должен быть один на каждый always, но можно разный для каждого always.

    PPS Ну и всегда для непонимающих можно предоставить результат RTL viewer'а:
    Последний раз редактировалось HardWareMan; 20.05.2014 в 13:13.

  7. #46
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #47
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Вот этот кусочек:

    Если предыдущая догадка верна и внизу здесь IR, а над ним дешифрация, то можно предположить, что каждая секция дешифратора это отдельный машинный цикл?
    В Z80 каждый выход декодера (здесь это горизонтальные линии металлизации) это какая-то инструкция или группа по маске, например, 00xxx101 - декремент регистра, или 00xx1001 - add HL,RR. Они дополнительно группируются, а потом уже около сотни многовходовых элементов, на которые заведены в том числе циклы и такты. Их выходы это уже и есть (почти) управляющие сигналы АЛУ, регистров и прочего. "Секции" в нём тоже есть, но это, видимо, просто питание так заведено на дешифратор.

    ---------- Post added at 17:07 ---------- Previous post was at 16:38 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    ...убедительная просьба не переводить полученные данные только во всякие Verilog'и, а выкладывать еще и принципиальные схемы.
    Согласен. Схема наглядней Verilog'а, но всё-таки в тексте таскать туда-сюда куски схемы мне показалось проще. Поэтому в конце я (или может кто-то другой) всё равно переведу в схему, но она не будет один в один как на кристалле, там есть много мест, в которых можно повысить наглядность и читаемость. Например, тот же счётчик циклов. У него очень закрученные условия инкремента/сброса, но в результате упростил до (условно) "(цикл1 И такт3 И выход_декодера) ИЛИ (цикл2 И такт4 И выход_декодера) ИЛИ ...". То есть изначально оно наверное так и было, но её "сжали" чтобы было меньше транзисторов.

    ---------- Post added at 17:14 ---------- Previous post was at 17:07 ----------

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Мне проще понимать "тактируемый D триггер" (например 555ИР23) и "прозрачная защелка" (555ИР22). Первый работает строго по перепаду, второй прозрачен всегда, пока действует условие и защелкивает когда условие не действует.
    Z80 в основном построен на "прозрачных защёлках", описываю их так:
    Код:
    always @(*) if (clk)
    begin
       ...
    end
    iverilog (симулятор такой) понимает правильно, Quartus вроде тоже.

  9. #48
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bolt Посмотреть сообщение
    Z80 в основном построен на "прозрачных защёлках", описываю их так:
    Код:
    always @(*) if (clk)
    begin
       ...
    end
    iverilog (симулятор такой) понимает правильно, Quartus вроде тоже.
    Это потому, что латч требует всего 2 транзистора, а D триггер гораздо больше. Вот пример из дендечипа:

    Когда левый транзистор закроется на одном из полупериодов /PCLK, заряд, оставшийся на затворе правого транзистора, поддержит его открытым. Естественно, эта схема не статична и требует минимальной тактовой частоты. У многих старых чипов и процессоров есть минимальная разрешенная частота.

  10. #49
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,561
    Спасибо Благодарностей отдано 
    1,224
    Спасибо Благодарностей получено 
    1,759
    Поблагодарили
    684 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Bolt Посмотреть сообщение
    Согласен. Схема наглядней Verilog'а, но всё-таки в тексте таскать туда-сюда куски схемы мне показалось проще. Поэтому в конце я (или может кто-то другой) всё равно переведу в схему, но она не будет один в один как на кристалле, там есть много мест, в которых можно повысить наглядность и читаемость. Например, тот же счётчик циклов. У него очень закрученные условия инкремента/сброса, но в результате упростил до (условно) "(цикл1 И такт3 И выход_декодера) ИЛИ (цикл2 И такт4 И выход_декодера) ИЛИ ...". То есть изначально оно наверное так и было, но её "сжали" чтобы было меньше транзисторов.
    Главное, чтобы при таком упрощении и приведении к общему виду, не потерялась изюминка изначальной схемы (какой-нибудь фирменный глюк или же еще какая-то особенность).

  11. #50
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я больше боюсь зависимости работы схемы от скорости переключения элементов. Пока попалось только две "линии задержки" на соединённых последовательно инверторах, но они особой роли не играют.

Страница 5 из 48 ПерваяПервая 123456789 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Комманды ассемблера/коды i8080/КР580ВМ80А
    от sergey2b в разделе Разное
    Ответов: 4
    Последнее: 29.11.2015, 14:01
  2. МикроСтеплер. Компилятор ЯП СТЕПЛЕР для i8080
    от Kakos_nonos в разделе Программирование
    Ответов: 8
    Последнее: 31.05.2013, 16:34
  3. Эмулятор i8080
    от Higgins в разделе Разное
    Ответов: 2
    Последнее: 20.05.2011, 11:43
  4. Использование FPGA и CPLD (ПЛИС и ПЛМ)
    от Mick в разделе Для начинающих
    Ответов: 69
    Последнее: 03.05.2006, 11:47

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •