一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

FPGA常用運(yùn)算模塊-加減法器和乘法器

CHANBAEK ? 來源:FPGA and ICer ? 作者: Vuko ? 2023-05-22 16:13 ? 次閱讀

寫在前面

本文是本系列的第二篇,本文主要介紹FPGA常用運(yùn)算模塊-加減法器和乘法器,xilinx提供了相關(guān)的IP以便于用戶進(jìn)行開發(fā)使用。

加減法器模塊

在xilinx中,有一個IP模塊提供加減法運(yùn)算的功能,

wKgZomRrI7mASIKlAAAs5y7cSeM977.jpg

概述

加法器/減法器IP 提供 LUT 和單個 DSP slice 實現(xiàn)加減法實現(xiàn)。加法器/減法器模塊可以創(chuàng)建加法器(A+B)、減法器(A–B) 和可動態(tài)配置的加法器/減法器,用于操作有符號或無符號數(shù)據(jù)。該功能可以在一個單個 DSP slice 或 LUT(但目前不是兩者的混合)。該模塊可以流水線化。支持fabric實現(xiàn)輸入范圍從1到256位寬,該IP核支持DSP片實現(xiàn),輸入高達(dá)58位??蛇x進(jìn)位輸入和輸出、時鐘啟用和同步清除、旁路(負(fù)載)能力、設(shè)置B值為一個常量。

IP核圖示以及端口介紹

wKgaomRrI7mAfhImAACQ7ibp6Ao801.jpg

Name Direction Description
A[N:0] Input 輸入端口A,位寬為N+1
B[M:0] Input 輸入端口B,位寬為M+1
ADD Input 控制加法器/減法器執(zhí)行的操作(1=加法,0=減法)
C_IN Input 進(jìn)位輸入
C_OUT Output 進(jìn)位輸出
S[P:0] Output 結(jié)果輸出
BYPASS Input 旁路控制,將B輸出給S
CE Input 時鐘使能,高有效
CLK Input 時鐘信號,上升沿有效
SCLR Input 同步復(fù)位,將重置核心中的所有寄存器,定制內(nèi)核時可以選擇SCLR和CE引腳的優(yōu)先級
SINIT Input Synchronous Initialization - forces outputs to a user defined state when driven High
SSET Input Synchronous Set - forces outputs to a High state when driven High

如果Constant Input = TRUE and Bypass = FALSE,則B端口不存在。一個用戶定義的核心內(nèi)部常量被應(yīng)用到B操作數(shù)的位置。

輸出位寬設(shè)計

wKgZomRrI7mAZOPXAAJjlk9a_-c337.jpg

Q的值等于AB輸入兩者之間的最大值。

流水線操作

加法器/減法器模塊可以選擇流水線操作用來提高速度。 流水線操作由延遲參數(shù)控制。 將延遲配置設(shè)置為自動,以實現(xiàn)最優(yōu)的流水線速度。 將延遲配置設(shè)置為手動,以允許在延遲參數(shù)中輸入有效數(shù)量的流水線層級數(shù)。

DSP片

對于DSP片的實現(xiàn)方式,單個的DSP片可以用0、1或2級寄存器進(jìn)行流水線操作。 Latency Configuration = Automatic ,此時優(yōu)化速度延遲獲得最優(yōu)的流水操作速度; 如果Latency = 1, 只有輸出寄存器存在。 Latency = 2,輸出和輸入寄存器都存在。

Fabric 實現(xiàn)

對于使用PFGA的邏輯資源的實現(xiàn)方式,流水線操作是通過將輸入總線 分成許多總線片(等于流水線階段的數(shù)量)來實現(xiàn)的。 在第一階段,對每個總線片做盡可能多的工作,將它們加在一起,并存儲結(jié)果和每個結(jié)果的進(jìn)位輸出。 在第二階段,從最低有效位的部分得到的進(jìn)位被輸入到下一個較高有效位的結(jié)果中,它產(chǎn)生一個進(jìn)位被輸入到下一個階段的下一個結(jié)果中,直到進(jìn)位被傳播到頂部。

因為需要存儲的數(shù)據(jù)較少,所以這比存儲每個切片的輸入直到生成該切片的進(jìn)位的更直觀的技術(shù)更有效。 此外,該設(shè)計更小且更易于布線。

上電或復(fù)位后,流水線模塊需要幾個時鐘周期才使輸出變?yōu)橛行В裳舆t控制參數(shù)指定。

如果在流水線模塊上請求旁路,則旁路值會在延遲控制指定的時鐘周期數(shù)之后出現(xiàn)在輸出上。 如果同時請求旁路和時鐘使能,則必須設(shè)置旁路優(yōu)先級,以便旁路不會覆蓋時鐘使能。 對于流水線模塊,資源使用率大約是非流水線模塊的延遲倍數(shù)。 為了提高時鐘速度,流水線導(dǎo)致面積使用量的顯著增加。 如果需要延遲但面積比速度更重要,請在此模塊的 S 輸出中添加一個基于 SRL16 的移位寄存器,以優(yōu)化面積使用。

加法器IP配置

加法器IP配置如圖所示,

wKgaomRrI7mAejSmAABnbndMg9o005.jpg

在basic界面,可以對IP的實現(xiàn)方式,輸入的數(shù)據(jù)類型,位寬,IP的方式(加法器、減法器、加減法器)、流水操作延遲方式和延時周期,常數(shù)輸入進(jìn)行配置。

Constant Input and Constant Value :當(dāng)常量輸入為 TRUE 時,端口 B 設(shè)置為參數(shù) Constant Value 指定的值。 常數(shù)值必須是以二進(jìn)制格式輸入且不得超過 B 輸入寬度。 在大多數(shù)情況下指定端口 B 是一個常量時候,會自動創(chuàng)建一個沒有端口 B 的模塊。 但是在當(dāng)請求旁路功能時,因為需要端口 B 來提供旁路數(shù)據(jù)。 默認(rèn)是端口 B 提供的端口 B 值。 會生成B端口。

加減法器的控制配置界面如下,

wKgZomRrI7mAHunMAACTn_zV-yI148.jpg

在控制界面可以配置加減法器進(jìn)位、旁路、復(fù)位等控制操作。

Carry In :設(shè)置為TRUE時,創(chuàng)建一個C_IN端口。 這是用于加法器的高電平有效進(jìn)位端口和用于減法器和加/減法器的可編程(高電平有效/低電平有效,帶借入/輸出檢測)進(jìn)位端口。

Carry Out :當(dāng)設(shè)置為TRUE時,創(chuàng)建一個端口C_OUT。 實現(xiàn)了加法器和加減法器的高有效同步進(jìn)位,以及可編程(設(shè)置高低有效,借入/借出檢測)的減法器和加減法器中的減法器的借位標(biāo)志。

Bypass :設(shè)置為 TRUE 時,創(chuàng)建旁路引腳。 激活 BYPASS 引腳設(shè)置輸出為端口 B 上給定的值。 此功能用于創(chuàng)建可加載的計數(shù)器和累加器。

Bypass and Clock Enable (CE) Priority :該參數(shù)控制是否旁路輸入由時鐘使能限定。 當(dāng)設(shè)置為Bypass_Overrides_CE時,BYPASS 信號的激活也使能寄存器。 當(dāng)設(shè)置為CE_Overrides_Bypass,寄存器必須有 CE 激活才能加載 B 端口數(shù)據(jù)。

Bypass Sense :控制旁路的敏感電平,是高有效還是低有效,因為高低電平有效在有些時候都能獲得更好的效率。

Borrow In/Out Sense :當(dāng)設(shè)置為Active_Low時,用于減法的C_IN和C_OUT引腳是低有效的。 這符合fabric實現(xiàn)規(guī)則,是一個最佳設(shè)置。

Synchronous Set :指定是否包含 SSET 引腳。 在DSP實現(xiàn)模式下,SSET 引腳無效。

Synchronous Init :指定是否包含一個SINIT引腳,當(dāng)斷言時,該引腳同步地將輸出值設(shè)置為Init value定義的值。 如果SINIT存在,那么SSET和SCLR都不存在。 在DSP實現(xiàn)模式下,SINIT引腳是無效的。

Init Value :十六進(jìn)制指定當(dāng)斷言SINIT時輸出初始化為指定的值。 如果Synchronous Init = false 則忽略。

Power on Reset Init Value :指定(十六進(jìn)制)S寄存器在上電復(fù)位時初始化的值。

