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

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

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

3天內不再提示

如何高效替換Soft IP中的標準cell

ruikundianzi ? 來源:IC的世界 ? 2023-11-09 10:07 ? 次閱讀

我們在購買soft IP的時候,vendor提供的是通用的verilog/system verilog的代碼,而在不同的項目中,我們采用的工藝不一樣,因此所需的memory 和同步cell不一樣。通用的soft IP是如何便捷的替換memory和標準std cell的呢?

case0:小規模的afifo/fifo和ram 會用寄存器搭建的方式實現

小規模的afifo/fifo和ram使用寄存器搭建,不需要替換。

不同IP對資源的敏感度不一樣,因此多大規模的fifo/ram能夠使用reg實現依賴于IP的類型和應用場景。例如在高速以太IP和PCIe中,8x16 的fifo就屬于小規模,如果例化次數比較少,使用寄存器搭建是可以接受的。

case1:大規模的ram 在外部實現,IP 會透露出讀寫接口

例如在IP的頂層io上會出現類似如下接口:

wclk/wr/wdata/waddr

rclk/rd/rdata/raddr

case2:底層2級/3級同步器手動替換

Soft IP 內部如果存在跨時鐘設計,通常會使用2級/3級同步器,soft ip如何沒有提供便捷的替換方式,則需要使用者手動替換,例如soft IP代碼多次調用2級同步器模塊soft_ip_synchronizer.v。

為了使用工藝匹配的2級同步器cell,需要新建一個soft_ip_synchronizer.v,在filelist中將路徑指向新建的soft_ip_synchronizer.v,新soft_ip_synchronizer.v接口與soft IP使用的接口保持一致,且在soft_ip_synchronizer.v中調用項目使用的base_ip_bit_sync.v, base_ip_bit_sync調用了制造工藝匹配的同步器cell。

新建的soft_ip_synchronizer.v

`include "soft_ip_constant_h.v"
//-----------------------------------------------------------------------------
// Block of two synchronisation flip-flops
module soft_ip_synchronizer
#(
parameter   FIELD_SIZE =    1              // Field Size in bits
) (
input  wire                  clk     ,
input  wire [FIELD_SIZE-1:0] data_in ,
output wire [FIELD_SIZE-1:0] data_out
);
base_ip_bit_sync #(
.DATA_WDTH ( FIELD_SIZE )
) u_data_bit_sync (
.i_dst_clk ( clk        ) ,
.i_din     ( data_in    ) ,
.o_dout    ( data_out   )
);
endmodule
Soft ip的soft_ip_synchronizer.v(被替換)
// Description:  Clock Domain Resynchronizer basic elements
`include "soft_ip_constant_h.v"
module soft_ip_synchronizer
#(
parameter   FIELD_SIZE =    1              // Field Size in bits
) (
input  wire                  clk     ,
input  wire [FIELD_SIZE-1:0] data_in ,
output reg  [FIELD_SIZE-1:0] data_out
);
reg  [FIELD_SIZE-1:0] data_in_r;
always @(posedge clk)
begin
data_in_r <= data_in   ;
data_out  <= data_in_r ;
end
endmodule
Case3:特殊cell通過define重新指定: Soft IP 內部如果存在clk gate模塊,clk mux,多級同步器等特殊定制的cell時,通常需要替換成工藝對應的cell,部分soft IP支持define方式指定cell 如下所示:

1:Soft IP所有的Verilog/system Verilog文件都調用了SOFT_IP.defines.v 在module之前`include "SOFT_IP.defines.v",見SOFT_IP_SPECIAL_SYNC2R.v文件,且在例化2級同步器時使用了調用define名稱SOFT_IP_SDFFYRPQ2D的方式: `SOFT_IP_SDFFYRPQ2D SYNC ( .CK(CK), .D(D), .R (R), .SI(1'b0), .SE(1'b0), .Q(Q) );

