日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Altera的几个常用的Synthesis attributes(转载)

發布時間:2023/12/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Altera的几个常用的Synthesis attributes(转载) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

各廠商綜合工具,對HDL綜合時都定義了一些綜合屬性這些屬性可指定a declaration,a module item,a statement, or a port connection?不同的綜合方式。

?

語法為:

?

/* synthesis, <any_company_specific_attribute = value_or_optional_value */

?

下面就是Altera的幾個常用的Synthesis attributes

?

?

?

Noprune

?

?A Verilog HDL synthesis attribute that prevents the Quartus II software from removing a register that does not directly or indirectly feed a top-level output or bidir pin.

?

For example:

?

reg reg1 /* synthesis noprune */;

?

?

?

keep

?

?A Verilog HDL synthesis attribute that directs Analysis & Synthesis to not minimize or remove a particular net when optimizing combinational logic.

?

For example:

?

wire keep_wire /* synthesis keep */;

?

?

?

preserve

?

?A Verilog HDL synthesis attribute that directs Analysis & Synthesis to not minimize or remove a particular register when eliminating redundant registers or registers with constant drivers.

?

For example:

?

reg reg1 /* synthesis preserve */;

?

?

?

ram_init_file

?

A Verilog HDL synthesis attribute that specifies initial contents of an inferred memory.

?

For example:

?

reg [7:0] mem[0:255] /* synthesis ram_init_file = " my_init_file.mif" */;

?

?

?

ramstyle

?

A Verilog HDL synthesis attribute that specifies the type of TriMatrix Memory block to use when implementing an inferred RAM.

?

M512", "M4K", "M9K", "M144K", "MLAB", "M-RAM”

?

For example:

?

reg [0:7] my_ram[0:63] /* synthesis ramstyle = "M512" */;

?

?

?

translate_off??or??translate_on

?

?Verilog HDL synthesis directives that direct Analysis & Synthesis to ignore portions of the design code that are specific to simulation and not relevant to logic synthesis.

?

For example:

?

parameter tpd = 2;??// Generic delays

?

// synthesis translate_off

?

#tpd;

?

// synthesis translate_on

?

?

?

關于狀態機有下面三個綜合屬性:

?

?

?

full_case
?A Verilog HDL synthesis attribute that directs Analysis & Synthesis to treat unspecified state values in a Verilog Design File Case Statement as don't care values, and therefore to treat the Case Statement as "full".

?

僅用于Verilog ,與case 語句一起使用表明所有可能的狀態都已經給出不需要其他邏輯保持信號的值.

?

module full_case (a, sel, y);
?? input [3:0] a;
?? input [1:0] sel;
?? output y;
?? reg y;
?? always @(a or sel)??????????????? case (sel)????? // synthesis full_case?
???????? 2'b00: y="a"[0];
???????? 2'b01: y="a"[1];
???????? 2'b10: y="a"[2];
????? endcase
endmodule

?

?parallel_case
?A Verilog HDL synthesis attribute that directs Analysis & Synthesis to implement parallel logic rather than a priority scheme for all case item expressions in a Verilog Design File Case Statement.

?

僅用于Verilog ,與case 語句一起使用強制生成一個并行的多路選擇結構而不是一個優
先譯碼結構.

?


?module parallel_case (sel, a, b, c);
?? input [2:0] sel;
?? output a, b, c;
?? reg a, b, c;
?? always @(sel)????????????????? begin
????? {a, b, c} = 3'b0;
????? casez (sel)??????????????? // synthesis parallel_case?
???????? 3'b1??: a = 1'b1;
???????? 3'b?1?: b = 1'b1;
???????? 3'b??1: c = 1'b1;
????? endcase
?? end
endmodule

?

syn_encoding
?A Verilog HDL synthesis attribute that determines how the Quartus II software should encode the states of an inferred state machine.
?強制重新狀態機的狀態編碼方式.有default,one-hot,sequential,gray,johnson,compact,user幾種編碼方式

?

(* syn_encoding = "user" *) reg [1:0] state;
parameter init = 0, last = 3, next = 1, later = 2;

?

always @ (state) begin
case (state)
init:
out = 2'b01;
next:
out = 2'b10;
later:
out = 2'b11;
last:
out = 2'b00;
endcase
end

?

In the above example, the states will be encoded as follows:

?

init?? = "00"
last?? = "11"
next?? = "01"
later?? = "10"

?

轉載于:https://www.cnblogs.com/lianjiehere/p/4292704.html

總結

以上是生活随笔為你收集整理的Altera的几个常用的Synthesis attributes(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。