Synchronous Controls and Clock Enable (CE) Priority : 該參數(shù)控制SCLR(以及邏輯單元模式下的SSET和SINIT)輸入是否由時鐘使能限定。 當(dāng)設(shè)置為 Sync_Overrides_CE 時,同步控制覆蓋 CE 信號。 當(dāng)設(shè)置為 CE_Overrides_Sync 時,控制信號僅在 CE 為高時有效。 請注意,在結(jié)構(gòu)原語上,SCLR 和 SSET 控制覆蓋 CE,因此選擇 CE_Overrides_Sync 通常會導(dǎo)致額外的邏輯。

Sync Set and Clear (Reset) Priority :控制 SCLR 和 SSET 的相對優(yōu)先級。 當(dāng)設(shè)置為 Reset_Overrides_Set 時,SCLR 會覆蓋 SSET。 默認(rèn)值是Reset_Overrides_Set,因為這是原語的排列方式。 使 SSET 優(yōu)先需要額外的邏輯。

乘法器

乘法器IP實現(xiàn)高性能、優(yōu)化的乘法器方案。 可以使用資源和性能權(quán)衡選項來為特定的應(yīng)用程序定制IP。 該IP支持輸入范圍從1到64位,輸出從1到128位。 所有乘法器都可配置延遲。 當(dāng)使用DSP Slice時,支持對稱四舍五入到無限。

概述

乘法器IP允許設(shè)計者精細(xì)地構(gòu)建定點乘法器。 可以使用 DSP Slices、Slice 邏輯或組合的方式進(jìn)行構(gòu)建乘法器IP,并且針對性能或資源進(jìn)行了優(yōu)化的結(jié)構(gòu)。 常數(shù)系數(shù)乘法器也可以使用許多不同的邏輯資源選項來實現(xiàn)。 并且可以通過流水線操作層級數(shù)量以適應(yīng)延遲和性能要求。 DSP Slice的對稱舍入特性可用于并行乘法器。

IP核圖示以及端口介紹

wKgZomRrI7mAO3wxAAAtmmDJhV4861.jpg


Signal Direction Description
A[N-1:0] Input 乘數(shù)A,位寬為N
B[M-1:0] Input 乘數(shù)B,位寬為M,只有在parallel multipliers模式下有該端口。
CLK Input 時鐘信號
CE Input 高有效時鐘使能信號
SCLR Input 高有效同步復(fù)位信號,(SCLR/CE 優(yōu)先級可以配置)
P[X:Y] Output 乘法輸出

乘法器IP配置

乘法器IP的basic配置界面如下:

wKgaomRrI7mAb9TSAABn0sHVSqE035.jpg

在該界面可以進(jìn)行配置乘法器的類型,乘數(shù)的數(shù)據(jù)類型,位寬,乘法器的實現(xiàn)方式以及優(yōu)化方式。

Multiplier Type :在并行和常數(shù)系數(shù)乘法器選項之間進(jìn)行選擇。

并行乘法器選項:這些選項只有當(dāng)選擇的乘法器類型是并行乘法器時才可見。

Multiplier Construction :選擇用于IP實現(xiàn)的結(jié)構(gòu)是LUT還是專用乘法器原語。

優(yōu)化選項 :

DSP48E1 Slice:可以為高達(dá) 47x47 的乘法器大小選擇速度或面積優(yōu)化。 速度優(yōu)化 :充分利用乘法器原語來提供最高性能的實現(xiàn)。 面積優(yōu)化 :混合使用切片邏輯和專用乘法器原語來降低基于 DSP 切片的乘法器利用率,同時仍提供合理的性能。 對于 47x47 以上的尺寸,只允許優(yōu)化速度。

LUT-based multipliers : 區(qū)域優(yōu)化降低了延遲和LUT利用率,以可實現(xiàn)的時鐘頻率為代價。 當(dāng)兩個輸入操作數(shù)都是無符號且兩個輸入操作數(shù)都小于16位時,區(qū)域優(yōu)化是最有效的。

Constant-Coefficient Multiplier Options :這些選項只有當(dāng)選擇的乘數(shù)類型是常數(shù)系數(shù)乘法器時才可見。

