數字IC之 Verilog編譯器指示語句

2021-08-22 09:52:05 字數 1354 閱讀 6884

可以利用hdl描述中的一些特定的注釋語句來控制綜合工具的工作,從而彌補**環境和綜合環境之間的差異,這些注釋語句稱為編譯器指示語句。

verilog編譯器指示語句

1.  translate_off/ translate_on

這組語句用來指示dc停止翻譯 「//synopsys...translate_off」之後的verilog描述,直至出現 「//synopsys translate_on」。當verilog**鐘含有供**用的不可綜合語句時,這項功能能使**方便地在**工具與綜合工具之間移植。 

1translate_off/ translate_on指示語句的使用):

//synopsys translate_off

//synopsys translate_on 

2.   parallel_case/ full_case

dc可能使用帶優先順序的結構來綜合verilog的case語句,為避免這種情況,可以使用「//synopsys...parallel_case」指示dc將case語句綜合為並行的多路選擇器結構。

parallel_case指示語句的使用):

always @ (state)

case (state)    //synopsys parallel_case

2』b00:        new_state = 2』b01;

2』b01:        new_state = 2』b10;

2』b10:        new_state = 2』b00;

default:       new_state = 2』b00;

endcase

另外,verilog允許case語句不覆蓋所有可能情況,當這樣的**由dc綜合時將產生鎖存器。為避免這種情況,可以使用「//synopsys full_case」指示dc所有可能已完全覆蓋。

例2full_case指示語句的使用):

always @ (sel or a1 or a2)

case (sel)    //synopsys full_case

2』b00:    z = a1;

2』b01:    z = a2;

2』b10:    z = a1 & a2;

endcase

編譯器之語義分析

semantic 語言的意義 編譯器的語義分析階段將變數與其用法關聯起來,檢查每個表示式是否有正確的型別,還有,將抽象的語法翻譯成更簡單的形式以 方便生成機器語言 碼 符號表將識別符號和其型別 位置關聯起來,當我們去處理變數,函式的宣告時,就是將這些資訊組織 繫結 起來,放在表裡,當需 要知道這些函...

編譯器之語義分析

semantic 語言的意義 編譯器的語義分析階段將變數與其用法關聯起來,檢查每個表示式是否有正確的型別,還有,將抽象的語法翻譯成更簡單的形式以 方便生成機器語言 碼 符號表將識別符號和其型別 位置關聯起來,當我們去處理變數,函式的宣告時,就是將這些資訊組織 繫結 起來,放在表裡,當需 要知道這些函...

Linux 編譯器之 GCC

編輯器是指我用它來寫程式的 編輯 而我們寫的 語句,電腦是不懂的,我們需要把它轉成電腦能懂的語句,編譯器就是這樣的轉化工具。就是說,我們用編輯器編寫程式,由編譯器編譯後才可以執行!gcc gnu compiler collection,gnu 編譯器套件 是由gnu開發的程式語言編譯器。gcc 原本...