vak: (Default)
[personal profile] vak
Закончил парсер для языка Verilog. Удалось приспособить Yacc-овскую грамматику от проекта Yosys, переписав её на Go. Лексический сканер позаимствовал от самого компилятора Go.

Узнал много забавного про константы в Верилоге. Обычный десятичный литерал типа 123 имеет знаковый тип. Если добавить к нему десятичный префикс ('d123), он становится беззнаковым. Чтобы снова превратить его в знаковый, надо добавить буковку s: 'sd123. Разницу можно заметить на примерах:
5 - 10 = -5
'd5 - 10 = 4294967291
'sd5 - 10 = -5

Date: 2017-04-30 15:47 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Что ты хочешь сделать?

Date: 2017-04-30 19:12 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Это важно делать непосредственно с языка, или тот же результат можно получить, переводя синтезированные схемы в асинхронные?