Coefficient :在顯示的范圍內(nèi)輸入系數(shù)的整數(shù)值。 支持正系數(shù)和負(fù)系數(shù)。 常量 (B) 端口的輸入類型(有符號或無符號)由 Vivado IDE 根據(jù)輸入的整數(shù)常量自動配置。 可以選擇 A 端口是有符號的還是無符號的。

Memory Options : 選擇乘法器是使用分布式內(nèi)存、塊內(nèi)存還是使用 DSP Slices 來實現(xiàn)。

乘法器IP的輸出控制配置界面如下:

Output Product Range: 根據(jù)輸入操作數(shù)的寬度自動配置輸出產(chǎn)品寬度。

Use Custom Output Width :如果通過設(shè)置 MSB 和 LSB 范圍,對輸出進(jìn)行切片。

Use Symmetric Rounding :對于基于 DSP Slice 的并行乘法器,如果需要,可以將乘積對稱舍入到無窮大。這與MATLAB的 round 函數(shù)的行為相同。

流水線和控制信號:

流水線階段

為乘數(shù)實例選擇流水線操作的層級。右邊的標(biāo)簽提供了關(guān)于實現(xiàn)最佳性能的流水操作的最佳數(shù)量的反饋。

wKgZomRrI7mAZNUCAAA002mi3aQ499.jpg

Pipeline Stages = 0 意味著IP是組合的。

Pipeline Stages = 1 意味著IP的輸出是寄存器型的。

Pipeline Stages > 1 使寄存器插入到輸入和輸出之間,直到最優(yōu)的流水線操作的層級。添加更多寄存器可以提高可實現(xiàn)的時鐘速度,同時增加延遲。

流水線操作的層級設(shè)置的值大于最優(yōu)值的值,將導(dǎo)致在輸出時添加基于SRL16的移位寄存器,以實現(xiàn)額外的延遲。

Clock Enable :選擇設(shè)計中的所有寄存器是否都具有時鐘使能控制。

Synchronous Clear :選擇是否該設(shè)計中的所有寄存器都具有同步復(fù)位控制。

SCLR/CE Priority :當(dāng)SCLR和CE引腳同時存在時,可以選擇scr和CE的優(yōu)先級。選擇 SCLR overrides CE ,使用的資源最少,實現(xiàn)的性能最好。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    555

    文章

    8123

    瀏覽量

    354275
  • FPGA
    +關(guān)注

    關(guān)注

    1642

    文章

    21920

    瀏覽量

    612162
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2179

    瀏覽量

    123931
  • 乘法器
    +關(guān)注

    關(guān)注

    9

    文章

    211

    瀏覽量

    37689
  • 減法器
    +關(guān)注

    關(guān)注

    1

    文章

    26

    瀏覽量

    16986
