Перейти к содержанию
    

модем ~100Mb/s : нужно из С-шной модели сделать FPGA реализацию

15 минут назад, petrov сказал:

looser

Ну не знаю. Я обычно модель на цэ горожу. Потом битэкзактную реализацию на фпга. За пару месяцев перенести получается, с учетом отладки. Хотя я и не бохвесть какой спец в хдэлях.

Только модель эту писали не вы, алгоритмы из неё понять невозможно, формальную битэкзатную реализацию из неё не сделать, потому как никаких битов там нет, сделано человеком, который не делал модемы на FPGA, а абстрактной теорией на С развлекался.

Именно этот момент несколько и напрягает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/30/2021 at 1:45 PM, looser said:

Именно этот момент несколько и напрягает.

Бывают перлы :-) типа:

if (a <0) a = (-1)*a;

или :

if (a<10) {}

if (a>9) {}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, misyachniy сказал:

Бывают перлы :-) типа:


if (a <0) a = (-1)*a;

или :


if (a<10) {}

if (a>9) {}

 

а что тут не так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Lmx2315 сказал:

а что тут не так?

Красоты нету. Эстетики. Быдлостайл детектед, короче говоря. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

4 часа назад, Lmx2315 сказал:

а что тут не так?

 

Во втором случае else if. Или Switch-case, если вариантов целочисленных больше двух.  

Если значение a=9, программе будет жарко :-)

А в первом abs оператор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, baumanets сказал:

 

 

Во втором случае else if. Или Switch-case, если вариантов целочисленных больше двух.  

Если значение a=9, программе будет жарко :-)

А в первом abs оператор.

В 1-м случае abs не оператор. Так что никакого криминала.  Во втором - всяко может быть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

08.08.2021 в 23:39, baumanets сказал:

Если значение a=9, программе будет жарко :-)

 

09.08.2021 в 12:00, looser сказал:

Во втором - всяко может быть.

 

Там всё однозначно, будет работать условие (a<10).

Скорей всего, коллега misyachniy привёл какой-то учебный код, подробно расписывающий действие оператора abs в первом случае, и во втором случае то, что скрывается за альтернативой else.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

28 minutes ago, MrGalaxy said:

Там всё однозначно, будет работать условие (a<10).

А из чего следует, что переменная "a" имеет целочисленный тип? Что будет, если a = 9.5 ?

 

И второй вопрос: из чего следует, что значение "a" не меняется в первом операторе ?

 

Как будет работать такой код:

if (a < 10) {a = a + b;}

if (a > 9) {}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

38 минут назад, blackfin сказал:

А из чего следует, что переменная "a" имеет целочисленный тип? Что будет, если a = 9.5 ?

 

 

Да, я предположил, что целое, тут можно только гадать.

Замечание было про a=9.

 

 

42 минуты назад, blackfin сказал:

 из чего следует, что значение "a" не меняется в первом операторе ?

 

Как будет работать такой код:


if (a < 10) {a = a + b;}

if (a > 9) {}

 

Это уже будет грубая ошибка, тут else необходим. Но судя по контексту, имелось в виду другое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

простите, но здесь никогда не угадать с производительностью

одно дело когда на компе на С при помоши SSE4 double операция процом нативно за 8 тактов выполняется, а другое дело вам тригонометрию на FPGA считать. и обойдётесь ли вы генерируемым более-менее стандартным кордиком или придется широченную четырехтактную реализацию на полиномах Чебышева под требуемый динамический диапазон писать

и таки-да, double и bit-exact в одном предложении, это очень мило

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

по поводу работы - как-то рассосался вопрос, по крайней мере, никакой новой информации (я был в отпуске)

извиняюсь

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня часто в устройствах используется сочетание C и VHDL. Часть модели написать для Плис, а остальное оставить в C.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задача ещё актуальна или нет?

Есть опыт реализации очень нестандартного модема на ПЛИС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 8/22/2021 at 3:40 PM, C250 said:

Задача ещё актуальна или нет?

Есть опыт реализации очень нестандартного модема на ПЛИС.

похоже, что нет - меня больше не спрашивали

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В принципе любой СИшный код можно перевести в блок-схему, а блок схему перевести в конечный автомат, ну а конечный автомат любой сложности реализовать в ПЛИС...

Изменено пользователем PCBCollider

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...