Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Защита исходного кода.
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
bark
Подскажите как можно защитить исходный код Verilog?

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

поискал по форуму и в инете, но не понимая что именно ищу пока ничего путного не нашел. unsure.gif
DW0
если это altera, то можно *.vqm файл сделать. но он под конкретное семейство генерируется
des00
Цитата(bark @ Nov 9 2010, 08:17) *
чтобы допустим передать кому-то реализованную функцию для использования в чужих проектах, но не передавать исходный код.

обфускатор
Kuzmi4
2 bark
Синтезируйте в синплифае под семейство вашу корку и передавайте нетлист.
Если пишите на вхдл-е и корка большая - то как вариант убрать форматирование кода laughing.gif
bark
добавлю:Verilog под Альтеру. QuartusII

есть например библиотека альтеровская tse (гигабитный ethernet) там файлы *.v почти все закодированы. это и есть *.vqm ?
DW0
Цитата(bark @ Nov 9 2010, 16:41) *
есть например библиотека альтеровская tse (гигабитный ethernet) там файлы *.v почти все закодированы. это и есть *.vqm ?


verilog quartus map file

можно получить после синтеза. очень удобно.

в меню assignments - export assignments в выпавшем меню ставите галочку
Нажмите для просмотра прикрепленного файла
Kuzmi4
2 bark
Есчё можно заюзать обфускатор: например это http://www.eda-utilities.com/vo_linux_nov05.tar.gz (нашёл в закромах родины, не юзал)

А можно закодировать свою корку: если мне не изменяет память tse как раз храниться в закодированном виде, а потом если находится нужная лицуха разворачивается в сорцы.. или не разворачивается если лицензия другая smile.gif

(это если вопрос именно в функции)
des00
Цитата(DW0 @ Nov 9 2010, 09:11) *
можно получить после синтеза. очень удобно.

1. для новых семейств не поддерживается (например сыклон 3)
2. при смене семейства потребуется ресинтез
3. плохо подается оптимизации в составе проекта и ресинтезу при многопроходной компиляции
4. при смене вендора метод не работает
DW0
Цитата(des00 @ Nov 9 2010, 17:33) *
1. для новых семейств не поддерживается (например сыклон 3)
2. при смене семейства потребуется ресинтез
3. плохо подается оптимизации в составе проекта и ресинтезу при многопроходной компиляции
4. при смене вендора метод не работает


для сыклон 3 можно и под 2 создать vqm, и все будет хорошо.
ну я так понимаю тут конкретная задача, да и семейство если и будет меняться то тому кто задал вопрос это на руку, к нему на поклон придут, а он скажет: "лицензионное соглашение только на это семейство, я на нем все протестировал, для нового семейства снова нужно тестировать, а уж тем более другой вендор" biggrin.gif

что под 3 сцыклон нельзя не знал, нужно будет проверить, есть сомнения, и еще важно что vqm нужно создавать только после синтеза, после фитера не катит.
des00
Цитата(DW0 @ Nov 9 2010, 09:44) *
для сыклон 3 можно и под 2 создать vqm, и все будет хорошо.

ню ню
Цитата
что под 3 сцыклон нельзя не знал, нужно будет проверить, есть сомнения

альтера официально отказывается от технологии vqm, так что хотите верьте, хотите нет %)
Kuzmi4
2 des00
так а какие тогда нетлисты она собирается заюзать ?
des00
Цитата(Kuzmi4 @ Nov 9 2010, 10:48) *
так а какие тогда нетлисты она собирается заюзать ?

они предложили новую технологию quartus exported partition qxp, но она сырая и при использовании требует той же версии квартуса (с точностью до сервиса пака) которая использовалась при генерации.
x736C
Цитата(DW0 @ Nov 9 2010, 18:11) *
verilog quartus map file

можно получить после синтеза. очень удобно.

в меню assignments - export assignments в выпавшем меню ставите галочку


Кто-нибудь в курсе, можно ли этот метод использовать в качестве инкрементной компиляции, подключая в свой проект для бесплатной версии Квартуса, в котором такая функция (инкр. к.) отсутствует.

