Автоматическое отслеживание использования переменных в исходном коде - PullRequest
1 голос
/ 16 февраля 2011

Я работаю с набором процедур обработки речи (написанных на C), предназначенных для компиляции с помощью команды mex в MATLAB. Есть эта C-функция, которую я заинтересован в ускорении с помощью FPGA.

Аппаратное обеспечение принимает указанные входные параметры через входные порты, остальные входные данные как константы, которые должны быть жестко запрограммированы, и передает определенную переменную, находящуюся где-то в C-функции, скажем, foo , выходной порт.

Я заинтересован в отслеживании графов вычислений (не уверен, что это правильный термин для использования) по foo . то есть как foo относится к промежуточным вычисляемым переменным, которые, в свою очередь, в конечном итоге зависят от входных параметров и жестко закодированных констант. Это позволит мне сгладить логику, чтобы ее можно было кодировать с использованием языка описания оборудования, а также удалить ненужную логику, которая не влияет на значение foo . Суть в том, что некоторые промежуточные переменные являются глобальными, поэтому трассировка - это головная боль.

Существует ли автоматизированный инструмент, который анализирует заданный набор заголовков C и исходных файлов и предоставляет средства отслеживания того, как указанная переменная изменяется, с каким-то графом зависимостей всех используемых переменных?

1 Ответ

1 голос
/ 16 февраля 2011

Я думаю, что вы ищете инструмент для анализа значения .

Среди инструментов, доступных для этого, я думаю, Code Surfer , вероятно, лучший из всех.Конечно, это также довольно дорого, но если вы студент, у них есть программа академической лицензии.Со стороны открытого исходного кода, Frama-C также может делать это более ограниченным образом и имеет гораздо более крутой курс обучения.Но это бесплатно и доставит вас туда, куда вы хотите.

...