|
Оцените пожалуйста направление исследований, Генерация HDL кода из программ написанных на языках ВУ - С, С++ |
|
|
|
Jul 24 2009, 16:34
|
Частый гость
 
Группа: Участник
Сообщений: 93
Регистрация: 5-03-07
Из: Киев
Пользователь №: 25 900

|
Здравствуйте, уважаемые коллеги  Собираюсь поступать в аспирантуру и думаю о направлении исследований. С одной стороны, по образованию я ембеддер - знания железа и языков программирования/алгоритмов, etc составляют 50/50. С другой стороны, научный руководитель предоставил мне свободу в выборе направления исследований. Хотелось бы этим воспользоваться. Моя идея состоит в исследовании алгоритмов синтеза/компиляции обычных программ написанных на языке высокого уровня в HDL код. Ведь не секрет, что цифровые логические схемы реализуют алгоритм быстрее, чем этот алгоритм выполняется на процессоре. Например существуют уже компиляторы преобразовывающие С код в HDL - Optimized generation of data-path from C codes for FPGAs Также нашел материал диссертации посвященной созданию ОС прозрачно генерирующей HDL описание из программного кода - BORPH: An Operating System for FPGA-Based Reconfigurable Computers Я оцениваю это направление как интересное и актуальное. Но ввиду моей неопытности могу вводить себя в заблуждение. Хотелось бы услышать ваши отзывы
|
|
|
|
|
 |
Ответов
(1 - 12)
|
Jul 25 2009, 07:56
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Си и вообще "классические" языки заточены под последовательную обработку данных HDL - учитывает дополнительные возможности, которые предоставляет использование ПЛИС. Как мне видится, из программы на си можно синтезировать некий конечный автомат. Для каждой задачи - свой отдельный. Некоторые задачи (применительно к эмбеду) вообще не требуют порцессорного ядра. Напрмер, планировщик задач в ОС или обработчики прерываний от периферии - в большинстве случаев тупые автоматы, которые на переключение контекста тратят больше времени, чем на непосредственную работу Кстати, ещё обратите внимание на новое модное направление (опять же, применительно к ПЛИС) - асинхронные машиныТема, безусловно, интересная, но в одиночку её не потянуть. (имхо) Хотя, зачем все эти костыли, когда есть специализированные языки, как для описания аппаратуры (тот же VHDL или Verilog), так и для распределённых вычислений
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Jul 25 2009, 11:24
|
Группа: Участник
Сообщений: 9
Регистрация: 7-03-07
Пользователь №: 25 959

|
Я тоже считаю что это перспективно... Приходят всякие мысли по поводу оптимизации выполняемых задач на обычном компьютере перенеся вычеслительные проблемы на встроенную плату... подобную видео карте. Некая адаптивная система( на базе ОС) которая сама выбирает и прошивает плату для выполнения часто всплывающих задач. Не давно слышал что уже появились видео катры способные забрать на себя часть вычеслений по мимо работы с графикой. Хотя это традиционный подход ПРОЦЕССОР - и его ПОДЧИНЕННЫЕ. К стати а почему нужено в HDL? потом опять компилить под железо. может сразу сгенерить лочические связи элементарных ячеек?
|
|
|
|
|
Jul 29 2009, 18:36
|
Частый гость
 
Группа: Участник
Сообщений: 93
Регистрация: 5-03-07
Из: Киев
Пользователь №: 25 900

|
Цитата(sergeeff @ Jul 29 2009, 16:43)  Не знаю, что сейчас творится с кандидатскими, но в 80-х годах к ним предъявлялось главное требование - предложить новое теоретическое решение научно-технической задачи, обеспечивающее существенный практический выигрыш, по сравнению с известными решениями. Вам видится некая теория по оптимизации автоматической трансляции С в HDL? ПОка своей теории у меня нет. Но есть несколько опенсоурс академических проектов таких компиляторов - ROCCC для языка С и MyHDL для языка Python. Думается мне, что ознакомившись с известными решениями можно предложить свое. Как по мне, то для того, чтобы технология стала популярной необходимо обеспечить ее массовость и доступность. Например сделать так, чтобы ip ядра мог создавать человек с минимальными знаниями схемотехники. Который бы больше концентрировал внимание на задаче которую решает разрабатываемое ядро и не заморачивался на всякие клоки, гонки и т.д. Тут могут помочь языки высокого уровня, где компилятор сам создаст rtl описание из кода на языке ВУ.
|
|
|
|
|
Jul 30 2009, 09:27
|
Частый гость
 
Группа: Участник
Сообщений: 93
Регистрация: 5-03-07
Из: Киев
Пользователь №: 25 900

|
Цитата(sergeeff @ Jul 30 2009, 00:32)  Я именно про это и говорю. На моих глазах несколько человек не прошли защиту. Их работа была оценена как хорошее инженерно-техническое решение, а это не кандидатская. Внимательнее отнеситесь к этому факту. А то пропашите несколько лет впустую. Спасибо за информацию. Возьму это на заметку.
|
|
|
|
|
Jul 30 2009, 22:21
|
Профессионал
    
Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942

|
sergeeff, в целом я согласен и доверяюсь вашему опыту. Но есть, к примеру, научные идеи, которые несут в себе совершенно новый подход к старым проблемам, но применяться на практике скорее всего не будут, так как существуют альтернативные пути, которые уже использует человечество. И это все тоже отражается в диссертации. Для аспирантуры такие темы вполне приемлемы. Что-то новое, показывающее превосходство над старыми методами, но имеющее какое-то «но». В лаборатории работать будет, а для народного хозяйства непрактично. И даже если можно обойти это «но», человечество уже придумало другие, более удобные, способы решения. В советское время было смещение в сторону повышения эффективности прежнего («догнать и перегнать»). Поправьте, если ошибаюсь. Прошу прощения за оффтоп.
Сообщение отредактировал x736C - Jul 30 2009, 22:23
|
|
|
|
|
Jul 31 2009, 07:00
|
Профессионал
    
Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007

|
Цитата(x736C @ Jul 31 2009, 01:21)  В советское время было смещение в сторону повышения эффективности прежнего («догнать и перегнать»). Поправьте, если ошибаюсь. Именно поэтому я написал, что главное - найти хорошего научного руководителя. Он, на основе своего личного актуального опыта, сможет вам подсказать соответствует ли тема диссертации требованиям к кандидатской(докторской) или нет. Диссертация - вещь достаточно строго регламентированная по структуре, стилю изложения, объему и прочим ритуальным пляскам вокруг нее (публикации, патенты, результаты внедрения и пр.). Согласитесь, что неразумно сначала пропахать несколько лет над темой, а только потом понять, что это невозможно в виде диссертации защитить.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|