色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

RAM-Based Shift Register Xilinx IP核的使用

FPGA設計論壇 ? 來源:GitCode 開源社區 ? 2025-01-21 15:42 ? 次閱讀

一般來講,如果要實現移位寄存器的話,通常都是寫RTL用reg來構造,比如1bit變量移位一個時鐘周期就用1個reg,也就是一個寄存器FF資源,而移位16個時鐘周期就需要16個FF,這種方法無疑非常浪費資源。

Xilinx FPGA的SLICEM中的一個查找表LUT可以配置為最多移位32個時鐘周期的移位寄存器,這比直接用FF來搭省了31個FF資源。

這種方法可以通過調用原語SRL16E(最多16個周期)和SRLC32E(最多32個周期)來實現。

   SRL16E #(
      .INIT(16'h0000),        // Initial contents of shift register
      .IS_CLK_INVERTED(1'b0)  // Optional inversion for CLK
   )
   SRL16E_inst (
      .Q(Q),     // 1-bit output: SRL Data
      .CE(CE),   // 1-bit input: Clock enable
      .CLK(CLK), // 1-bit input: Clock
      .D(D),     // 1-bit input: SRL Data
      // Depth Selection inputs: A0-A3 select SRL depth
      .A0(A0),
      .A1(A1),
      .A2(A2),
      .A3(A3) 
   );

   // End of SRL16E_inst instantiation


// SRLC32E: 32-bit variable length cascadable shift register LUT (Mapped to a SliceM LUT6)
// with clock enable
 
SRLC32E #(
.INIT(32'h00000000) // Initial Value of Shift Register
) SRLC32E_inst (
    .Q(Q), // SRL data output
.Q31(Q31), // SRL cascade output pin
.A(A), // 5-bit shift depth select input
.CE(CE), // Clock enable input
.CLK(CLK), // Clock input
.D(D) // SRL data input
);
 
// End of SRLC32E_inst instantiation

如果需要實現更多時鐘周期的移位寄存器,則可以使用多個SRLC32E或者SRL16E來級聯實現。

IP核的定制

除了用原語實現外,還可以調用RAM-Based Shift Register這個IP核來實現。IP核實現方法使用不如原語方便,但是其對實現方式做了一些優化,具有比原語更好的時序性能。

第一頁內容

a9e98f6c-d7ca-11ef-9310-92fbcf53809c.png

Shift Register Type:fixed length為固定長度;variable length lossless為可變長度

optimization:只有選擇可變長度時才可選,可以選擇優化面積還是優化時序。如果優化時序,則可能會多幾個延遲latency。

clocking options:Register last bit只有選擇可變長度時才可選,會把輸出寄存一拍以改善時序,同時增加一個時鐘的延遲。clock enable(CE)時鐘使能功能。

dimensions:width移位寄存器寬度,depth移位寄存器深度。

latency information:延遲信息,根據各個選項的不同,輸出延遲可能會增加1~3個時鐘周期。

第二頁內容

a9fcaafc-d7ca-11ef-9310-92fbcf53809c.png

initialization options:初始化選項,選擇初始化的進制radix和默認值default data。

COE file:初始化的值還可以選擇從COE文件來載入。

第三頁

aa080e56-d7ca-11ef-9310-92fbcf53809c.png

power-on reset settings:上電復位設置選項,選擇上電復位的進制radix和初始值init data。

synchronous settings:同步設置,可以設置同步復位SCLR和同步置位SSET,二者的優先級可選,默認復位優先級高于置位,如果選擇置位優先級更高,則會消耗多余的資源。復位/置位與初始化SINT二者之間互斥。這三個選項一般都沒必要用。

synchronous controls(sync) and clock enable(CE) priority:選擇同步控制信號和CE信號的優先級。默認同步控制信號的優先級高于CE,反之則會消耗多余的資源。

IP核的仿真使用

定制一個深度為64,位寬為16的IP核,然后編寫RTL代碼:

//固定的深度64個時鐘周期,位寬16的移位寄存器IP核設計
module shift_w16_d64(
inputclk,//時鐘信號
input[15:0]in,//移位前的輸入數據,位寬為16
inputce,//時鐘使能信號
output[15:0]out//移位后的輸出,位寬為16
);

//移位寄存器IP;固定移位64個時鐘周期,位寬16
c_shift_ram_1 your_instance_name (
  .D(in),//移位前的輸入數據,位寬為16
  .CLK(clk),//時鐘信號
  .CE(ce),//時鐘使能信號
  .Q(out)//移位后的輸出,位寬為16
);

endmodule

綜合后的資源使用情況:32個LUT + 32個FF。

aa1bd292-d7ca-11ef-9310-92fbcf53809c.png

看下綜合后的電路圖:

aa34649c-d7ca-11ef-9310-92fbcf53809c.png

因為1個SRLC32E可以實現32個周期的移位,所以16×64的移位操作實際上只需要32個SRLC32E就可以實現了,為了改善時序性能,IP核在輸入端口和輸出端口一共用了2×16 = 32個FF來打拍寄存。

接下來編寫TB:時鐘使能信號一直拉高,輸入數據從1開始累加。

`timescale 1ns/1ns
module tb_shift_w16_d64();

//信號聲明
regclk;
regrst;
reg[15:0]in;
regce;
wire[15:0]out;

//被測模塊實例化
shift_w16_d64inst_shift_w16_d64(
.clk(clk),
.in(in),
.ce(ce),
.out(out)
);

//生成時鐘信號
initial begin
    clk= 1'b0;
forever #5 clk = ~clk;
end

//生成復位信號
initial begin
rst = 1'b1;//復位
    #45 rst = 1'b0; //取消復位
end 

//生成輸入數據與時鐘使能信號
always @(posedge clk or posedge rst)begin
if(rst)begin
in <= 16'd0;
ce <= 1'b0;
end
else begin 
in <= in + 1'b1;//輸入數據累加1
ce <= 1'b1;//時鐘使能信號一直拉高
end
end

//仿真過程
initial begin
#1000 $stop;//關閉仿真
end

endmodule

仿真結果如下:
aa5317d4-d7ca-11ef-9310-92fbcf53809c.png
aa6ab6fa-d7ca-11ef-9310-92fbcf53809c.png

原文鏈接:

https://gitcode.csdn.net/65e6e9d51a836825ed787cef.html

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

    關注

    31

    文章

    5362

    瀏覽量

    120900
  • Xilinx
    +關注

    關注

    71

    文章

    2170

    瀏覽量

    121875
  • IP核
    +關注

    關注

    4

    文章

    331

    瀏覽量

    49575

原文標題:RAM-Based Shift Register Xilinx IP核的使用

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    想要仿真下Quartus中的Shift RegisterRAM-based),但是modelsim仿...

    endmodulemodelsim-ase編譯正確,仿真時出錯# ** Error: (vsim-10000) F:/Quartus11.0_exercise/quartus_exercise/shift_reg_ram_based
    發表于 05-05 20:10

    移位寄存器Shift Register(RAM-based)的如何實現延時

    想請問大家,移位寄存器Shift Register(RAM-based)的如何實現延時,也看了一些關于IP的資料,可是還是不是很明白,看到
    發表于 11-13 17:19

    xilinx FPGA的FFT IP的調用

    有沒有大神可以提供xilinx FPGA的FFT IP的調用的verilog 的參考程序,最近在學習FFT的IP的使用,但是仿真結果有問
    發表于 12-25 17:05

    Xilinx系列FPGA芯片IP詳解

    `Xilinx系列FPGA芯片IP詳解(完整高清書簽版)`
    發表于 06-06 13:15

    RAMbased shift register如何設置

    我想實現串進并出的功能,怎么這個寄存器只有并進并出呢?這個并進并出是什么意思呢?跪求大牛們解答
    發表于 06-18 17:09

    RAMbased shift register如何設置

    這個移位寄存器怎么設置呢?這個并行輸入和并行輸出是什么意思呢?我并行輸入0001,那么也并行輸出0001嗎?想問一下這個寄存器的真值表,求大神解答
    發表于 06-24 12:50

    移位寄存器的輸出與時鐘不對齊

    to me. I am using a variable-length RAM-based shift register (.xco and .vhd files attached) which has
    發表于 01-14 07:15

    請問Altera RAM IP怎么使用?

    請問Altera RAM IP怎么使用?
    發表于 01-18 06:59

    Gowin RAM Based Shift Register IP用戶指南

    Gowin RAM Based Shift Register IP用戶指南主要內容包括功能特點、端口描述、時序說明、配置調用等。主要用于幫助
    發表于 10-08 06:53

    Gowin RAM Based Shift Register IP參考設計

    Gowin RAM Based Shift Register IP參考設計主要內容包括端口描述、配置調用、參考設計等。主要用于幫助用戶快速了
    發表于 10-08 07:40

    Gowin RAM Based Shift Register IP用戶指南及參考設計

    本次發布 Gowin RAM Based Shift Register IP 用戶指南及參考設計。Gowin
    發表于 10-08 06:08

    英創信息技術WinCE RAM-Based與Hive-Based注冊表介紹

    Windows Embedded CE嵌入式操作系統支持兩種不同的注冊表類型:RAM-based注冊表和Hive-based注冊表。 RAM-based注冊表將所有注冊表信息保存在對象存儲
    的頭像 發表于 02-03 09:14 ?1398次閱讀
    英創信息技術WinCE <b class='flag-5'>RAM-Based</b>與Hive-<b class='flag-5'>Based</b>注冊表介紹

    Gowin RAM Based Shift Register用戶指南

    電子發燒友網站提供《Gowin RAM Based Shift Register用戶指南.pdf》資料免費下載
    發表于 09-15 14:29 ?0次下載
    Gowin <b class='flag-5'>RAM</b> <b class='flag-5'>Based</b> <b class='flag-5'>Shift</b> <b class='flag-5'>Register</b>用戶指南

    Gowin RAM Based Shift Register參考設計

    電子發燒友網站提供《Gowin RAM Based Shift Register參考設計.pdf》資料免費下載
    發表于 09-15 14:28 ?1次下載
    Gowin <b class='flag-5'>RAM</b> <b class='flag-5'>Based</b> <b class='flag-5'>Shift</b> <b class='flag-5'>Register</b>參考設計

    如何申請xilinx IP的license

    在使用FPGA的時候,有些IP是需要申請后才能使用的,本文介紹如何申請xilinx IP的license。
    的頭像 發表于 10-25 16:48 ?450次閱讀
    如何申請<b class='flag-5'>xilinx</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>的license
    主站蜘蛛池模板: 国产成人在线视频播放| 国产激情视频在线| 国产午夜福利片| 受被攻做到腿发颤高h文| h片下载地址| 亚洲女初尝黑人巨磁链接| 亚洲精品欧美精品中文字幕| 超碰在线 视频| 热久久伊大人香蕉网老师| HEYZO精品无码一区二区三区| 欧美zzzoooxxx| 99热久久视频只有精品6国产| 麻豆成人久久精品二区三区网站| 伊人大香线蕉影院在线播放| 精品国产乱码久久久久久乱码| 亚洲黄色高清视频| 国语92电影网午夜福利| 亚洲视频精选| 被两根巨大同时进去高H| 欧美高清vivoesosexo10| 99久久中文字幕伊人情人 | 电影 qvod| 日韩少妇爆乳无码专区| 国产精品成人网| 亚洲国产黄色| 精品国内自产拍在线观看视频| 伊人久久青青草| 农民下乡在线观看3| 公主纯肉高H文| 亚洲欧美日韩国产另类电影| 久久在精品线影院| 99久久久精品免费观看国产| 青青青久久| 国产蜜臀AV在线一区视频| 野花香在线观看免费观看大全动漫 | 久久橹| 日本久久中文字幕精品| 古月娜下面好紧好爽| 亚洲精品国偷拍自产在线| 快播萝莉影院| 床伴在线观看免费高清完整泰剧第四集|