Код на C в Verilog

Код на C в Verilog

Сообщение invaisor » 04 ноя 2009, 23:14

Онлайн компилятор из C в Verilog.
Утверждается, что способен генерировать синтезируемый и оптимизированный код на Verilog.
Возможность заточки под несколько семейств ПЛИС Xilinx и Altera.
Аватара пользователя
invaisor
 
Сообщения: 227
Зарегистрирован: 08 апр 2008, 16:08

Re: Код на C в Verilog

Сообщение User239 » 05 ноя 2009, 01:08

М... какой кошмар :shock:
Они хоть видели, что получается в результате "синтеза" их примера? (returns the number of 1's in a word)
Неужели весь этот ужас имеет какое-то практическое применение? :unknown:
User239
 
Сообщения: 45
Зарегистрирован: 23 май 2008, 23:53

Re: Код на C в Verilog

Сообщение invaisor » 05 ноя 2009, 01:58

User239 писал(а):М... какой кошмар :shock:
Они хоть видели, что получается в результате "синтеза" их примера? (returns the number of 1's in a word)
Неужели весь этот ужас имеет какое-то практическое применение? :unknown:

Да выглядит кошмарно :smile:
Особенно учитывая, что там код из двух функции мешается + конвейеризируется.

Если попробовать просто такой код
Код: Выделить всё
unsigned int popCnt(unsigned int input) {
    unsigned int sum = 0;
    for (int i = 0; i < 32; i++) {
        sum += (input) & 1;
        input = input/2;
    }
    return sum;
}


И убрать галку с pipeline и unroll count сделать равным none,
то уже можно разобраться, и размер становиться в несколько раз меньше.

Хотя конечно умножение в виде
Код: Выделить всё
t0 <= a * b;
и деление
Код: Выделить всё
t0 <= a / b;
, учитывая что
Код: Выделить всё
reg [31:0] t0;
, вряд ли сулят эффективное решение.
Аватара пользователя
invaisor
 
Сообщения: 227
Зарегистрирован: 08 апр 2008, 16:08

Re: Код на C в Verilog

Сообщение gold_dolphin » 23 апр 2014, 01:45

попробуйте http://www.vsyn.ru там есть онлайн синтез
gold_dolphin
 
Сообщения: 3
Зарегистрирован: 23 апр 2014, 01:43


Вернуться в Языки описания аппаратуры (HDL)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron