在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

FPGA學(xué)習(xí)筆記

FPGA設(shè)計(jì)論壇 ? 來源:FPGA設(shè)計(jì)論壇 ? 2025-03-27 09:34 ? 次閱讀

1.名詞解釋:

FPGA:現(xiàn)場(chǎng)可編程門陣列,一般工藝SRAM(易失性),所以要外掛配置芯片。

CPLD:復(fù)雜可編程邏輯器件,一般工藝Flash(不易失)。

ASIC:專用集成電路

SOC:片上系統(tǒng)

SOPC:片上可編程系統(tǒng)

2.Verilog語法類:

①Verilog兩大數(shù)據(jù)類型:一類是線網(wǎng)類型,另一類是寄存器類型。

線網(wǎng)類型表示硬件電路元件之間實(shí)際存在的物理連線,有很多種:wire、tri、wor等等,當(dāng)然日常使用wire最多,其他的都沒遇到過。

寄存器類型表示一個(gè)抽象的數(shù)據(jù)存儲(chǔ)單元,只能在initial或always內(nèi)部被賦值,并且變量的值將從一條賦值語句保持到下一條賦值語句。有5種:reg、time(64位無符號(hào)的時(shí)間變量)、integer(32位帶符號(hào)的整數(shù)型變量)、real/realtime(64位帶符號(hào)的實(shí)數(shù)型變量)。reg用的最多。

②Verilog建模方式:結(jié)構(gòu)化描述方式、數(shù)據(jù)流描述方式、行為描述方式、混合描述方式。

結(jié)構(gòu)描述是指通過調(diào)用邏輯原件,描述它們之間的連接來建立邏輯電路的verilog HDL模型。這里的邏輯元件包括內(nèi)置邏輯門、自主研發(fā)的已有模塊、商業(yè)IP模塊。

數(shù)據(jù)流描述是指根據(jù)信號(hào)之間的邏輯關(guān)系,采用持續(xù)賦值語句描述邏輯電路的方式。通過觀察是否使用assign賦值語句可以判斷是否有數(shù)據(jù)流描述。

行為描述是指只注重實(shí)現(xiàn)的算法,不關(guān)心具體的硬件實(shí)現(xiàn)細(xì)節(jié)。這與C語言編程非常類似。通過觀察是否使用initial 或always語句塊可以判斷是否有行為描述。

混合描述是指以上幾種描述方法都存在的一種描述方式。具體在一個(gè)工程中,不可能只是用單獨(dú)哪一種描述方式,一般都是各種描述方式的混合。

3.VHDL相對(duì)于Verilog不能描述的層級(jí)?

網(wǎng)上有段話說的是:Verilog在其門級(jí)描述的底層,即晶體管開關(guān)級(jí)的描述方面比VHDL更強(qiáng)一些,所以即使使用VHDL的設(shè)計(jì)環(huán)境,在底層實(shí)質(zhì)上也會(huì)由Verilog描述的器件庫所支持。

Verilog較為適合系統(tǒng)級(jí)、算法級(jí)、RTL級(jí)、門級(jí)、開關(guān)級(jí)的設(shè)計(jì),而對(duì)于特大型(千萬門級(jí)以上)的系統(tǒng)設(shè)計(jì),則VHDL更為適合。(VHDL比較嚴(yán)謹(jǐn),而Verilog可以花式編碼)

所以,VHDL不能描述開關(guān)級(jí)。

4.阻塞與非阻塞的區(qū)別:

對(duì)于代碼:

 1 //blocking;
 2 begin
 3     B = A;
 4     C = B + 1;
 5 end
 6 //non-blocking;
 7 begin
 8     B <= A;
 9     C <= B + 1;
10 end

在always語句內(nèi)部過程賦值語句有兩種,阻塞賦值語句與非阻塞賦值語句。

兩者主要區(qū)別是完成賦值操作的時(shí)間不同,阻塞賦值語句的賦值操作是立即執(zhí)行的,即執(zhí)行后一句的時(shí)候,前一句的賦值已經(jīng)完成;而非阻塞賦值語句的賦值操作到結(jié)束順序語句塊時(shí)才完成賦值操作,即賦值操作完成后,語句塊的執(zhí)行也就結(jié)束了。即阻塞是串行執(zhí)行,非阻塞是并行執(zhí)行的。對(duì)于上述代碼,阻塞賦值中相當(dāng)于C = A + 1;非阻塞賦值中B先前的值被A替代,但C的值是B先前值加1。

5.亞穩(wěn)態(tài)是什么怎么解決亞穩(wěn)態(tài)?

觸發(fā)器輸入端口的數(shù)據(jù)在時(shí)間窗口內(nèi)發(fā)生變化,會(huì)導(dǎo)致時(shí)序違例。觸發(fā)器的輸出在一段時(shí)間內(nèi)徘徊在一個(gè)中間電平,既不是0也不是1。這段時(shí)間稱為決斷時(shí)間(resolution time)。經(jīng)過resolution time之后Q端將穩(wěn)定到0或1上,但是穩(wěn)定到0或者1,是隨機(jī)的,與輸入沒有必然的關(guān)系。

觸發(fā)器由于物理工藝原因,數(shù)據(jù)并不是理想化的只要觸發(fā)沿時(shí)刻不變即可。觸發(fā)器有固定的建立時(shí)間,保持時(shí)間。

建立時(shí)間:在時(shí)鐘有效沿到來前數(shù)據(jù)需要穩(wěn)定的時(shí)間。

保持時(shí)間:在時(shí)鐘有效沿之后數(shù)據(jù)還需要保持不變的時(shí)間。

5e3ed67a-0886-11f0-9310-92fbcf53809c.png

后果:會(huì)給設(shè)計(jì)帶來致命的功能故障。

一般來說,信號(hào)是在異步信號(hào),跨時(shí)鐘域,復(fù)位電路中產(chǎn)生亞穩(wěn)態(tài)。

解決方式:

1.單比特信號(hào):

①采用同步器同步,低速設(shè)計(jì)打兩拍,高速設(shè)計(jì)可能需要打三拍。

5e4cc6cc-0886-11f0-9310-92fbcf53809c.png

低速到高速時(shí)鐘域,低速信號(hào)一般能被高速時(shí)鐘域采到甚至多次。但高速時(shí)鐘域到低速時(shí)鐘域就不太好辦了:

②閉環(huán)解決方案:采用握手反饋信號(hào),這會(huì)導(dǎo)致延時(shí)開銷大。

③開環(huán)解決方案:把信號(hào)展寬,至少為采樣T的1.5倍。這樣至少能采到一次。

2.多比特信號(hào):

傳遞多比特信號(hào),普通同步器就沒啥卵用了,因?yàn)槎啾忍匦盘?hào)偶發(fā)數(shù)據(jù)變化歪斜,導(dǎo)致采到的不一定是正確數(shù)據(jù)。

①多比特信號(hào)融合:把多比特信號(hào)轉(zhuǎn)換為單比特信號(hào),再用同步器同步。

②多周期路徑規(guī)劃:數(shù)據(jù)不需要同步,至需要同時(shí)傳遞一個(gè)同步的使能信號(hào)到接收時(shí)鐘域即可,使能信號(hào)沒被同步到接收時(shí)鐘域并被識(shí)別之前數(shù)據(jù)不被采集。即在信號(hào)某個(gè)沿產(chǎn)生同步脈沖指示信號(hào)。

③異步fifo。

6.競(jìng)爭(zhēng)冒險(xiǎn)是什么,怎么解決競(jìng)爭(zhēng)冒險(xiǎn)?

在組合電路中,當(dāng)輸入信號(hào)改變狀態(tài)時(shí),輸出端可能出現(xiàn)虛假信號(hào)(過渡干擾脈沖),這對(duì)電路來說是不利的。

數(shù)字電路中,任何一個(gè)門電路只要有兩個(gè)輸入信號(hào)同時(shí)向相反方向變化(由01變成10,或者相反),其輸出端就可能產(chǎn)生干擾脈沖。

