91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

淺談RTL設(shè)計(jì)風(fēng)格及Verilog編碼規(guī)范

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2021-06-12 17:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、同步設(shè)計(jì)

1.1 時(shí)鐘的同步設(shè)計(jì)

關(guān)注問題:

(1)設(shè)計(jì)中盡可能使用單時(shí)鐘和單時(shí)鐘邊沿觸發(fā)

(2)不要使用例如“與”“或”門這些基本單元來生成RS鎖存或者FF

(3)不要在組合邏輯中引入反饋電路

在HDL設(shè)計(jì)中使用同步設(shè)計(jì)思想以及邏輯綜合工具。使用異步時(shí)鐘會(huì)讓更加精確的時(shí)序約束變得困難,因此,盡可能利用單個(gè)時(shí)鐘和單邊沿。(使用單個(gè)時(shí)鐘在多數(shù)設(shè)計(jì)中很難實(shí)現(xiàn),在設(shè)計(jì)中盡量減少時(shí)鐘數(shù)量以減輕分析的復(fù)雜度)

盡管可以使用基本門來實(shí)現(xiàn)RS或FF,但時(shí)序分析工具會(huì)把它視作對(duì)組合電路的反饋,如果無法避免,則需要使用set_disable_timing設(shè)置來避免時(shí)序分析期間反饋環(huán)路的影響。

避免在內(nèi)部電路生成異步時(shí)鐘,如果需要生成這樣的時(shí)鐘,那么推薦在生成時(shí)鐘的FF輸出端使用create_clock來指定時(shí)鐘。

避免反饋跨越異步復(fù)位,同樣的,避免使用門控時(shí)鐘和門控復(fù)位。

二、 復(fù)位問題

2.1 使用異步復(fù)位作為初始的復(fù)位

關(guān)注問題:

(1)使用同步復(fù)位電路可能會(huì)導(dǎo)致綜合器生成無法正確復(fù)位的電路,同時(shí),同步復(fù)位會(huì)在數(shù)據(jù)路徑引入復(fù)位信號(hào)(延遲讓時(shí)序變得困難),在多時(shí)鐘系統(tǒng)中可能需要計(jì)數(shù)器來保證復(fù)位信號(hào)寬度。但同步復(fù)位并不是完全沒有優(yōu)點(diǎn),比如,保證系統(tǒng)是完全同步的,可以濾除掉復(fù)位信號(hào)的一些小毛刺,同步復(fù)位需要更少的觸發(fā)器等等,這些問題整理詳細(xì)文章討論。

(2)使用異步復(fù)位對(duì)寄存器進(jìn)行初始的復(fù)位會(huì)更加安全

(3)除了復(fù)位功能外,復(fù)位/置位的引腳不要用作它途

(4)在同一個(gè)復(fù)位線路上禁止同時(shí)使用同步復(fù)位和異步復(fù)位

(5)一個(gè)FF盡量不使用異步復(fù)位和異步置位

異步復(fù)位示例:

always結(jié)構(gòu)僅會(huì)由時(shí)鐘上升沿以及低有效的復(fù)位信號(hào)觸發(fā)

always @(posedge CLK or negedge RST_X) if (!RST_X) Q 《= 1‘b0; else Q 《= DATA;

請(qǐng)注意上面表述的是初始復(fù)位(Initial reset)推薦使用異步復(fù)位。異步復(fù)位的時(shí)序分析比較困難,因?yàn)闀r(shí)序路徑會(huì)被切斷,從而沒有考慮到B的復(fù)位輸入到寄存器B的輸出Q的時(shí)序。同時(shí),A的輸出到B異步復(fù)位的的時(shí)序也不會(huì)被分析。

2.2 復(fù)位問題

注意問題:

(1)不要在復(fù)位路徑引入邏輯電路

例:

