RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何對(duì)Verilog/SystemVerilog代碼加密

sanyue7758 ? 來源:處芯積律 ? 2024-01-15 09:32 ? 次閱讀

Verilog代碼

以VCS 2017為例,可以使用-autoprotect128/-auto2protect128/-auto3protect128選項(xiàng),實(shí)現(xiàn)不同級(jí)別的自動(dòng)代碼加密。以auto2protect128為例,可以對(duì)module內(nèi)除端口列表以外的內(nèi)容加密。

vcs -auto2protect128 -f dut_file_list.f

還有一個(gè)-protect128選項(xiàng),需要先在待加密代碼前后添加“`protect128”和“`endprotect128”。

SystemVerilog代碼

我個(gè)人實(shí)際測(cè)試下來,上面的-autoprotect128/-auto2protect128/-auto3protect128選項(xiàng)不能對(duì)SystemVerilog代碼自動(dòng)加密,只能借助于-protect128選項(xiàng)。如果平時(shí)寫代碼過程中就已經(jīng)添加“`protect128”和“`endprotect128”,可以直接使用vcs命令加密:

vcs-protect128-ftb_file_list.f

而如果平時(shí)寫代碼時(shí)沒有加,下面提供一個(gè)Python腳本,在給定文件列表中每個(gè)文件的首行添加“`protect128”,末尾添加“`endprotect128”,具體使用sed和echo命令實(shí)現(xiàn)文件首尾添加內(nèi)容。?

#add_protect.py


import sys
import os


def main():
  if(len(sys.argv) != 2):
print("Optionsilleagal.")
    sys.exit()
  else:
    o_file = sys.argv[1]
    add_protect(o_file)


def add_protect(o_file):
  try:
    f_obj = open(o_file)
  except FileNOtFoundError:
    print(o_file+" :no such file.")
  else:
    for line in f_obj:
      os.system("sed -i '1i `protect128' " + line)
os.system("echo'`endprotect128'>>"+line)


    f_obj.close()


main()

os模塊中的system()函數(shù)接受一個(gè)字符串參數(shù),其中包含要執(zhí)行的命令。在21-22行中,line為字符串變量,和前面雙引號(hào)中的linux命令拼接在一起,組成system()函數(shù)的字符串參數(shù)。

pythonadd_protect.pytb_file_list.f

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110074
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    578

    瀏覽量

    20506
  • VCS
    VCS
    +關(guān)注

    關(guān)注

    0

    文章

    79

    瀏覽量

    9600
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4792

    瀏覽量

    84627

原文標(biāo)題:使用VCS進(jìn)行代碼加密的方法

文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    systemverilog學(xué)習(xí)教程

    systemverilog的一些基本語法以及和verilog語言之間的區(qū)別。
    發(fā)表于 04-01 14:24

    round robin 的 systemverilog 代碼

    大家好,我對(duì)一個(gè) round robin 的 systemverilog 代碼有疑惑。https://www.edaplayground.com/x/2TzD代碼第49和54行是怎么解析呢 ?
    發(fā)表于 03-14 19:16

    請(qǐng)問GLCM verilog代碼不能正常工作該怎么辦?

    嗨.., 我創(chuàng)建了一個(gè)程序,用于使用for循環(huán)計(jì)算GLCM,如果系統(tǒng)verilog中的條件,但它不能正常工作,這里我附上我的代碼請(qǐng)參考并給我一個(gè)解決方案,有可能合成systemverilog ... ???GLCM.sv 1 K
    發(fā)表于 11-11 15:28

    保護(hù)您的 IP 內(nèi)核——第一部分軟 IP,第一節(jié):HDL 代碼加密

    代碼。 ModelSim 通過受保護(hù)的加密信封支持 VHDL、VerilogSystemVerilog IP 代碼
    發(fā)表于 02-23 12:27

    SystemC 和SystemVerilog的比較

    就 SystemC 和 SystemVerilog 這兩種語言而言, SystemC 是C++在硬件支持方面的擴(kuò)展,而 SystemVerilog 則繼承了 Verilog,并對(duì) Verilo
    發(fā)表于 08-16 10:52 ?5367次閱讀

    verilog_代碼資料

    verilog_代碼資料,非常實(shí)用的代碼示例。
    發(fā)表于 02-18 15:00 ?37次下載

    verilog代碼規(guī)范

    verilog代碼規(guī)范,學(xué)會(huì)寫代碼還不行,我們需要更加的規(guī)范。
    發(fā)表于 03-25 14:43 ?24次下載

    Verilog 入門的實(shí)例代碼

    Verilog 入門的實(shí)例代碼,有需要的下來看看
    發(fā)表于 05-24 10:03 ?20次下載

    verilog_代碼

    verilog_代碼分享,有需要的朋友下來看看。
    發(fā)表于 05-24 10:03 ?12次下載

    使用Verilog/SystemVerilog硬件描述語言練習(xí)數(shù)字硬件設(shè)計(jì)

    HDLBits 是一組小型電路設(shè)計(jì)習(xí)題集,使用 Verilog/SystemVerilog 硬件描述語言 (HDL) 練習(xí)數(shù)字硬件設(shè)計(jì)~
    的頭像 發(fā)表于 08-31 09:06 ?1690次閱讀

    Verilog PLI到SystemVerilog DPI的演變過程

    寫過Verilogsystemverilog的人肯定都用過系統(tǒng)自定義的函數(shù)$display,這是預(yù)定好的,可以直接調(diào)用的功能。
    的頭像 發(fā)表于 05-16 09:27 ?940次閱讀
    從<b class='flag-5'>Verilog</b> PLI到<b class='flag-5'>SystemVerilog</b> DPI的演變過程

    verilog/systemverilog中隱藏的初始化說明

    VerilogSystemVerilog中經(jīng)常需要在使用變量或者線網(wǎng)之前,期望變量和線網(wǎng)有對(duì)應(yīng)的初始值
    的頭像 發(fā)表于 08-25 09:47 ?1083次閱讀
    <b class='flag-5'>verilog</b>/<b class='flag-5'>systemverilog</b>中隱藏的初始化說明

    verilog-2005和systemverilog-2017標(biāo)準(zhǔn)規(guī)范

    作為邏輯工程師,在FPGA和數(shù)字IC開發(fā)和設(shè)計(jì)中,一般采用verilog,VHDL或SystemVerilog等作為硬件描述語言進(jìn)行工程設(shè)計(jì),將一張白板描繪出萬里江山圖景。
    的頭像 發(fā)表于 09-04 10:10 ?2720次閱讀
    <b class='flag-5'>verilog</b>-2005和<b class='flag-5'>systemverilog</b>-2017標(biāo)準(zhǔn)規(guī)范

    SystemVerilog相比于Verilog的優(yōu)勢(shì)

    我們?cè)購膶?duì)可綜合代碼的支持角度看看SystemVerilog相比于Verilog的優(yōu)勢(shì)。針對(duì)硬件設(shè)計(jì),SystemVerilog引入了三種進(jìn)程always_ff,always_comb
    的頭像 發(fā)表于 10-26 10:05 ?931次閱讀
    <b class='flag-5'>SystemVerilog</b>相比于<b class='flag-5'>Verilog</b>的優(yōu)勢(shì)

    如何自動(dòng)生成verilog代碼

    介紹幾種自動(dòng)生成verilog代碼的方法。
    的頭像 發(fā)表于 11-05 11:45 ?286次閱讀
    如何自動(dòng)生成<b class='flag-5'>verilog</b><b class='flag-5'>代碼</b>
    RM新时代网站-首页