精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA片內的工作頻率該如何提高?

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-10-30 12:31 ? 次閱讀

對于設計者來說,當然希望我們設計的電路的工作頻率(在這里如無特別說明,工作頻率指 FPGA 片內的工作頻率)盡量高。我們也經常聽說用資源換速度,用流水的方式可以提高工作頻率,這確實是一個很重要的方法,今天我想進一步去分析該如何提高電路的工作頻率。

我們先來分析下是什么影響了電路的工作頻率。

我們電路的工作頻率主要與寄存器到寄存器之間的信號傳播時延及 clock skew 有關。在 FPGA 內部如果時鐘走長線的話,clock skew 很小,基本上可以忽略, 在這里為了簡單起見,我們只考慮信號的傳播時延的因素。信號的傳播時延包括寄存器的開關時延、走線時延、經過組合邏輯的時延(這樣劃分或許不是很準確,不過對分析問題來說應該是沒有可以的),要提高電路的工作頻率,我們就要在這三個時延中做文章,使其盡可能的小。

我們先來看開關時延,這個時延是由器件物理特性決定的,我們沒有辦法去改變,所以我們只能通過改變走線方式和減少組合邏輯的方法來提高工作頻率。

1. 通過改變走線的方式減少時延。


我們通過給綜合器加適當的約束(不可貪心,一般以加 5%裕量較為合適,比如電路工作在 100Mhz,則加約束加到 105Mhz 就可以了,貪心效果反而不好,且極大增加綜合時間)可以將相關的邏輯在布線時盡量布的靠近一點,從而減少走線的時延。(注:約束的實現不完全是通過改進布局布線方式去提高工作頻率,還有其它的改進措施)

2. 通過減少組合邏輯的減少時延。


我們知道,目前大部分 FPGA 都基于 4 輸入 LUT 的,如果一個輸出對應的判斷條件大于四輸入的話就要由多個 LUT 級聯才能完成,這樣就引入一級組合邏輯時延,我們要減少組合邏輯,無非就是要輸入條件盡可能的少,這樣就可以級聯的 LUT 更少,從而減少了組合邏輯引起的時延。

我們平時聽說的流水就是一種通過切割大的組合邏輯(在其中插入一級或多級 D 觸發器,從而使寄存器與寄存器之間的組合邏輯減少)來提高工作頻率的方法。比如一個 32 位的計數器,該計數器的進位鏈很長,必然會降低工作頻率,我們可以將其分割成 4 位和 8 位的計數,每當 4 位的計數器計到 15 后觸發一次 8 位的計數器,這樣就實現了計數器的切割,也提高了工作頻率。

在狀態機中,一般也要將大的計數器移到狀態機外,因為計數器這東西一般是經常是大于 4 輸入的,如果再和其它條件一起做為狀態的跳變判據的話,必然會增加 LUT 的級聯,從而增大組合邏輯。以一個 6 輸入的計數器為例,我們原希望當計數器計到 111100 后狀態跳變,現在我們將計數器放到狀態機外,當計數器計到 111011 后產生個 enable 信號去觸發狀態跳變,這樣就將組合邏輯減少了。

上面說的都是可以通過流水的方式切割組合邏輯的情況,但是有些情況下我們是很難去切割組合邏輯的,在這些情況下我們又該怎么做呢?

狀態機就是這么一個例子,我們不能通過往狀態譯碼組合邏輯中加入流水。如果我們的設計中有一個幾十個狀態的狀態機,它的狀態譯碼邏輯將非常之巨大,毫無疑問,這極有可能是設計中的關鍵路徑。那我們該怎么做呢?還是老思路,減少組合邏輯。我們可以對狀態的輸出進行分析,對它們進行重新分類,并根據這個重新定義成一組組小狀態機,通過對輸入進行選擇(case 語句)并去觸發相應的小狀態機,從而實現了將大的狀態機切割成小的狀態機。在 ATA6 的規范中(硬盤的標準),輸入的命令大概有 20 十種,每一個命令又對應很多種狀態,如果用一個大的狀態機(狀態套狀態)去做那是不可想象的,我們可以通過 case 語句去對命令進行譯碼,并觸發相應的狀態機,這樣做下來這一個模塊的頻率就可以跑得比較高了。

提高 FPGA 工作頻率的本質,就是要減少寄存器到寄存器的時延,最有效的方法就是避免出現大的組合邏輯,也就是要盡量去滿足四輸入的條件,減少 LUT 級聯的數量。我們可以通過加約束、流水、切割狀態的方法提高工作頻率。

FPGA 設計需要多大容量的芯片,設計需要跑多快?這是經常困擾工程師的兩大問題。對于前者,我們還可以選用一個較大的芯片實現原型,待原型完成再選用大小合適的芯片;對于后者,通常我們需要預先有一個較精確的預估,就像我們的設計能跑 50M、100M 還是 150M。

