導航:首頁 > 源碼編譯 > 編譯sv加密

編譯sv加密

發布時間:2022-12-08 01:22:21

⑴ SV強制類型轉換和常數

靜態轉換有三種,分別是數據類型強制轉換、向量寬度強制轉換和符號強制轉換,格式分別為:

靜態強制轉換是編譯時的轉換,轉換的操作總會運行, 而不會檢查結果的有效性

下面對數據類型強制轉換和向量寬度強制轉換做了模擬:

模擬結果如下:

系統函數 $cast 是動態的,並且 在運行時進行帶轉換數值的檢查

動態強制類型轉換的格式為: $cast(dest_var, source_var); ,系統函數 $cast 有兩個變數:目標變數和源變數

下面幾種情況會導致無效的強制類型轉換:

$cast可以作為任務調用也可以作為函數調用,作為任務調用時,如果轉換不成功, 會報告運行時錯誤 ,但作為函數調用時, 不會報告運行時錯誤

系統函數$cast具有返回值,如果轉換成功,返回 1 ;轉換失敗,返回 0

例如:

$cast函數不能和直接修改源表達式的操作符(++, +=)一塊用

$cast函數主要用途是將表達式的結果賦給枚舉類型變數

靜態強制轉換是可綜合的,動態強制轉換由於一些綜合工具可能不支持$cast系統函數

系統函數和系統任務都是不可綜合的

下面這個例子,將 0.25*8 動態裝換成 int 類型,並通過系統函數 $cast 判斷轉換是否成功

模擬結果如下:

Verilog提供了三種常數類型 parameter 、 specparam 和 localparam

確立 實質上是軟體工具建立模塊實例代表的設計層次的過程

Verilog限制 parameter 、 specparam 和 localparam 常數的聲明只能在模塊、靜態任務和靜態函數中, 不允許在動態任務和動態函數中

關鍵字const 允許將任何變數聲明為常數,const形式的常數直到確立完成後才被賦值

const常數的使用范圍:

const常數的聲明必須包含數據類型,例如:

const常數實質上是一個只能被初始化的變數

本文摘在《SystemVerilog硬體設計與建模》

⑵ asp反編譯出亂碼都會有什麼原因

網頁出現亂碼主要是因為幾個地方聲明的網頁編碼不一致引起的。
.
涉及網頁編碼有幾個地方:
1、頁面開頭的 CODEPAGE
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
2、meta標簽
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
3、文件保存時使用的編碼
.
下面以常用的兩種編碼 gb2312 和 utf8 進行說明:
CODEPAGE中的編碼:
utf8編碼
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
gb2312編碼
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
meta標簽中的編碼:
utf8編碼
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
gb2312編碼
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
文件保存時使用的編碼:
用記事本打開文件,選擇「文件 - 另存為」,在對話框中選擇編碼,如圖:
utf8編碼:請選擇UTF8
gb2312編碼:請選擇ANSI

除了上面三個地方要使用統一編碼外,還有一點需要注意:
中文一定要出現在meta編碼聲明之後
來源http://www.33dir.com/z/2016/02/24/222.html

⑶ VCS編譯命令

等license

使能verilog2000的標准

統一所有的timescale

-f採用絕對路徑;-F與-f類似,也可以採用絕對路徑,同時也支持相對路徑,但不允許嵌套使用。
VCS用-F解析filelist時,不允許文件嵌套使用,不支持`include 「xxx.v」這種寫法,改為-f便ok了。

`include "xxx.sv"
要用+incdir把xxx.sv的路徑指明。

編譯完成後,自動執行當前編譯生成的可執行文件

初始化RTL中所有mem的所有bit初始值

初始化RTL中所有reg的所有bit初始值

-的一般是編譯時用的,編譯工具自帶的。
+的是插件,環境,驗證語言,等等加的,可擴展的,自定義的。

+libext+.v
-y XXX/memory/all/work/verilog 定義verilog的庫
-f rtl_top.f
-f env.f

testbench的頂層mole名字是top, 收集top下的例化的rtl頂層模塊的下面所有層的覆蓋率

如果用到了dw的東西
一般加上選項
-y $DC_HOME/dw/sim_ver +incdir+$DC_HOME/dw/sim_ver +libext+.v

⑷ SystemVerilog $unit 編譯單元介紹

SV中增加了編譯單元的概念,就是 SV源文件編譯的時候,一起編譯的所有源文件

編譯單元域在搜索順序中排第三位

舉個栗子

這里我們創建了兩個包(a_dpk和b_dpk),兩個包中的都只有一個列印函數,同時mole中也有一個列印函數,(列印函數用於指示所在位置)

列印結果如下:

image-20211216201944989

運行結果如下:

可以看到此時列印的是在mole中導入的包

那麼接下來我們把在mole中導入的包注釋掉,即把 import a_dpk::*; 注釋掉

下面運行結果:

此時終於把導入$unit編譯單元域的內容列印出來了

這也就是為什麼 編譯單元域在搜索規則中排第三

那麼為什麼編譯單元域叫 $unit 呢?我們可以再把代碼更改一下

我們把 b_dpk 注釋掉,但依舊將其導入,看看運行結果

