vak: (Default)
До сих пор существует мнение, что язык VHDL является обязательным для военных разработок в США. На самом деле с 1997 года это не так.

"In early 1995, DoD standard MIL-STD-454L was replaced and the use of VHDL was no longer mandated. Instead, the new wording stated that ASIC designs “should be documented” by means of VHDL. By 1997 even this suggestion was removed."

"Who is still using VHDL? In 2015, the US appeared to be 80–90% Verilog/SystemVerilog. There are certain US military and aerospace vendors continuing to use VHDL, despite the lack of a DoD mandate. Europe used to be a huge VHDL supporter, but this is a legacy issue now and there is very little new VHDL being written. There’s little VHDL usage in India/Asia, as these are historically Verilog. When VHDL was mentioned to the Broadcom team in Israel, there were chuckles."

Вот хорошая статья про историю языков и текущее состояние: http://trilobyte.com/pdf/golson_clark_snug16.pdf
vak: (Улыбка)
Имеющийся тест чипа Am2910 проходит на файле alg_beh/alg_beh2910.vhdl, но выдаёт кучу ошибок на файле funct_block_alg_beh/funct_block_alg_beh2910.vhdl. Вывод - нельзя слепо доверять этим исходникам, без тестов никак нельзя.
150 ошибок из 1037 проверок )
Возможно, это всё проблемы GHDL. На симуляторе Modelsim оба теста проходят чисто. Modelsim входит в состав бесплатной версии Altera Quartus (с некоторыми ограничениями).

На симуляторе Cadence IUS оба теста alg_beh тоже проходят. OEM-версия IUS содержится в бесплатном пакете Xilinx Vivado. Но у него есть минус: он не понимает guard-выражения языка VHDL.
ERROR: [XSIM 43-3147] "funct_block_alg_beh2901.vhdl" Line 135. Guard expressions are not supported. 
ERROR: [XSIM 43-3147] "funct_block_alg_beh2901.vhdl" Line 151. Guard expressions are not supported. 
vak: (Улыбка)
Попробовал скомпилить исходники чипа Am2901 используя GHDL. Падает по внутренней ошибке, пытаясь обработать двунаправленные сигналы.
Протокол )
GHDL не может справиться с функцией WiredOr в строке:
    signal RAM0, RAM3, Q0, Q3 : WiredOr MVL7;