2:新建一個SOFT_IP.defines.v文件,通過define指定cell SOFT_IP.defines.v
// Uncomment to enable Tech Library Cells instantiations in
// the special function modules  (_SPECIAL).
`define SOFT_IP_USE_LIBRARY_CELLS


//Default Special Library Cells
`defineSOFT_IP_SDFFYRPQ2DSDFFYRPQ2D_**//Std cell名稱
SOFT_IP_SPECIAL_SYNC2R.v
`include "SOFT_IP.defines.v"
`timescale 1ns/10ps
module SOFT_IP_SPECIAL_SYNC2R
(
CK                               ,         // Synchronizing clock
R                                ,         // Input asynchronous reset signal - POSITIVE active
D                                ,         // Input asynchronous data signal
Q                                          // Synchronized output data signal
);


input              CK                  ;
input              R                   ;
input              D                   ;
output             Q                   ;


//-----------------------------------------------------------------------------
// Instantiation of the library synchronizer cell
//-----------------------------------------------------------------------------


`ifdef SOFT_IP_USE_LIBRARY_CELLS


`SOFT_IP_SDFFYRPQ2D  SYNC ( .CK(CK), .D(D), .R (R), .SI(1'b0), .SE(1'b0), .Q(Q) );


`endif


//-----------------------------------------------------------------------------
// RTL code for the synchronizer
//-----------------------------------------------------------------------------


`ifndef SOFT_IP_USE_LIBRARY_CELLS


reg SYNC1, SYNC2;


