|
Как можно оптимизировать код? |
|
|
|
Oct 13 2011, 19:45
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 15-12-10
Из: Москва
Пользователь №: 61 640

|
Добрый день, народ. Закончил свою первую работу - модулятор ЧМ2. Код написан на VHDL. Подскажите, пожалуйста, что можно было сделать лучше, оптимальней, чтобы лучше работало. Чувствую, что сделал все очень коряво  на вход clk подается clock, на вход reset - информационные биты. Все в формате boolean. Ну и выход в формате integer.
fsk_modulator.vhd ( 1.21 килобайт )
Кол-во скачиваний: 237
|
|
|
|
|
 |
Ответов
|
Oct 18 2011, 12:23
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 15-12-10
Из: Москва
Пользователь №: 61 640

|
Мне на самом деле очень интересна тема автоматической генерации HDL-кода. Скажем, разработчик алгоритмов создал модель, к примеру в матлабе, отладил ее, а дальше HDL-Coder матлабовский генерит код, а разработчик уже отлаживает его вручную. Там же по сути можно код генерить для конкретной ПЛИС, в составе конкретной отладочной платы. Я давно занимаюсь этим вопросом, но пока не вдавался глубоко именно в реализацию в ПЛИС, больше разбирался, каким образом можно генерить код.
Как считаете, такой метод разработки заслуживает жизни? Или прошивки, полученные таким путем на порядок медленнее и объемнее написанных вручную?
По сути ведь если идеализировать такую ситуацию, разработчику вообще не обязательно уметь программировать.
Сообщение отредактировал keeka - Oct 18 2011, 12:23
|
|
|
|
|
Oct 18 2011, 19:17
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(keeka @ Oct 18 2011, 16:23)  Мне на самом деле очень интересна тема автоматической генерации HDL-кода. Скажем, разработчик алгоритмов создал модель, к примеру в матлабе, отладил ее, а дальше HDL-Coder матлабовский генерит код, а разработчик уже отлаживает его вручную. Там же по сути можно код генерить для конкретной ПЛИС, в составе конкретной отладочной платы. Я давно занимаюсь этим вопросом, но пока не вдавался глубоко именно в реализацию в ПЛИС, больше разбирался, каким образом можно генерить код. Как считаете, такой метод разработки заслуживает жизни? Или прошивки, полученные таким путем на порядок медленнее и объемнее написанных вручную? По сути ведь если идеализировать такую ситуацию, разработчику вообще не обязательно уметь программировать. Лучше приведу пример из жизни: У нас вот практически все задачи крутятся вокруг цифровой обработки сигнала, однако, большую часть времени (95%) разработчики занимаются вовсе не ЦОСом. Сгенерировать цифровой фильтр хоть в матлабе, хоть в корегене - делов на 10 минут. Но сам по себе фильтр вещь в себе - данные для него нужно откуда-то взять, а выходные данные куда-то подать - а это высокоскоростные интерфейсы, где матлаб отдыхает. Таких слов как LVDS, DDR, SERDES, TrimodeEthernetMAC, PCIE, USB 2.0 - матлаб не знает. Также часто требуется работа с внешней памятью типа ZBT SRAM, SDRAM, DDR2 SDRAM и др. - тоже матлаб в ауте. Но даже типовые задачи ЦОС матлабу не всегда под силу: например, попробуйте создать DDS (синтезатор прямого цифрового синтеза) для генерации синуса с помощью ЦАП AD9739 с тактовой частотой 2.5ГГц (при том что максимальная тактовая частота в топовом Virtex6 - 500МГц). Ну а борьба с времянками - это вообще шаманство и пляски с бубном  .
|
|
|
|
Сообщений в этой теме
keeka Как можно оптимизировать код? Oct 13 2011, 19:45 eugen_pcad_ru Код не видел пока. Вопрос: фаза формируемого сигна... Oct 14 2011, 04:44 andrew_b Что это такое?
Код process(clk)
begin
-... Oct 14 2011, 04:51 keeka ЦитатаКод не видел пока. Вопрос: фаза формируемого... Oct 14 2011, 08:06 DuHast а "rising_edge(clk)" где у Вас? В моде... Oct 14 2011, 08:14 keeka Там по rising_edge ранее запускалась команда счит... Oct 14 2011, 08:44 DuHast У Вас сигнал clk стоит в списке чуствительности пр... Oct 16 2011, 10:04  keeka Цитата(DuHast @ Oct 16 2011, 14:04) У Вас... Oct 16 2011, 19:34   VladimirB Цитата(keeka @ Oct 16 2011, 23:34) Поясни... Oct 16 2011, 20:21    keeka Цитата(VladimirB @ Oct 17 2011, 00:21) Са... Oct 17 2011, 04:49     DuHast Цитата(keeka @ Oct 17 2011, 08:49) Хотя б... Oct 17 2011, 11:18     yes Цитата(keeka @ Oct 17 2011, 08:49) Хотя б... Oct 17 2011, 15:23      VladimirB Цитата(yes @ Oct 17 2011, 19:23) опасаюсь... Oct 17 2011, 18:30 Koluchiy Цитатана вход clk подается clock, на вход reset - ... Oct 16 2011, 16:06 bogaev_roman Цитата(keeka @ Oct 18 2011, 16:23) Как сч... Oct 18 2011, 13:40 syoma ЦитатаХотя есть одно НО - сгенеренный код не оптим... Oct 19 2011, 07:41 bogaev_roman Цитата(syoma @ Oct 19 2011, 11:41) 1. Раз... Oct 19 2011, 12:25 syoma Конечно, Матлаб не универсальная штука и все промо... Oct 19 2011, 12:57 bogaev_roman Согласен, для ЦОС матлаб подходит очень хорошо, но... Oct 19 2011, 13:11 keeka А как вы относитесь к связке LabVIEW + PXI? Писать... Oct 19 2011, 13:04 syoma ЦитатаЧто сделать, если внести регистры не удается... Oct 19 2011, 13:22 bogaev_roman Цитата(syoma @ Oct 19 2011, 17:22) В Матл... Oct 19 2011, 13:44 syoma Ваша логика ясна, все понятно. Но так же и понятно... Oct 19 2011, 14:14 bogaev_roman Цитата(syoma @ Oct 19 2011, 18:14) Ваша л... Oct 19 2011, 14:44 tAmega Немного запоздал с линком, вот только что нарыл. Э... Oct 22 2011, 05:32 ys05 Цитата(tAmega @ Oct 22 2011, 09:32) Кому ... Oct 22 2011, 07:51 keeka ЦитатаНу а пока первый линк для топик стартера.
С... Oct 22 2011, 07:25 tAmega Завтра выложу на рапиду и дам сюда линк. Oct 22 2011, 09:58 tAmega Вот, линк на полный конспект из трех частей со все... Oct 23 2011, 07:48 keeka Спасибо Как раз, что мне нужно) Oct 23 2011, 10:29
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|