這里直接顯示錯誤在 $unit ,或許$unit只是一個名稱,就好像上例中mole命名為 test_tb 一樣

格式為:

這是C語言中常用的技巧,如果第一次遇到導入語句將其編譯到$unit中,再次出現則不會編譯

下面我們將上篇筆記中的包用這種方式模擬一下,先給出上篇筆記中包的內容

我們將文件名命名為 definitions.dpk ,其中後綴 .dpk 是隨便起的

下面是源碼和測試文件

運行結果如下

本文主要參考

⑸ 如何對web.config進行加密和解密

在WEB網站開發過程中,如果我們將資料庫連接字元串封裝到.DLL文件中,將會給資料庫和程序的遷移帶來麻煩,因為萬一伺服器地址
者資料庫發生變更,那麼我們就不得不修改源程序並重新將其編譯。更好的解決方法是將資料庫連接字元串寫入到web.config配置文件中,可問題是將連
接字元串寫入到web.config文件中之後,任何人都能打開看到所連接的資料庫名和密碼,又會帶來安全隱患,因此為了保證資料庫的安全性,我們可以通
過使用微軟IDE自帶的命令aspnet_regiis.exe將配置文件web.config中指定的標簽進行加密,如果以後想查看加密後的連接字元
串,我們還可以使用aspnet_regiis.exe將加密後的字元串進行解密。

1. 加密通用語法
加密一個特定網站的web.config文件的通用形式
aspnet_regiis.exe -pef secion physical_directory -prov provider

aspnet_regiis.exe -pe secion -app virtual_directory -prov provider
其中,各個參數的含義如下:

section表示要加密的配置節

physical_directory用於指定站點的物理路徑。

virtual_directory用戶指定虛擬路徑。

provider指定加密提供程序。

加密一個特定站點的連接字元串就是:
aspnet_regiis.exe -pef "connectionStrings" "你的web項目路徑" -prov ""
其中是Windows數據保護API(DPAPI)提供程序,它使用Windows內置的密碼學技術來加解密配置節。默認情況下,這個提供程序使用本機的密鑰。

2. 加密方法

運行Visual Studio 2008命令提示

加密後的結果

<connectionStrings configProtectionProvider="">
<EncryptedData>
<CipherData> <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAy1WyvzomB0WAlqYo++bAce//lsg/so66+//LD9H9WQ9uF3t/0MoMI9tbrWdFJ1Yu5/e3PAV4RCbCvDlPD0VC7hxtDMqfRjQ+1OhTdk2woiSNpx0TzXwZE25o4vlXq/+lZtAj8lzf2bK+/L0+6bizStRZ7BDnOngV//CVDQ==</CipherValue>
</CipherData>
</EncryptedData>
lt;/connectionStrings>

3. 解密
解密該連接字元串也很簡單
aspnet_regiis.exe -pdf "connectionStrings" '你的web項目路徑"

解密後的結果:

<connectionStrings>
<add name="Sql" connectionString="Data Source=.;Initial Catalog=MySchool;Integrated Security=True" />
</connectionStrings>

4. 後台代碼讀取配置文件web.config中資料庫連接字元串的方法:

using System.Configuation;

protected void Page_Load(object sender, EventArgs e)
{
lblMessage.Text = ConfigurationManager.ConnectionStrings["Sql"].ToString();
}


5. 在連接字元串的加密和解密的過程中,需要注意一下幾點。

使用加密的連接字元串

使用加密的連接字元串不需要編碼解密,ASP.NET會自動對加密內容進行解密。

加密和解密在同一台計算機上使用

在加密過程中,使用了一個基於本機的密鑰。這就意味著加密和解密必須在同一台計算機上進行,否則將不能解密。同時,在一台計算機上加密的配置,在另一台計算機上將不能正常使用。

中文路徑問題
該命令對中文支持不是很好。如果站點的路徑中有中文字元,也許不能正常加解密。

⑹ asp文件被加密了, 誰知道怎麼解密

請參閱
ASP程序加密解密方法全面解析
http://wenku..com/link?url=WP0OGrtMg8Osfz_iLtu_d-_

閱讀全文

與編譯sv加密相關的資料

熱點內容
海龜編輯器積木編程怎麼安裝 瀏覽:183
程序員理發店生意怎麼樣 瀏覽:601
程序員羅技 瀏覽:180
軟考初級程序員課程2021下載 瀏覽:487
杭州程序員奶奶 瀏覽:878
不聽命令造成錯誤 瀏覽:979
kool系統源碼 瀏覽:608
流氓app在哪裡看 瀏覽:98
域名購買了怎麼指向伺服器 瀏覽:121
安卓手機如何讓照片顏色反轉 瀏覽:859
怎麼下載卓睿安手機版 瀏覽:514
h3crange命令 瀏覽:468
php前景和python 瀏覽:338
php壓縮圖片內存大小 瀏覽:495
在哪裡可以查看雲伺服器的信息 瀏覽:70
python讀取非txt文件 瀏覽:799
艾莫迅用什麼編程軟體好 瀏覽:227
android文件存儲讀取 瀏覽:214
php基礎教程第5版 瀏覽:543
伺服器裡面怎麼刷東西 瀏覽:194