信號(hào)由于經(jīng)由不同路徑傳輸達(dá)到某一匯合點(diǎn)的時(shí)間有先有后的現(xiàn)象,就稱之為競(jìng)爭(zhēng),英文名Race;由于競(jìng)爭(zhēng)現(xiàn)象所引起的電路輸出發(fā)生瞬間錯(cuò)誤的現(xiàn)象,就稱之為冒險(xiǎn),英文名Hazard或者Risk。

有競(jìng)爭(zhēng)不一定有冒險(xiǎn),但出現(xiàn)了冒險(xiǎn)就一定存在競(jìng)爭(zhēng)。

如下圖的簡單電路,由于門電路的延時(shí),A非相對(duì)于A信號(hào)會(huì)滯后一丟丟(時(shí)間由工藝決定),這就會(huì)導(dǎo)致輸出產(chǎn)生一個(gè)干擾脈沖。

5e58e254-0886-11f0-9310-92fbcf53809c.png

更現(xiàn)實(shí)一點(diǎn),對(duì)于一個(gè)與門:

5e6086bc-0886-11f0-9310-92fbcf53809c.png

解決方式:

1.引入封鎖脈沖:引入負(fù)脈沖,在輸入信號(hào)發(fā)生競(jìng)爭(zhēng)的時(shí)間內(nèi),把可能產(chǎn)生的干擾脈沖的門鎖住。

封鎖脈沖的寬度不應(yīng)小于過渡時(shí)間且與輸出信號(hào)轉(zhuǎn)換同步。

缺點(diǎn):脈沖寬度和產(chǎn)生時(shí)間有嚴(yán)格要求。

5e708cec-0886-11f0-9310-92fbcf53809c.png

2.引入選通脈沖:在電路狀態(tài)穩(wěn)定后,再選通輸出。

缺點(diǎn):脈沖寬度和產(chǎn)生時(shí)間有嚴(yán)格要求。

5e828e74-0886-11f0-9310-92fbcf53809c.png

3.引入濾波電容:輸出端并接一個(gè)不大的濾波電容

缺點(diǎn):輸出波形邊沿變壞。

5e8d88d8-0886-11f0-9310-92fbcf53809c.png

4.修改邏輯設(shè)計(jì),增加冗余項(xiàng):

對(duì)于給定的邏輯 Y=AB+?C,當(dāng)BC都為1的時(shí)候,若A值改變,則會(huì)發(fā)生競(jìng)爭(zhēng)。所以可以添加冗余項(xiàng):

Y=AB+?C+BC

分析有無競(jìng)爭(zhēng)冒險(xiǎn):畫出函數(shù)的卡諾圖,檢查有無幾何相鄰的邏輯項(xiàng),有則可能產(chǎn)生競(jìng)爭(zhēng)冒險(xiǎn)。

7.你使用的器件名稱含義?

5e9ff702-0886-11f0-9310-92fbcf53809c.png

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

    關(guān)注

    1638

    文章

    21856

    瀏覽量

    609664
  • 集成電路
    +關(guān)注

    關(guān)注

    5409

    文章

    11764

    瀏覽量

    365284
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1360

    瀏覽量

    111084
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2027

    瀏覽量

    61596
  • 可編程邏輯器件
    +關(guān)注

    關(guān)注

    5

    文章

    145

    瀏覽量

    30455

