‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

Category:

worklog: двоичный компаратор

Компаратор нужен для операций сравнения и для условных переходов. Сравнивает 32-битные двоичные числа при помощи функций "РАВНО", "НЕ РАВНО", "МЕНЬШЕ", "БОЛЬШЕ ИЛИ РАВНО" (две последние - в вариантах для чисел без знака и со знаком).

В июле он выглядел так:
comparator-june


А сейчас - вот эдак:
comparator-november


Схемотехнически почти что одно и то же, только добавился буфер для честного формирования результата операции типа SLT (slt, sltu, slti, sltiu) - выглядит расточительно, конечно, с учётом того, что из 32-битной выходной шины будет использоваться только младший разряд... с другой стороны, если я применю bus keeper на шине результата, то от лишних микросхем будет избавиться проще, чем их вкорячивать куда-то, если они вдруг окажутся нужны.
Переделка, в основном, под краевые разъёмы: когда я посчитал, во сколько мне обойдутся коннекторы типа DIN, то раздумал их использовать - если такой разъём всего один в конструкции, это ещё ладно, а если их штук десять, то уже не ладно, а совсем даже наоборот. Где их купить подешевле, так и не нашёл, но зато купил пару десятков слотов с шагом 1.27: по конструктиву похожи на PCI, дешёвые, удобные. Правда, тоже дефицит - похоже, я купил всё, что было у продавца и не могу найти, где бы прикупить ещё, про запас.

Скорее всего, будет одним из самых медленных узлов в конвейере - из-за трёхкаскадной схемы на 74HC85. Попробовал прикинуть схемку на отдельных логических элементах - выигрыш по скорости будет процентов 30..50% (наверное), но схема получается слишком уж громоздкой.
Tags: risc-v, worklog
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 1 comment