reg[4:0] count; wire REN_X,EN_X,count32_x,ctl_x; assign count32_x = ~(& count) | ctl_x; assign REN_X = EN_X | count32_x; always @( posedge CLK or negedge REN_X ) if(REN_X == 1’b0) Q 《= 1‘b0; else Q 《= D;

當(dāng)組合邏輯產(chǎn)生復(fù)位信號(hào)時(shí),由于優(yōu)化的原因,使能信號(hào)可能會(huì)和FF分離,并且不排除危險(xiǎn)信號(hào)驅(qū)動(dòng)復(fù)位信號(hào)的可能性(FF可能會(huì)以意外的時(shí)序復(fù)位)。如上圖所示,即使在RTL描述中的FF復(fù)位信號(hào)前插入了使能邏輯,也可能會(huì)發(fā)生這種情況。并且一旦發(fā)生這種問題,很難排查??偠灾?,設(shè)計(jì)電路不要總依賴綜合工具的優(yōu)化。

2.2.1 噪聲,毛刺

復(fù)位信號(hào)不排除會(huì)被噪聲干擾,產(chǎn)生一些毛刺,因此,推薦使用濾波,但引入濾波也不是必須的,視情況而定。下圖是高有效復(fù)位的濾波電路

如果是低有效復(fù)位?

濾波波形原理:

2.2.2 亞穩(wěn)態(tài)問題

以低有效異步復(fù)位為例,如果復(fù)位信號(hào)在時(shí)鐘沿釋放(或附近),不滿足Recovery Time以及Removal Time,會(huì)出現(xiàn)亞穩(wěn)態(tài),所謂復(fù)位恢復(fù)時(shí)間就是,復(fù)位釋放的時(shí)間距離時(shí)鐘沿(上升沿)的時(shí)間,復(fù)位移除時(shí)間就是,復(fù)位釋放的時(shí)間距離時(shí)鐘沿(上升沿)的時(shí)間。和數(shù)據(jù)建立時(shí)間保持時(shí)間一樣,都要滿足一定的時(shí)序要求。這是需要關(guān)注的問題。

2.2.3 同步器/異步復(fù)位同步釋放

module async_resetFFstyle2 ( output reg rst_n, input clk, asyncrst_n); reg rff1; always @(posedge clk or negedge asyncrst_n) if (!asyncrst_n) {rst_n,rff1} 《= 2’b0; else {rst_n,rff1} 《= {rff1,1‘b1}; endmodule

外部的復(fù)位信號(hào)進(jìn)入推薦使用異步復(fù)位同步釋放,下面是代碼綜合出的電路圖,這種設(shè)計(jì)有它的優(yōu)勢(shì)。

編輯:jq

聲明:本文內(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)投訴
  • RS
    RS
    +關(guān)注

    關(guān)注

    3

    文章

    140

    瀏覽量

    111412
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4971

    瀏覽量

    74028
  • 同步器
    +關(guān)注

    關(guān)注

    1

    文章

    117

    瀏覽量

    15660
  • 綜合器
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    6710

