freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

verilog編碼規(guī)范方案-閱讀頁

2025-05-07 22:14本頁面
  

【正文】 合反饋電路。 賦值語句s 在寫可綜合的代碼時,在時序邏輯的always語句塊中總是使用非阻塞賦值。s 在組合邏輯的always語句塊中使用阻塞賦值。 case語句和ifelse語句s (建議)如果不需要有優(yōu)先級的編碼結(jié)構(gòu),建議使用case語句而不要使用ifelse語句。對于大的多選器,case語句也比條件賦值語句的仿真速度快。167。 condition2 : statement 。endcase 狀態(tài)機(jī)s 將狀態(tài)機(jī)的描述分成兩個always塊,一個用來描述組合邏輯,一個用來描述時序邏輯。s (建議)將狀態(tài)機(jī)的邏輯和非狀態(tài)機(jī)的邏輯分成不同的模塊,以便于綜合工具對狀態(tài)機(jī)進(jìn)行單獨優(yōu)化。s FSM提供防死鎖機(jī)制,以防止限死在某個狀態(tài),特別是在異常情況下。// PART 1: COMBINATERIAL LOGIC FOR NEXT STATEalways (cur_state or full_new_fr or full or have_space)begin: OVC_FSM_NXT_ST case (cur_state) STDBY: begin if (full_new_fr == 139。 else if (full == 139。 else nxt_state = cur_state。b1) nxt_state = STDBY。 end W_DSCD: begin if (have_space == 139。 else nxt_state = W_BLOCK。 endcaseend // OVC_FSM_NXT_ST// PART 2: SEQUENTIAL LOGIC FOR CURRENT STATEalways (posedge clk or `RST_EDGE reset)begin: OVC_FSM_ST_TRANS if(reset == `RST_VALUE) cur_state = `DLY W_BLOCK。end // OVC_FSM_ST_TRANS167。異步邏輯難于設(shè)計和驗證,并會降低設(shè)計的可移植性。這使得代碼檢查更加容易(異步邏輯通常需要仔細(xì)的檢查和功能及時序上的驗證)。如下圖所示4 模塊劃分s (建議)對設(shè)計層次中的每一個模塊,鎖存模塊的所有輸出信號。輸出驅(qū)動強(qiáng)度是觸發(fā)器的平均驅(qū)動強(qiáng)度。這有利于綜合工具對邏輯的優(yōu)化,也有利于時序預(yù)算和快速仿真。s (建議)確保只有在頂層模塊中才包括I/O PAD。這個要求不是強(qiáng)制性的,但這樣做易于集成測試邏輯、PAD和功能邏輯。5 提高可移植性的編碼風(fēng)格 采用參數(shù)化設(shè)計s (建議)不要直接使用數(shù)字 在設(shè)計中不要直接使用數(shù)字(HardCoded Numeric Value)。例如:差的編碼風(fēng)格:wire [7:0] my_in_bus。好的編碼風(fēng)格:`Define MY_BUS_SIZE 8wire [MY_BUS_SIZE1:0] my_in_bus。另一種較好的編碼風(fēng)格,有利于IP封裝:parameter BUS_SIZE = 8 。reg [BUS_SIZE1:0] my_out_buss (建議)將一個設(shè)計的所有的`define語句集中到一個單獨的文件。 不要在源代碼中使用嵌入式的EDA工具命令。即使是使用Design Compiler,當(dāng)綜合策略改變是,嵌在源代碼中的綜合命令也不如單獨的script文件中的綜合命令容易修改。這個規(guī)則有一個例外就是編譯開關(guān)的打開和關(guān)閉可以嵌入到代碼中。s (建議)在設(shè)計中避免實例化(instantiate)門,門級設(shè)計難于理解、維護(hù)和重用。如果必須使用特定工藝的門,建議將它們放于單獨得模塊,這樣在移植時易于更改。bad: module add (a,b,c)。 output [7:0] c 。 parameter WIDTH = 8 。 output [WIDTH1:0] c。s 盡量避免使用復(fù)雜的運算符,如*, /, %。s 提供方便調(diào)試的功能:比如增加可讀的標(biāo)志寄存器、統(tǒng)計計數(shù)、FIFO的狀態(tài)寄存器等等。 Always (posedge clk or posedge rst) If (rst==1’b1) t = 0 。better: reg[7:0] t。 else if (t_en | test_t_en) t = t + 1 。s 對于FPGA設(shè)計,適當(dāng)限制組合邏輯的輸入信號數(shù)目(4個以下最好)。這對提高Timing很有用。s 邏輯級數(shù)過多的功能塊,使用寄存器隔離,提高設(shè)計的綜合時的時鐘頻率。計數(shù)器要求可被CPU直接訪問,并且每個打散后的小計數(shù)器都有CPU可控的計數(shù)使能信號。 Always (posedge clk or posedge rst) If (rst==1’b1) t = 0 。better: reg[7:0] t0,t1,t2,t3。 assign t0_en = t_en | test_t_en 。t0 amp。 … always (posedge clk or posedge rst) if (rst==1’b1) t0 = 0 。 …s 盡可能地使用FPGA工具能提供的Cores。s 養(yǎng)成良好的習(xí)慣:每個模塊代碼完成之后單獨綜合,或者幾個子模塊合成一個功能相對完整的模塊時綜合一次,把相應(yīng)的warnning或者latch去掉,不能去除的warning需要全部加以說明,并以文檔方式記錄。173。173。173。039。39。 means SONET mode frame. cpu_cs, cpu_addr, cpu_datain, cpu_rd, cpu_we, . . . //OUTPUTS cpu_dataout, cpu_int, . . . )。input clk77m_sys。input cpu_cs。input [15:0] cpu_datain。input cpu_we。output cpu_int。wire cpu_int。reg fifo_wen。b000。b0。 endend//FIFO_W_SIG// *************************// SUBMODULE INSTANTIATION// *************************WRAP_SRAM16x15 U_WRAP_SRAM16x15 ( //INPUTs .rst (rst), .addr (sts_num), .clk (clk77m_sys), .din (din), .we (139。b1), //OUTPUTs .dout (dout_tmp) )。閱讀過后,希望您提出保貴的意見或建議。
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1