always @(posedge CK or posedge R ) if (R == 1'b1) SYNC1 <= 1'b0; else SYNC1 <= D    ;
always @(posedge CK or posedge R ) if (R == 1'b1) SYNC2 <= 1'b0; else SYNC2 <= SYNC1;


assign Q = SYNC2;


`endif


endmodule


//-----------------------------------------------------------------------------
// End of logic
//-----------------------------------------------------------------------------

審核編輯:湯梓紅

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

    關注

    31

    文章

    5425

    瀏覽量

    123512
  • 接口
    +關注

    關注

    33

    文章

    8961

    瀏覽量

    153275
  • Verilog
    +關注

    關注

    29

    文章

    1366

    瀏覽量

    111912
  • 時鐘
    +關注

    關注

    11

    文章

    1886

    瀏覽量

    132892

原文標題:如何高效替換Soft IP中的標準cell

文章出處:【微信號:IP與SoC設計,微信公眾號:IP與SoC設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    [原創]NEMA標準三相異步高效電機

    CSA認證。    NEMA標準高效三相異步高效電機為全封閉自扇冷卻式電機,防護等級為IP54。本系列電機采用B設計,F級絕緣,使用系數1.15
    發表于 09-16 14:30

    Matlab的cell數組的問題

    我把一串數存在cell(1,10)每個cell單元是一個3*2的矩陣我想把每個3*2的矩陣的第一行的兩個數取出來放到一個10*2的矩陣
    發表于 02-01 15:15

    Megwizard與Qsys PCIE IP的區別

    新手求助~1.Megwizard與Qsys中都有IP_Compiler for PCIE,請問兩者的區別是什么?2.Megwizardsoft ip for PCIE是免費的嗎?3
    發表于 07-27 11:05

    IP definition not found for VLNV: xilinx.com:ip:axi_vdma:6.2 ERROR: [Common 17-39] 'create_bd_cell' failed due to earlier errors.要如何解決呢

    : xilinx.com:ip:axi_vdma:6.2 ERROR: [Common 17-39] 'create_bd_cell' failed due to earlier errors. while
    發表于 10-06 22:22

    Small Cell是什么?Small Cell的核心技術包括哪些?

    Small Cell是什么?Small Cell的核心技術包括哪些?
    發表于 05-24 06:11

    cell 延遲計算基礎

    Delay Calculation Basic1)cell delay 和 interconnect delay2)僅考慮cell delay時,cell的delay由庫的模型,根據
    發表于 07-08 17:06

    什么是Cell

    什么是Cell  英文縮寫: Cell 中文譯名: 信元 分  類: 解  釋: 在異步轉移模式(ATM)傳送信息時,信息
    發表于 02-22 17:30 ?3905次閱讀

    什么是In-cell及On-cell

    In-cell及On-cell的概念、原理、難點及技術實現。
    發表于 02-06 11:18 ?1.5w次閱讀

    in-cell panel_In-Cell觸摸屏原理

    in-cell 將觸摸面板功能與液晶面板一體化。包括In-cell方法和On-cell方法。In-cell是指將觸摸面板功能嵌入到液晶像素
    發表于 09-06 17:13 ?4844次閱讀
    in-<b class='flag-5'>cell</b> panel_In-<b class='flag-5'>Cell</b>觸摸屏原理

    IP 數據表: 1.8V Standard Cell for TSMC 28nm HPC+

    IP 數據表: 1.8V Standard Cell for TSMC 28nm HPC+
    發表于 03-14 19:21 ?0次下載
    <b class='flag-5'>IP</b> 數據表: 1.8V Standard <b class='flag-5'>Cell</b> for TSMC 28nm HPC+

    IP 數據表: 3.0V Standard Cell for TSMC 40nm LP

    IP 數據表: 3.0V Standard Cell for TSMC 40nm LP
    發表于 03-14 19:22 ?3次下載
    <b class='flag-5'>IP</b> 數據表: 3.0V Standard <b class='flag-5'>Cell</b> for TSMC 40nm LP

    IP 數據表: 1.8V Standard Cell for TSMC 28nm HPC+

    IP 數據表: 1.8V Standard Cell for TSMC 28nm HPC+
    發表于 07-05 19:47 ?0次下載
    <b class='flag-5'>IP</b> 數據表: 1.8V Standard <b class='flag-5'>Cell</b> for TSMC 28nm HPC+

    IP 數據表: 3.0V Standard Cell for TSMC 40nm LP

    IP 數據表: 3.0V Standard Cell for TSMC 40nm LP
    發表于 07-05 19:47 ?0次下載
    <b class='flag-5'>IP</b> 數據表: 3.0V Standard <b class='flag-5'>Cell</b> for TSMC 40nm LP

    Standard cell是怎么應用到我們的后端設計的呢?

    Standard cell標準單元,或者簡稱cell,可以說是數字芯片后端最基本的概念之一了,甚至可能沒有接觸過后端的同學也有所耳聞?
    的頭像 發表于 12-04 11:44 ?1529次閱讀

    國產電壓基準源替換REF3025在工業電源管理應用替換方案

    國產電壓基準源替換REF3025在工業電源管理應用替換方案
    的頭像 發表于 03-19 09:44 ?364次閱讀
    國產電壓基準源<b class='flag-5'>替換</b>REF3025在工業電源管理應用<b class='flag-5'>中</b>的<b class='flag-5'>替換</b>方案
    主站蜘蛛池模板: 玖玖爱在线播放 | 在线你懂得 | 亚洲成网 | 免费日韩一级片 | 九草伊人 | 四虎永久免费影院在线 | 久热草在线 | 日本不卡视频一区二区三区 | 天堂网2021天堂手机版 | 人人爱天天操 | 四虎影视网址 | 成人人免费夜夜视频观看 | 午夜精品福利在线观看 | 人人人人干 | 天天爽夜夜爽人人爽曰喷水 | 在线视频精品视频 | 国产精品亚洲色图 | 99色网站 | 欧美aaaaaaaaaa| 狠狠操影院 | 欧美一级二级三级视频 | 亚洲欧洲一区二区三区在线观看 | 欧美另类bbw| 性午夜影院 | 国产成人精品午夜二三区 | 日韩在线视频一区二区三区 | 超级碰碰青草免费视频92 | 免费日韩网站 | 国产1024一区二区你懂的 | 天天免费视频 | 性色视频免费 | 在线免费观看h | 亚偷熟乱区视频在线观看 | 五月婷婷丁香在线视频 | 一区二区不卡视频 | 狼狼狼色精品视频在线播放 | 日本黄色影片在线观看 | 猛操网| 国产jlzzjlzz视频免费 | 性生大片一级毛片免费观看 | 国产精品资源站 |