Ну, почти.

Dec 10, 2011 02:57


runningSumMaybes.vhdl:75:36: port "generated_temporary_name_1" cannot be readЕсть у VHDL особенность поведения: сигнал типа out нельзя читать в сущности, что этом сигналом управляет.

Вот это - последняя ошибка. Надеюсь.

Ужасающий код на VHDL и его исходник на Хаскеле )

языки описания аппаратуры, vhdl, прогресс, Хаскель

Leave a comment

ext_218033 January 28 2012, 03:10:36 UTC
А у тебя компилятор pipelining автоматический умеет делать?

Reply

thesz January 28 2012, 07:05:51 UTC
Это штука для создания нетлистов. Здесь чем ближе к аппаратуре, тем лучше. Почти - то есть, совсем близко не надо. Поэтому сейчас конвейеризации нет - не нужна была.

Как можно сдлать конвейризацию?

Конвейеризация - это преобразование чистой функции f :: Wire c a -> NLM Nil (Wire c b) в функцию fPpnd :: Wire c (Maybe a) -> NLM (c :. Nil) (Wire c (Maybe b)), с добавлением состояния - регистров для хранения промежуточных этапов. Maybe появился потому, что на входе не всегда может быть данное, и на выходе, соответственно, тоже.

Проще всего разрезать нетлист функции f на мельчайшие части, померять глубину D и идти по фронту, добавляя мелкие операции.

Будет время - сделаю.

Reply

ext_218033 January 28 2012, 13:47:11 UTC
> Будет время - сделаю.

Штука востребованная.

Reply

thesz January 28 2012, 15:50:38 UTC
И нехитрая.

Reply

ext_218033 January 28 2012, 17:25:04 UTC
Но, тем не менее, руками на голом vhdl пайплайн собирать печально ;)

Reply

thesz January 28 2012, 17:27:00 UTC
VHDL даже генерируется печально, что уж говорить про работу руками. ;)

Reply


Leave a comment

Up