原文標(biāo)題:FPGA基礎(chǔ)

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    FPGA學(xué)習(xí)筆記:邏輯單元的基本結(jié)構(gòu)

    邏輯單元在FPGA器件內(nèi)部,用于完成用戶邏輯的最小單元。
    的頭像 發(fā)表于 10-31 11:12 ?2248次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>:邏輯單元的基本結(jié)構(gòu)

    Xilinx FPGA學(xué)習(xí)筆記

    方法1.通過狀態(tài)機(jī)來實(shí)現(xiàn),通過verilog控制FPGA,讓它該快的時(shí)候快,該慢的時(shí)候慢。
    的頭像 發(fā)表于 11-02 09:48 ?948次閱讀
    Xilinx <b class='flag-5'>FPGA</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>

    FPGA學(xué)習(xí)筆記-入門

    大概10年前,大學(xué)同學(xué)建議我學(xué)習(xí)DSP。當(dāng)因?yàn)楣ぷ髅Γ仓皇呛唵?b class='flag-5'>學(xué)習(xí)了DSP的一些基礎(chǔ)知識(shí),沒有進(jìn)一步深入學(xué)習(xí)和時(shí)間。結(jié)果現(xiàn)在,好像DSP已經(jīng)不再是主流了,現(xiàn)在有了FPGA。 現(xiàn)在想想
    發(fā)表于 04-09 10:55

    FPGA學(xué)習(xí)筆記-關(guān)于FPGA資源

    FPGA學(xué)習(xí)。 在學(xué)習(xí)中才發(fā)現(xiàn),FPGA遠(yuǎn)不是門電路那么簡單。FPGA中有各種需要的資源,比如門電路、存儲(chǔ)單元、片內(nèi)RAM、嵌入式乘法器、
    發(fā)表于 05-22 18:27

    FPGA學(xué)習(xí)筆記-電源電壓

    通常FPGA中會(huì)有各種資源可以使用,而每種資源都需要有電源電壓支持。在單片機(jī)中,通常是使用同樣的電源電壓供電的,比如常見的5V、3.3V。而在FPGA中,一般需要:核心電壓、I/O口電壓、PLL電壓
    發(fā)表于 05-22 18:42

    FPGA學(xué)習(xí)筆記---FPGA的開發(fā)流程

    與通常的單片機(jī)應(yīng)用開發(fā)不同,FPGA有自己的開發(fā)流程。但具體上怎樣操作,作為初學(xué)者,沒有一點(diǎn)經(jīng)驗(yàn)。網(wǎng)站獎(jiǎng)勵(lì)的清華FPGA需要的開發(fā)軟件,到目前還沒有安裝成功。暫且先看看相關(guān)學(xué)習(xí),慢慢積累這方面的知識(shí)
    發(fā)表于 06-23 14:47

    FPGA學(xué)習(xí)筆記---基本語法

    Verilog語法是指硬件能夠?qū)崿F(xiàn)的語法。它的子集很小。常用的RTL語法結(jié)構(gòu)如下: 1、模塊聲明:module ... end module 2、端口聲明:input, output, inout 3、信號(hào)類型:wire, reg, tri等 4、參數(shù)定義:parameter 5、運(yùn)算操作符:各種邏輯操作符、移位操作符、算數(shù)操作符等 6、比較判斷:if ... else, case ... default ... endcase 7、連續(xù)賦值:assign, 問號(hào)表達(dá)式(?:) 8、always模塊:敏感表可以是電平、邊沿信號(hào) 9、begin...end(代碼塊?) 10、任務(wù)定義:task...endtask 11、循環(huán)語句:for 12、賦值符號(hào):=和<=(阻塞和非阻塞賦值) 硬件設(shè)計(jì)的精髓,力求用最簡單的語言描述最復(fù)雜的硬件,這也是硬件描述語言的本質(zhì)。對(duì)于做RTL級(jí)別的設(shè)計(jì)而言,掌握好上面這些語法很重要。
    發(fā)表于 06-23 14:58

    FPGA基礎(chǔ)學(xué)習(xí)筆記--組合邏輯電路-編碼器和譯碼器

    `FPGA基礎(chǔ)學(xué)習(xí)筆記--組合邏輯電路-編碼器和譯碼器編碼器4輸入2輸出編碼器代碼如下module encoder (input [3:0] iA,output reg [1:0] oQ
    發(fā)表于 02-20 15:36

    FPGA基礎(chǔ)學(xué)習(xí)筆記--組合邏輯電路-算術(shù)運(yùn)算電路

    `FPGA基礎(chǔ)學(xué)習(xí)筆記--組合邏輯電路-算術(shù)運(yùn)算電路+、-、*、/、%電路(1)加法電路:每1位大約消耗1個(gè)LE,示例代碼如下module arithmetic (input [7:0] iA
    發(fā)表于 02-23 16:45

    《高級(jí)FPGA設(shè)計(jì)》學(xué)習(xí)筆記:復(fù)位方案

    盡管復(fù)位方案極其重要,可是卻是最被忽視的部分之一,許多設(shè)計(jì)人員認(rèn)為FPGA的全局復(fù)位資源將會(huì)完全解決問題,這是完全不正確的。至于為何說復(fù)位的重要性極高,是因?yàn)閺?fù)位方案不好會(huì)引起不可重復(fù)的錯(cuò)誤,而不可
    發(fā)表于 12-05 17:09

    C.P FPGA學(xué)習(xí)筆記

    本帖最后由 普萊斯隊(duì)長 于 2016-4-21 18:58 編輯 共同學(xué)習(xí),資料部分來自于網(wǎng)絡(luò),再次感謝各位前輩的資料。筆記中也引用了部分資料。本代碼實(shí)現(xiàn)功能 接收到什么再發(fā)送出去什么
    發(fā)表于 05-10 20:28

    FPGA學(xué)習(xí)筆記匯總(7.13更新)

    又有好資料跟大家分享了,再次感謝樓主@oldbeginner {:4_114:}FPGA 學(xué)習(xí)筆記01 (LCD 1602,verilog)FPGA
    發(fā)表于 06-20 10:42

    INTEL FPGA學(xué)習(xí)筆記

    INTEL FPGA學(xué)習(xí)筆記第12節(jié):語法篇_Verilog基礎(chǔ)語法第13節(jié):語法篇_Verilog程序框架第14節(jié):語法篇_Verilog高級(jí)知識(shí)點(diǎn)第15節(jié):語法篇_Verilog狀態(tài)機(jī)第16節(jié)
    發(fā)表于 12-31 19:54 ?15次下載
    INTEL <b class='flag-5'>FPGA</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>

    Xilinx FPGA學(xué)習(xí)筆記:原語BUFIO的理解

    我一直沒搞明白BUFIO是干嘛用的。
    的頭像 發(fā)表于 05-08 15:20 ?3179次閱讀
    Xilinx <b class='flag-5'>FPGA</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>:原語BUFIO的理解

    FPGA學(xué)習(xí)筆記:ROM IP核的使用方法

    ,一旦寫入不能再修改或刪除,斷電不丟失。我們知道FPGA只有RAM,因此事實(shí)上在 FPGA 中通過 IP 核生成的 ROM 或 RAM掉電內(nèi)容都會(huì)丟失。用 IP 核生成的 ROM 模塊只是提前添加
    的頭像 發(fā)表于 08-22 15:06 ?5713次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>:ROM IP核的使用方法

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品
    主站蜘蛛池模板: 午夜视频啪啪 | 午夜爽爽 | 色在线免费观看 | 色www亚洲国产张柏芝 | 天天碰天天干 | 免费a网址 | 亚洲国产午夜精品理论片的软件 | 亚洲你懂得 | www亚洲一区 | 亚洲成a人片在线观看中 | 77米奇| 亚洲欧美在线一区二区 | 啊用力太猛了啊好深视频免费 | 欧美性xxxxbbbb | www.你懂的.com | 天堂网www | 午夜男人的天堂 | 男人的午夜影院 | 欧美xxxxxxxxx| 欧美人与动性行为网站免费 | 五月伊人婷婷 | 国产黄色网 | 高颜值大长腿美女啪啪 | 国产免费一区二区三区在线 | 亚洲欧美视频一区二区 | 国产美女视频爽爽爽 | 精品精品国产理论在线观看 | 国产资源在线免费观看 | 风流护士 | 俄罗斯小屁孩cao大人免费 | 黄色日本视频 | 欧美亚洲啪啪 | 欧美日一区二区三区 | xxxx日本老师hd | 亚洲日本免费 | 91国在线啪精品一区 | h视频在线观看免费网站 | 亚洲黄色网址 | 青青青久97在线观看香蕉 | 播五月综合 | 亚洲视频一二三 |