国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【數(shù)字IC設計】VCS仿真DesignWare IP

這篇具有很好參考價值的文章主要介紹了【數(shù)字IC設計】VCS仿真DesignWare IP。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

DesignWare介紹

DesignWare是SoC/ASIC設計者最鐘愛的設計IP庫和驗證IP庫。它包括一個獨立于工藝的、經驗證的、可綜合的虛擬微架構的元件集合,包括邏輯、算術、存儲和專用元件系列,超過140個模塊。DesignWare和 Design Compiler的結合可以極大地改進綜合的結果,并縮短設計周期。Synopsys在DesignWare中還融合了更復雜的商業(yè)IP(無需額外付費)目前已有:8051微控制器、PCI、PCI-X、USB2.0、MemoryBIST、AMBA SoC結構仿真、AMBA總線控制器等IP模塊。
  DesignWare中還包括一個巨大的仿真模型庫,其中包括170,000多種器件的代時序的功能級仿真模型,包括FPGAs (Xilinx, Altera,…), uP, DSP, uC, peripherals, memories, common logic, Memory等。還有總線(Bus-Interface)模型PCI-X, USB2.0, AMBA, Infiniband, Ethernet, IEEE1394等,以及CPU的總線功能仿真模型包括ARM, MIPS, PowerPC等。

【數(shù)字IC設計】VCS仿真DesignWare IP,數(shù)字IC設計,數(shù)字IC設計,VCS,DesignWare

如上圖所示,在安裝了DC綜合工具后,我們可以在$SYNOPSYS/dw/sim_ver路徑下找到Design Ware的仿真庫文件。
下面以舉兩個例子,來說明如何在vcs仿真中使用dw ip庫。

ram仿真

打開網站鏈接,搜索并找到下圖所示的ram ip核。
【數(shù)字IC設計】VCS仿真DesignWare IP,數(shù)字IC設計,數(shù)字IC設計,VCS,DesignWare
點擊下圖所示區(qū)域,得到例化該IP核的示例代碼:
【數(shù)字IC設計】VCS仿真DesignWare IP,數(shù)字IC設計,數(shù)字IC設計,VCS,DesignWare
【數(shù)字IC設計】VCS仿真DesignWare IP,數(shù)字IC設計,數(shù)字IC設計,VCS,DesignWare

編寫測試代碼如下:

module test;
parameter DATA_WIDTH = 8;
parameter DEPTH = 8;
parameter ADDR_WIDTH = $clog2(DEPTH);
parameter RST_MODE = 0;
//signal define
reg clk;
reg rst_n;
reg cs_n;
reg wr_n;
reg wr_busy;
reg start;
reg [2:0] rw_addr;
reg [DATA_WIDTH-1:0] data_in;
wire [DATA_WIDTH-1:0] data_out;
wire done;
//clk generate
initial begin
  clk = 1'b0;
  forever begin
    #5 clk = ~clk;
  end
end
//reset and chip enable
initial begin
  rst_n = 1'b0;
  cs_n = 1'b1;  
  #100
  cs_n = 1'b0;
  rst_n = 1'b1;
end
//start generate
initial begin
  start = 1'b0;
  #123
  start = 1'b1;
  #10
  start = 1'b0;
end
always@(posedge clk or negedge rst_n) begin
  if(~rst_n) begin
    wr_busy <= 1'b0;
  end
  else if(start) begin
    wr_busy <= 1'b1;
  end
  else if(wr_busy && rw_addr == DEPTH-1) begin
    wr_busy <= 1'b0;
  end
end
//wr_n, write enable
always@(posedge clk or negedge rst_n) begin
  if(~rst_n) begin
    wr_n <= 1'b1;
  end
  else if(start) begin
    wr_n <= 1'b0;
  end
  else if(wr_busy) begin
    if(rw_addr == DEPTH-1) begin
      wr_n <= 1'b1;
    end
    else begin
      wr_n <= 1'b0;
    end
  end
end
//rw_addr
always@(posedge clk or negedge rst_n) begin
  if(~rst_n) begin
    rw_addr <= 0;
  end
  else if(start) begin
    rw_addr <= 0;
  end
  else if(wr_busy) begin
    rw_addr <= rw_addr + 1'b1;
  end
  else if(rw_addr!=DEPTH-1) begin
    rw_addr <= rw_addr + 1'b1;
  end
end
//data_in
always@(posedge clk or negedge rst_n) begin
  if(~rst_n) begin
    data_in <= 0;
  end
  else if(wr_busy) begin
    data_in <= data_in + 8'd3;
  end