除此以外,在使用 EDA 工具設計時,軟件是否穩定也是我們需要考慮的問題。比如:

1、500M 的芯片,跑不了 50M 的邏輯,EDA 工具都出現哪些設計問題?


2、為什么只是做了簡單的邏輯,最終卻導致布線擁堵?


3、使用在線邏輯分析儀,經常抓取不到自己想要的信號?

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21665

    瀏覽量

    601815
收藏 人收藏

    評論

    相關推薦

    配置和優化DAC348x的PLL

    電子發燒友網站提供《配置和優化DAC348x的PLL.pdf》資料免費下載
    發表于 10-18 10:36 ?0次下載
    配置和優化DAC348x的<b class='flag-5'>片</b><b class='flag-5'>內</b>PLL

    冷光驅動器最佳頻率是多少

    冷光驅動器的最佳頻率并不是一個固定的值,而是取決于多個因素,包括冷光的具體類型、所需的亮度、工作電壓、環境條件(如溫度和濕度)以及設備的整體設計等。以下是對冷光
    的頭像 發表于 09-24 11:23 ?223次閱讀

    FPGA頻率測量的方法有哪些?

    FPGA在實際應用中,頻率測量不可或缺,對于高頻及低頻信號的頻率測量,FPGA有哪些方法呢?提供Verilog源碼會更好。
    發表于 06-19 14:55

    珠海鏨芯實現28納米FPGA

    近日,珠海鏨芯半導體有限公司在其官方微博上宣布,已成功實現28納米流。此次流成功的CERES-1 FPGA芯片,不僅對標國際主流28納米FPGA架構,還實現了管腳和比特流的完全兼容
    的頭像 發表于 06-03 11:11 ?769次閱讀

    使用FPGA搭建的電路,其工作頻率如何設置

    如題,使用FPGA搭建的電路,其工作頻率如何設置。是受制于晶振嗎?
    發表于 05-12 21:15

    基于FPGA設計頻率計方案介紹分享

    系統提高系統集成度、可靠性的最佳選擇之一。 FPGA是由存放在RAM中的程序來設置其工作狀態的,因此,
    發表于 03-31 16:22

    FPGAPLL電磁抗擾度的熱應力效應研究與測試分析

    PLL設計是IC設計中的一個重要環節,在無線通信、高頻通信和數字通信等領域PLL的使用占據重要地位。本文以Cyclone IV系列EP4CE15F17C8N型FPGA為研究對象,其包含四個通用的PLL,分別位于芯片的四個邊角
    發表于 03-20 10:30 ?366次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>片</b><b class='flag-5'>內</b>PLL電磁抗擾度的熱應力效應研究與測試分析

    fpga芯片工作原理 fpga芯片有哪些型號

    FPGA芯片的工作原理主要基于其內部的可配置邏輯單元和連線資源。包括以下工作原理: 首先,FPGA內部包含可配置邏輯模塊(CLB)、輸出輸入模塊(IOB)和內部連線(Interconn
    的頭像 發表于 03-14 17:17 ?1374次閱讀

    電阻應變工作原理 電阻應變的作用

    電阻應變工作原理 電阻應變的作用 電阻應變是一種常見的應變測量元件,可以用于測量物體的應變變化。它工作的原理是基于電阻材料在受力或應
    的頭像 發表于 02-02 17:06 ?3342次閱讀

    簡談FPGA內資源

    簡談FPGA內資源
    發表于 01-08 22:12

    如何提高AD7747的更新頻率

    資料上寫的是最大45HZ,有沒有辦法提高更新頻率,比如降低精度。
    發表于 01-01 06:10

    IC的間非均勻性是什么?有什么作用呢?

    IC的間非均勻性是什么?有什么作用呢? IC的間非均勻性是指在IC設計和制造的過
    的頭像 發表于 12-19 11:48 ?517次閱讀

    間非均勻性是什么?有什么作用呢?

    間非均勻性是什么?有什么作用呢? 間非均勻性是指光學元件(如透鏡)表面上的厚度/
    的頭像 發表于 12-19 11:48 ?610次閱讀

    AT89S52單片機串行口的工作原理

    電子發燒友網站提供《AT89S52單片機串行口的工作原理.ppt》資料免費下載
    發表于 12-15 09:07 ?0次下載

    如何正確配置AD9957RAM?

    各位專家: 我用AD9957做信號生成,目前單頻模式工作正常。但是QDUC模式下,用RAM回放波形始終無法調通。 按照本論壇以前的帖子,先把9957按照默認模式初始化,寫好兩個RAM段地址
    發表于 12-13 06:51