?
des00
Цитата(x736C @ Nov 9 2010, 11:30) *
Кто-нибудь в курсе, можно ли этот метод использовать в качестве инкрементной компиляции, подключая в свой проект для бесплатной версии Квартуса, в котором такая функция (инкр. к.) отсутствует.

использовать можно, но вот инкрементальной компиляции как таковой не будет %)
x736C
Цитата(des00 @ Nov 9 2010, 20:38) *
использовать можно, но вот инкрементальной компиляции как таковой не будет %)

А что будет и на что будет похоже, если не трудно?)
DW0
Цитата(des00 @ Nov 9 2010, 18:31) *
ню ню

альтера официально отказывается от технологии vqm, так что хотите верьте, хотите нет %)


если не трудно дайте ссылку на официальный источник

больше того, vqm сгенерированные одной версией квартуса, нормально воспринимаются другой версией, квартус 9.1 еще нормально работает
des00
Цитата(DW0 @ Nov 9 2010, 11:49) *
если не трудно дайте ссылку на официальный источник

...For the above reasons, the VQM-generation capability is available only for backwards-compatibility for older device families, where designers may have used back-annotation and VQM files to preserve placement
Цитата
vqm сгенерированные одной версией квартуса, нормально воспринимаются другой версией, квартус 9.1 еще нормально работает

vqm это результат начального отображения логики на технологические примитивы целевой ПЛИС. Кто не верит посмотрите что в этом файле. Поэтому переносимость между разными ква очевидна, но между семействами, думаю что ква не настолько умный чтобы заменить cycloneii_lcell на cycloneiii_lcell автоматом.

ЗЫ. Еще один минус vqm файлов, их нельзя использовать как модель для моделирования, потому что примитивы, которые вставлены в код не содержат полного подключения всех пинов. В итоге в модели сплошные 'x'.
Kuzmi4
Недавно столкнулся с Clearbox от квартуса, интересное решение для нетлистов. А его они в мегавизарде не собираются вырезать ?
(странно почему например этот вариант нетлистов альтера не развивает)
DW0
Цитата(des00 @ Nov 10 2010, 05:56) *
...For the above reasons, the VQM-generation capability is available only for backwards-compatibility for older device families, where designers may have used back-annotation and VQM files to preserve placement

vqm это результат начального отображения логики на технологические примитивы целевой ПЛИС. Кто не верит посмотрите что в этом файле. Поэтому переносимость между разными ква очевидна, но между семействами, думаю что ква не настолько умный чтобы заменить cycloneii_lcell на cycloneiii_lcell автоматом.

ЗЫ. Еще один минус vqm файлов, их нельзя использовать как модель для моделирования, потому что примитивы, которые вставлены в код не содержат полного подключения всех пинов. В итоге в модели сплошные 'x'.


пробовал с сцыклона 1 на сцыклон 2 нормально переносится и самое главное работает smile.gif .
там соединение идет на уровне его мегофункций, а они для семейства одинаковые (почти) если не использовать DSP то все нормально работает
bark
Всем спасибо за обсуждение.
Сейчас речь идёт действительно о CycloneIII.
DSP не используется.

Из перечисленного, как я понял, для СIII штатоного средства толкового нет.
Сейчас ещё раз всё перечитаю.
des00
Цитата(DW0 @ Nov 10 2010, 02:28) *
пробовал с сцыклона 1 на сцыклон 2 нормально переносится и самое главное работает smile.gif .

наверное у вас там одни люты, было дело переносил кое что со второго на 3ий и стратикс, пришлось перегенерировать.
DW0
Цитата(des00 @ Nov 10 2010, 11:41) *
наверное у вас там одни люты, было дело переносил кое что со второго на 3ий и стратикс, пришлось перегенерировать.


на стратикс или арию, в моем случае это было на арию с сцыклона, пришлось новые vqm создавать, с первого на третий сцыклоны без проблем. Еще раз напомню, что только после синтеза, vqm годится.

Была и память, причем назначенная как РОМ, в таком случае еще необходимо в папочке ДБ отыскать mif-файл, для того чтобы все получилось
Я не утверждаю что это самый лучший вариант, просто для кого-то, возможно это будет приемлемо.

только что проверил, действительно для третьего цыклона неактивна функция, но для второго работает, так что нужно пробовать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.