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

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

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

如何高效替換Soft IP中的標(biāo)準(zhǔn)cell

ruikundianzi ? 來(lái)源:IC的世界 ? 2023-11-09 10:07 ? 次閱讀

我們?cè)谫?gòu)買soft IP的時(shí)候,vendor提供的是通用的verilog/system verilog的代碼,而在不同的項(xiàng)目中,我們采用的工藝不一樣,因此所需的memory 和同步cell不一樣。通用的soft IP是如何便捷的替換memory和標(biāo)準(zhǔn)std cell的呢?

case0:小規(guī)模的afifo/fifo和ram 會(huì)用寄存器搭建的方式實(shí)現(xiàn)

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

不同IP對(duì)資源的敏感度不一樣,因此多大規(guī)模的fifo/ram能夠使用reg實(shí)現(xiàn)依賴于IP的類型和應(yīng)用場(chǎng)景。例如在高速以太I(xiàn)P和PCIe中,8x16 的fifo就屬于小規(guī)模,如果例化次數(shù)比較少,使用寄存器搭建是可以接受的。

case1:大規(guī)模的ram 在外部實(shí)現(xiàn),IP 會(huì)透露出讀寫接口

例如在IP的頂層io上會(huì)出現(xiàn)類似如下接口:

wclk/wr/wdata/waddr

rclk/rd/rdata/raddr

case2:底層2級(jí)/3級(jí)同步器手動(dòng)替換

Soft IP 內(nèi)部如果存在跨時(shí)鐘設(shè)計(jì),通常會(huì)使用2級(jí)/3級(jí)同步器,soft ip如何沒有提供便捷的替換方式,則需要使用者手動(dòng)替換,例如soft IP代碼多次調(diào)用2級(jí)同步器模塊soft_ip_synchronizer.v。

為了使用工藝匹配的2級(jí)同步器cell,需要新建一個(gè)soft_ip_synchronizer.v,在filelist中將路徑指向新建的soft_ip_synchronizer.v,新soft_ip_synchronizer.v接口與soft IP使用的接口保持一致,且在soft_ip_synchronizer.v中調(diào)用項(xiàng)目使用的base_ip_bit_sync.v, base_ip_bit_sync調(diào)用了制造工藝匹配的同步器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 內(nèi)部如果存在clk gate模塊,clk mux,多級(jí)同步器等特殊定制的cell時(shí),通常需要替換成工藝對(duì)應(yīng)的cell,部分soft IP支持define方式指定cell 如下所示:

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

2:新建一個(gè)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
//-----------------------------------------------------------------------------

審核編輯:湯梓紅

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

    關(guān)注

    31

    文章

    5268

    瀏覽量

    119646
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8355

    瀏覽量

    150517
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1335

    瀏覽量

    109847
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1700

    瀏覽量

    131182

原文標(biāo)題:如何高效替換Soft IP中的標(biāo)準(zhǔn)cell

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    [原創(chuàng)]NEMA標(biāo)準(zhǔn)三相異步高效電機(jī)

    CSA認(rèn)證。    NEMA標(biāo)準(zhǔn)高效三相異步高效電機(jī)為全封閉自扇冷卻式電機(jī),防護(hù)等級(jí)為IP54。本系列電機(jī)采用B設(shè)計(jì),F(xiàn)級(jí)絕緣,使用系數(shù)1.15
    發(fā)表于 09-16 14:30

    Matlab的cell數(shù)組的問題

    我把一串?dāng)?shù)存在cell(1,10)每個(gè)cell單元是一個(gè)3*2的矩陣我想把每個(gè)3*2的矩陣的第一行的兩個(gè)數(shù)取出來(lái)放到一個(gè)10*2的矩陣
    發(fā)表于 02-01 15:15

    Megwizard與Qsys PCIE IP的區(qū)別

    新手求助~1.Megwizard與Qsys中都有IP_Compiler for PCIE,請(qǐng)問兩者的區(qū)別是什么?2.Megwizardsoft ip for PCIE是免費(fèi)的嗎?3
    發(fā)表于 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
    發(fā)表于 10-06 22:22

    Small Cell是什么?Small Cell的核心技術(shù)包括哪些?

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

    cell 延遲計(jì)算基礎(chǔ)

    Delay Calculation Basic1)cell delay 和 interconnect delay2)僅考慮cell delay時(shí),cell的delay由庫(kù)的模型,根據(jù)
    發(fā)表于 07-08 17:06

    5 Cell to 10 Cell Li Protecto

    The DS2726 provides full charge and discharge protectionfor 5- to 10-cell lithium-ion (Li+) battery
    發(fā)表于 11-25 13:46 ?18次下載

    什么是Cell

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

    什么是In-cell及On-cell

    In-cell及On-cell的概念、原理、難點(diǎn)及技術(shù)實(shí)現(xiàn)。
    發(fā)表于 02-06 11:18 ?1.4w次閱讀

    in-cell panel_In-Cell觸摸屏原理

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

    IP 數(shù)據(jù)表: 1.8V Standard Cell for TSMC 28nm HPC+

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

    IP 數(shù)據(jù)表: 3.0V Standard Cell for TSMC 40nm LP

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

    IP 數(shù)據(jù)表: 1.8V Standard Cell for TSMC 28nm HPC+

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

    IP 數(shù)據(jù)表: 3.0V Standard Cell for TSMC 40nm LP

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

    Standard cell是怎么應(yīng)用到我們的后端設(shè)計(jì)的呢?

    Standard cell,標(biāo)準(zhǔn)單元,或者簡(jiǎn)稱cell,可以說(shuō)是數(shù)字芯片后端最基本的概念之一了,甚至可能沒有接觸過后端的同學(xué)也有所耳聞?
    的頭像 發(fā)表于 12-04 11:44 ?825次閱讀