原文標(biāo)題:RTL設(shè)計(jì)風(fēng)格及Verilog編碼規(guī)范(一)

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    編碼器接口定義及標(biāo)準(zhǔn)接線方法

    、接線規(guī)范統(tǒng)一,是保證磁編碼器穩(wěn)定輸出位置信號(hào)、提高系統(tǒng)抗干擾能力的關(guān)鍵。本文從接口類型、電氣特性、引腳定義、標(biāo)準(zhǔn)接線、工程規(guī)范、故障處理六個(gè)方面,系統(tǒng)闡述磁編碼器接口定義與標(biāo)準(zhǔn)接線方
    的頭像 發(fā)表于 03-12 15:42 ?64次閱讀

    編碼器與驅(qū)動(dòng)器 / 控制器接線規(guī)范

    編碼器與驅(qū)動(dòng)器 / 控制器的接線,核心是 “匹配、規(guī)范、抗干擾”:先明確接口類型與電氣參數(shù),再遵循標(biāo)準(zhǔn)線序與相位規(guī)則,最后通過單點(diǎn)共地、雙絞屏蔽、強(qiáng)弱電分離等措施抑制干擾。無論是增量式的脈沖傳輸
    的頭像 發(fā)表于 03-12 15:36 ?66次閱讀

    編碼器接口定義及標(biāo)準(zhǔn)接線方法

    編碼器作為高精度位置檢測(cè)核心部件,廣泛應(yīng)用于伺服系統(tǒng)、機(jī)器人、云臺(tái)、工業(yè)傳動(dòng)等領(lǐng)域。其接口類型與接線方式直接決定檢測(cè)精度、傳輸穩(wěn)定性及系統(tǒng)兼容性,工程中因接口定義混淆、接線不規(guī)范導(dǎo)致的信號(hào)失真
    的頭像 發(fā)表于 03-12 15:10 ?74次閱讀

    編碼器安裝工藝與技術(shù)規(guī)范

    編碼器作為高精度位置檢測(cè)核心部件,廣泛應(yīng)用于伺服電機(jī)、云臺(tái)、機(jī)器人等設(shè)備,其安裝質(zhì)量直接決定測(cè)量精度、運(yùn)行穩(wěn)定性及使用壽命。本文結(jié)合工業(yè)實(shí)操標(biāo)準(zhǔn),從安裝準(zhǔn)備、核心工藝、技術(shù)規(guī)范、調(diào)試校準(zhǔn)及維護(hù)要點(diǎn)五個(gè)維度,系統(tǒng)梳理 1500 字以內(nèi)的關(guān)鍵技術(shù)內(nèi)容,為工程應(yīng)用提供精準(zhǔn)指導(dǎo)
    的頭像 發(fā)表于 03-06 14:16 ?130次閱讀

    高層次綜合在FPGA設(shè)計(jì)中的價(jià)值與局限

    一條是“硬核派”,直接用 Verilog/VHDL 寫 RTL,控制信號(hào)級(jí)細(xì)節(jié),精打細(xì)算每個(gè)資源。
    的頭像 發(fā)表于 02-27 15:32 ?321次閱讀

    請(qǐng)問誰有 RTL9210B RTL9210C 的sheet pdf 呀?

    請(qǐng)問誰有移動(dòng)硬盤芯片 RTL9210B RTL9210C 的sheet pdf 呀? 找不到,急需。先謝了
    發(fā)表于 02-13 13:43

    Linux內(nèi)核編碼風(fēng)格權(quán)威總結(jié):從縮進(jìn)到底層設(shè)計(jì),讓你的代碼更“內(nèi)核味”

    作為全球最龐大的開源項(xiàng)目之一,Linux 內(nèi)核的代碼量早已突破千萬行。要讓來自世界各地的開發(fā)者高效協(xié)作,一套統(tǒng)一、嚴(yán)謹(jǐn)?shù)?b class='flag-5'>編碼風(fēng)格必不可少 —— 這不僅是 “代碼顏值” 的要求,更是可讀性、可維護(hù)性的核心保障。
    的頭像 發(fā)表于 02-09 16:29 ?147次閱讀
    Linux內(nèi)核<b class='flag-5'>編碼</b><b class='flag-5'>風(fēng)格</b>權(quán)威總結(jié):從縮進(jìn)到底層設(shè)計(jì),讓你的代碼更“內(nèi)核味”

    宏展科技北京淺談JEDEC半導(dǎo)體可靠度測(cè)試與規(guī)范

    淺談JEDEC半導(dǎo)體可靠度測(cè)試與規(guī)范說明:JEDEC半導(dǎo)體業(yè)界的一個(gè)標(biāo)準(zhǔn)化組織,制定固態(tài)電子方面的工業(yè)標(biāo)準(zhǔn)(半導(dǎo)體、記憶體),成立超過50年是一個(gè)全球性的組織,他所制訂的標(biāo)準(zhǔn)是很多產(chǎn)業(yè)都能夠接手
    的頭像 發(fā)表于 02-02 13:46 ?224次閱讀
    宏展科技北京<b class='flag-5'>淺談</b>JEDEC半導(dǎo)體可靠度測(cè)試與<b class='flag-5'>規(guī)范</b>

    宏展科技北京淺談溫度循環(huán)與溫度沖擊試驗(yàn)依據(jù)規(guī)范進(jìn)行待測(cè)品表溫控制

    淺談溫度循環(huán)與溫度沖擊試驗(yàn)依據(jù)規(guī)范進(jìn)行待測(cè)品表溫控制(JEDEC22-A104、AEC-Q100、LV124、ED-4702A)說明:早期溫度循環(huán)試驗(yàn)都只有看試驗(yàn)爐的空氣溫度,目前依據(jù)相關(guān)國(guó)際規(guī)范
    的頭像 發(fā)表于 02-02 13:45 ?168次閱讀
    宏展科技北京<b class='flag-5'>淺談</b>溫度循環(huán)與溫度沖擊試驗(yàn)依據(jù)<b class='flag-5'>規(guī)范</b>進(jìn)行待測(cè)品表溫控制

    使用NucleiStudio生成tb仿真需要的.verilog文件

    打開仿真頂層文件tb_top.v,存放在ITCM模塊里面的指令是通過readmemh函數(shù)讀入.verilog文件實(shí)現(xiàn)的: 下面通過對(duì)NucleiStudio IDE進(jìn)行設(shè)置,實(shí)現(xiàn)將c
    發(fā)表于 11-05 07:07

    如何解決將e203的rtl導(dǎo)入vivado后報(bào)語法錯(cuò)誤的問題

    主要內(nèi)容是介紹一下如何解決將e203的rtl導(dǎo)入vivado后,報(bào)語法錯(cuò)誤的問題。 二、分享內(nèi)容 如圖所示,導(dǎo)入源碼后跑仿真,會(huì)報(bào)語法錯(cuò)誤。 這是因?yàn)檫@些文件里面有用system verilog
    發(fā)表于 10-24 09:49

    RTL級(jí)機(jī)器人電機(jī)控制器的FPGA設(shè)計(jì)

    借助Verilog,在FPGA中實(shí)現(xiàn)了帶編碼器的兩臺(tái)電機(jī)的電機(jī)控制系統(tǒng)的RTL級(jí)設(shè)計(jì)。
    的頭像 發(fā)表于 07-07 14:01 ?2930次閱讀
    <b class='flag-5'>RTL</b>級(jí)機(jī)器人電機(jī)控制器的FPGA設(shè)計(jì)

    Verilog編寫規(guī)范

    用最右邊的字符下劃線代表低電平有效,高電平有效的信號(hào)不得以下劃線表示,短暫的有效信號(hào)建議采用高電平有效。
    的頭像 發(fā)表于 04-11 09:36 ?1113次閱讀

    FPGA Verilog HDL語法之編譯預(yù)處理

    Verilog HDL語言和C語言一樣也提供了編譯預(yù)處理的功能?!熬幾g預(yù)處理”是Verilog HDL編譯系統(tǒng)的一個(gè)組成部分。Verilog HDL語言允許在程序中使用幾種特殊的命令(它們不是一般
    的頭像 發(fā)表于 03-27 13:30 ?1463次閱讀
    FPGA <b class='flag-5'>Verilog</b> HDL語法之編譯預(yù)處理

    英諾達(dá)推出RTL功耗優(yōu)化工具

    英諾達(dá)(成都)電子科技有限公司隆重推出芯片設(shè)計(jì)早期RTL級(jí)功耗優(yōu)化工具—EnFortius RTL Power Explorer(ERPE),該工具可以高效、全面地在RTL設(shè)計(jì)階段進(jìn)行功耗優(yōu)化機(jī)會(huì)
    的頭像 發(fā)表于 03-20 17:06 ?1194次閱讀