June 3rd, 2009

with Cat The Cat

Ещё про Bluespec Verilog.

Сперва - насчёт методов, которые обеспечивают взаимодействие с модулем BV.

Метод может принимать значения, или не принимать, возвращать и не возвращать. Только принимающий метод соответствует обычному входу, только возвращающий - обычному выходу модуля. Самый странный вариант когда метод и принимает, и возвращает значения. Это совмещение входа и выхода, гарантирующее проведение некоторого вычисления.

Не уверен в большой полезности последнего.

Теперь о правилах срабатывания. Насколько я понял, это защищённые (guarded) выражения.

В них присутствуют и условия (condition guards из Хаскеля), и сравнения с образцом (pattern guards из того же Хаскеля).

В принципе, ничего сложного.

В сумме получается, что вполне достаточно входов, выходов, сравнения с образцом и защит, чтобы получить что-то, сравнимое с BV по мощности.

Отлично. ;)