end
assign done = (wr_n == 1'b1 && rw_addr == DEPTH-1) ? 1'b1 : 1'b0;
// 
initial begin
  $fsdbDumpfile("ram.fsdb");
  $fsdbDumpvars(0);
end
initial begin
  #1000
  $finish;
end
//ram inst
DW_ram_rw_s_dff_inst U
(.inst_clk(clk),
 .inst_rst_n(rst_n),
 .inst_cs_n(cs_n),
 .inst_wr_n(wr_n),
 .inst_rw_addr(rw_addr),
 .inst_data_in(data_in),
 .data_out_inst(data_out)
);                      
endmodule

編寫makefile腳本如下:

all: listfile com sim verdi clean

listfile:
	find -name "*.v" > filelist.f

com:
	vcs -full64 -cpp g++-4.8 -cc gcc-4.8 -LDFLAGS -Wl,--no-as-needed -sverilog -debug_access -timescale=1ns/10ps \
	-f filelist.f -l com.log -kdb -lca -y ${SYNOPSYS}/dw/sim_ver +libext+.v

sim:
	./simv -l sim.log


verdi:
	verdi -f filelist.f -ssf *.fsdb -nologo &

clean:
	rm -rf csrc *.log *.key *simv* *.vpd *DVE*
	rm -rf verdiLog *.fsdb *.bak *.conf *.rc *.f

其中,make com加入了選項:

-y ${SYNOPSYS}/dw/sim_ver +libext+.v

這里,-y lib_dir用于指定搜索模塊定義的verilog庫目錄; 在源代碼中找不到相應模塊或UDP定義的模塊時,在定義的目錄中查找對應的文件; +libext與-y配合,用來指定查找的文件的后綴,例如+libext+.v表示查找.v文件。
仿真結果如下圖所示:
【數(shù)字IC設計】VCS仿真DesignWare IP,數(shù)字IC設計,數(shù)字IC設計,VCS,DesignWare

仿真bin2gray

按照仿真ram相同的步驟操作,得到例化該模塊的示例代碼:
【數(shù)字IC設計】VCS仿真DesignWare IP,數(shù)字IC設計,數(shù)字IC設計,VCS,DesignWare
需要注意的是,在例化該模塊時,需要加入+incdir+$SYNOPSYS/dw/sim_ver+編譯選項,這是因為在使用該IP的時候還需要用到相關的inc文件。
代碼:

module test;
parameter DATA_WIDTH = 8;
reg  [DATA_WIDTH-1:0] bin;
wire [DATA_WIDTH-1:0] gray;

initial begin
    bin = 8'd0;
    forever begin
      #10 bin = $urandom % 256;
    end
end
initial begin
  $fsdbDumpfile("top.fsdb");
  $fsdbDumpvars(0);
end
initial begin
  #1000
  $finish;
end

DW_bin2gray_inst U
(
 .inst_b(bin  ),
 .g_inst(gray )
);
endmodule

makefile文件:

all: listfile com sim verdi clean

listfile:
	find -name "*.v" > filelist.f

com:
	vcs -full64 -cpp g++-4.8 -cc gcc-4.8 -LDFLAGS -Wl,--no-as-needed -sverilog -debug_access -timescale=1ns/10ps \
	-f filelist.f -l com.log -kdb -lca -y ${SYNOPSYS}/dw/sim_ver +libext+.v +incdir+${SYNOPSYS}/dw/sim_ver+

sim:
	./simv -l sim.log


verdi:
	verdi -f filelist.f -ssf *.fsdb -nologo &

clean:
	rm -rf csrc *.log *.key *simv* *.vpd *DVE*
	rm -rf verdiLog *.fsdb *.bak *.conf *.rc *.f

可以看到,在仿真該IP的時候,不僅加入了-y ${SYNOPSYS}/dw/sim_ver +libext+.v編譯選項,還加入了+incdir+${SYNOPSYS}/dw/sim_ver+選項。這里,+incdir+dir1+dir2+…用于vcs從指定的目錄當中查找源文件中所包含的include文件
仿真結果如下:
【數(shù)字IC設計】VCS仿真DesignWare IP,數(shù)字IC設計,數(shù)字IC設計,VCS,DesignWare文章來源地址http://www.zghlxwxcb.cn/news/detail-619951.html

到了這里,關于【數(shù)字IC設計】VCS仿真DesignWare IP的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • IC設計仿真云架構

    IC設計仿真云架構

    對于IC仿真來說,最重要的是要安全、可維護、高性能的的HPC環(huán)境環(huán)境。 那么云上如何搭建起一套完整的IC仿真云環(huán)境呢? 這種架構應該長什么樣子? 將所有桌面虛擬機在數(shù)據中心進行托管并統(tǒng)一管理;同時用戶能夠獲得完整PC的使用體驗。 用戶可以通過瘦客戶端,或者類似

    2024年02月13日
    瀏覽(15)
  • 數(shù)字IC設計之——低功耗設計

    數(shù)字IC設計之——低功耗設計

    目錄 概述 背景 為什么需要低功耗設計 CMOS IC功耗分析 基本概念 功耗的分類 功耗相關構成 不同層次低功耗設計方法 芯片中的功耗分布以及對應的低功耗方案 低功耗方案 系統(tǒng)算法級的低功耗技術 編碼階段的低功耗技術 門控時鐘 Clock Gating 物理實施的低功耗技術 操作數(shù)分離

    2023年04月18日
    瀏覽(22)
  • 面經-2023-中興-數(shù)字IC設計

    專欄推薦: 2023 數(shù)字IC設計秋招復盤——數(shù)十家公司筆試題、面試實錄 專欄首頁: 2023 數(shù)字IC設計秋招復盤——數(shù)十家公司筆試題、面試實錄 專欄內容: 筆試復盤篇 2023秋招過程中整理的筆試題,來源包括我自己求職筆試以及整理其他同學的筆試。包含華為、中興、聯(lián)發(fā)科、

    2024年02月12日
    瀏覽(21)
  • 數(shù)字IC后端設計如何從零基礎快速入門?(內附數(shù)字IC后端學習視頻)

    數(shù)字IC后端設計如何從零基礎快速入門?(內附數(shù)字IC后端學習視頻)

    數(shù)字IC后端工程師主要職責是把數(shù)字IC前端工程師寫的邏輯功能RTL轉變成物理實際連線GDS版圖。這個過程的本質是基于一定的時序約束和物理約束將設計的邏輯功能等價轉變成物理連接。因為這個GDS最后是要提交給foundary進行芯片加工制作的,光刻機無法識別邏輯功能,它只認

    2024年01月20日
    瀏覽(39)
  • 模擬IC與數(shù)字IC設計該怎么選?哪個崗位薪資高?

    模擬IC與數(shù)字IC設計該怎么選?哪個崗位薪資高?

    很多同學想要入行IC,但不知道數(shù)字和模擬方向怎么選? 如果沒有親身體會過模擬設計,并有發(fā)自內心的自信或者興趣,一般不看好純小白去學模擬電路設計。 模擬設計想做好,沒有數(shù)學功底,沒有電路分析的功底,很難會有出彩的機會。就連零極點分析都搞不清、基爾霍夫

    2024年02月03日
    瀏覽(26)
  • 數(shù)字IC前端設計流程及詳細解釋

    數(shù)字IC前端設計流程及詳細解釋

    數(shù)字前端以設計架構為起點,以生成可以布局布線的網表為終點。 使用設計的電路實現(xiàn)想法,主要包括:基本的RTL編程和仿真。前端設計還可以包括 IC系統(tǒng)設計、前仿真波形驗證、綜合、STA、FM驗證。其中 IC系統(tǒng)設計最難掌握,它需要多年的IC設計經驗和熟悉那個應用領域,

    2024年02月06日
    瀏覽(29)
  • 【數(shù)字IC設計】Design Compiler入門

    【數(shù)字IC設計】Design Compiler入門

    本博客參考自文章鏈接 本文以全加器為例,演示DC綜合的流程。設計文件如下: 創(chuàng)建library文件夾,將工藝庫文件放入此文件夾,如下圖所示 啟動dc,輸入 輸入 設置目標庫 輸入 設置鏈接庫 結果如下圖所示 輸入命令: 輸入后顯示如下: 然后輸入check_design檢查設計,如下圖所

    2023年04月13日
    瀏覽(58)
  • 數(shù)字IC設計之靜態(tài)時序分析(STA)

    數(shù)字IC設計之靜態(tài)時序分析(STA)

    靜態(tài)時序分析原理 什么是STA 分析(計算)design是否滿足timing約束的要求 DFF(sequential cell—有clk的器件)setup/hold需求 復位/設置信號 信號脈沖寬度 門控時鐘信號 計算design是否滿足DRC的要求 max_capacitance—節(jié)點電容 max_transition—信號爬升時間 max_fanout—負載能力有多少 如上圖所

    2024年02月05日
    瀏覽(24)
  • 數(shù)字IC設計之時序分析基礎概念匯總

    數(shù)字IC設計之時序分析基礎概念匯總

    ?1 時鐘Clock 理想的時鐘模型是一個占空比為50%且周期固定的方波。時鐘是FPGA中同步電路邏輯運行的一個基準。理想的時鐘信號如下圖: 2 時鐘抖動Clock Jitter 理想的時鐘信號是完美的方波,但是實際的方波是存在一些時鐘抖動的。那么什么是時鐘抖動呢?時鐘抖動,Clock Jitter,

    2024年02月07日
    瀏覽(23)
  • 數(shù)字 IC 設計職位經典筆/面試題(二)

    數(shù)字 IC 設計職位經典筆/面試題(二)

    共100道經典筆試、面試題目 (文末可全領) 三種資源:BLOCK RAM,觸發(fā)器(FF),查找表(LUT);注意事項: 1:在生成 RAM 等存儲單元時,應該首選 BLOCK RAM 資源; 其原因有二: 第一:使用 BLOCK RAM 等資源,可以節(jié)約更多的 FF 和 4-LUT 等底層可編程單元。使用BLOCK RAM 可以說是

    2024年02月17日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包