收藏 人收藏

    評論

    相關(guān)推薦

    數(shù)字電路中加法器減法器邏輯圖分析

    多位二進(jìn)制減法器,是由加法電路構(gòu)成的;在加法電路的基礎(chǔ)上,減法與加法采用同一套電路,實現(xiàn)加減法共用。
    發(fā)表于 09-01 16:02 ?2.4w次閱讀
    數(shù)字電路中加<b class='flag-5'>法器</b>和<b class='flag-5'>減法器</b>邏輯圖分析

    減法器電路與原理 減法器電路圖分享

    減法器是一種電路,它可以實現(xiàn)二進(jìn)制數(shù)字的減法運(yùn)算減法器的工作原理基于位運(yùn)算和進(jìn)位/借位機(jī)制。
    的頭像 發(fā)表于 02-19 09:36 ?9759次閱讀
    <b class='flag-5'>減法器</b>電路與原理 <b class='flag-5'>減法器</b>電路圖分享

    如何設(shè)計一個16比特的減法器呢?

    減法電路是基本集成運(yùn)放電路的一種,算術(shù)運(yùn)算電路主要包括數(shù)字**加法器電路、數(shù)字減法器電路、數(shù)字乘法器電路和數(shù)字除
    的頭像 發(fā)表于 02-19 10:00 ?1155次閱讀
    如何設(shè)計一個16比特的<b class='flag-5'>減法器</b>呢?

    減法器設(shè)計異常

    如圖用op07做的減法器,不管正向輸入端和反向輸入端如何輸入,輸出都不滿足減法器的理論值,求大神指導(dǎo)下謝謝?。?!
    發(fā)表于 02-14 15:09

    怎么設(shè)計基于FPGA的WALLACETREE乘法器?

    在數(shù)字信號處理中,乘法器是整個硬件電路時序的關(guān)鍵路徑。速度和面積的優(yōu)化是乘法器設(shè)計過程的兩個主要考慮因素。由于現(xiàn)代可編程邏輯芯片FPGA的集成度越來越高,及其相對于ASIC設(shè)計難度較低和產(chǎn)品設(shè)計
    發(fā)表于 09-03 07:16

    乘法器對數(shù)運(yùn)算電路應(yīng)用

    乘法器對數(shù)運(yùn)算電路應(yīng)用 由對數(shù)電路實現(xiàn)乘法運(yùn)算的數(shù)學(xué)原理是:UO=EXP(INU11+INU12)=U11+U12 圖5.4-19示出了滿足上式的
    發(fā)表于 04-24 16:03 ?2666次閱讀
    <b class='flag-5'>乘法器</b>對數(shù)<b class='flag-5'>運(yùn)算</b>電路應(yīng)用

    乘法器的基本概念

    乘法器的基本概念 乘法器是一種完成兩個互不相關(guān)的模擬信號相乘作用的電子器件。理想乘法器的輸出特性方程可由下式表示: UO
    發(fā)表于 05-18 14:03 ?1.5w次閱讀
    <b class='flag-5'>乘法器</b>的基本概念

    乘法器在模擬運(yùn)算電路中的應(yīng)用

    乘法器在模擬運(yùn)算電路中的應(yīng)用 相乘運(yùn)算
    發(fā)表于 05-18 16:48 ?2051次閱讀

    帶輸入緩沖的減法器電路

    帶輸入緩沖的減法器電路
    發(fā)表于 09-04 21:32 ?3056次閱讀
    帶輸入緩沖的<b class='flag-5'>減法器</b>電路

    基于IP核的乘法器設(shè)計

    實驗?zāi)康?1、熟悉Xilinx的ISE 軟件的使用和設(shè)計流程; 2、掌握Modelsim仿真軟件的使用方法; 3、用乘法運(yùn)算符實現(xiàn)一個16*16 乘法器模塊; 4、用IP核實現(xiàn)一個16
    發(fā)表于 05-20 17:00 ?68次下載
    基于IP核的<b class='flag-5'>乘法器</b>設(shè)計

    8位加法器減法器設(shè)計實習(xí)報告

    8位加法器減法器設(shè)計實習(xí)報告
    發(fā)表于 09-04 14:53 ?134次下載

    進(jìn)位保留Barrett模乘法器設(shè)計

    乘法器,求模運(yùn)算部分利用Barrett約減運(yùn)算,用硬件描述語言進(jìn)行FPGA設(shè)計與實現(xiàn),避免了除法運(yùn)算。對于192位的操作數(shù),完成Barret
    發(fā)表于 11-08 15:18 ?32次下載
    進(jìn)位保留Barrett模<b class='flag-5'>乘法器</b>設(shè)計

    乘法器原理_乘法器的作用

    乘法器(multiplier)是一種完成兩個互不相關(guān)的模擬信號相乘作用的電子器件。它可以將兩個二進(jìn)制數(shù)相乘,它是由更基本的加法器組成的。乘法器可以通過使用一系列計算機(jī)算數(shù)技術(shù)來實現(xiàn)。乘法器
    發(fā)表于 02-18 15:08 ?2.7w次閱讀
    <b class='flag-5'>乘法器</b>原理_<b class='flag-5'>乘法器</b>的作用

    基于OP07的減法器設(shè)計

    基于OP07的減法器設(shè)計
    發(fā)表于 05-15 09:17 ?13次下載

    FPGA常用運(yùn)算模塊-復(fù)數(shù)乘法器

    本文是本系列的第五篇,本文主要介紹FPGA常用運(yùn)算模塊-復(fù)數(shù)乘法器,xilinx提供了相關(guān)的IP以便于用戶進(jìn)行開發(fā)使用。
    的頭像 發(fā)表于 05-22 16:23 ?3157次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>常用</b><b class='flag-5'>運(yùn)算</b><b class='flag-5'>模塊</b>-復(fù)數(shù)<b class='flag-5'>乘法器</b>