天天看點

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

目錄

前言

一、DC綜合memory遇到的問題

二、Memory(ram、rom)處理

1.解決思路

2.Memaker安裝

3.Memaker使用

3.1 打開Memaker

 3.2 Ram的生成

4.Lib Complier

4.1 建立一個db檔案夾,一個lib檔案夾

4.2 轉換的所有lib檔案複制到lib檔案夾内

4.3 編寫tcl腳本,命名為autolib2db

4.4 運作tcl腳本

前言

       在進行DC綜合前,我們看一些工程的filelist可以發現,會有許多memory子產品的存在,比如ram、rom之類,而進行綜合如果直接将memory綜合進去,結果可能會不可信,并且遇到大的工程時綜合memory會出現卡死的狀況,是以本文将會講解如何對DC綜合的memory進行處理。

一、DC綜合memory遇到的問題

       之前使用DC綜合的是一個工程的一小部分,比如之前綜合的e203的core,并沒有涉及到對于memory的處理。

       但是這次項目需要,要綜合C910來看資源的利用,這種整個大工程的綜合我也是第一次去做,問了同組一個小夥伴,他們之前做過e906整個工程綜合,我看他們的filelist,直接将memory讀進去進行的綜合。可以看下圖。

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理
DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

        可以看到e906的ram是比較少的,是以他們沒有出現卡死的狀況,但是我這次綜合的C910,可以看一下這個filelist中ram部分。

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

       這是一部分,總共有大約80多個memory,一開始我并沒有去管,直接寫好腳本去綜合,發現綜合到中間就卡死了,出現了下面的情況。

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

       是以對于memory我們不可以直接綜合,要進行處理。

二、Memory(ram、rom)處理

1.解決思路

       那麼具體的解決方法,就是利用Memory Complier工具,去生成所需要的memory,就比如這次我所需要的ram。那麼利用這個工具生成的是lib格式,之後回到伺服器,用Lib complier轉成db格式,在DC綜合時,将ram當作library讀入即可。

2.Memaker安裝

       有了解決思路,那麼就是使用工具去使用。但是網上并沒有現成的Memory Complier,是以使用的是老師提供的Memaker。

所需檔案:

虛拟機軟體 VMware

虛拟機鏡像 CentOS7-x86_64-DVD-2009

memaker壓縮包 FSF0L_Memaker_202101.3.0.tar

license檔案 memaker.dat

插件libXScrnSaver-1.2.2-6.1.el7.i686

一、打開VMware,建立好新的虛拟機

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

二、把memaker壓縮包拖進虛拟機,解壓出來

解壓好後把memaker.dat拖到安裝目錄下的

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

注:memaker中的hostname和VENDOR ftclmd位址需要自己更改

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

三、修改memaker.env中memlib位址

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

四、設定ip位址(用su指令開管理者權限)

CentOS 7更改網卡名eth0和配置網卡_openbox2008的部落格-CSDN部落格_centos7網卡配置

1.、編輯 grub 配置檔案

# vim /etc/default/grub 或 vim /etc/sysconfig/grub

增加 net.ifnames=0 biosdevname=0 在GRUB_CMDLINE_LINUX

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

2、用 grub2-mkconfig 指令重新生成GRUB配置并更新核心

# grub2-mkconfig -o /boot/grub2/grub.cfg

隻要做完這步,然後重新啟動 Linux 作業系統,通過# ip addr 可以看到網卡名稱已經變為 eth0 ,網絡能正常使用,但網絡配置檔案還是ifcfg-ens33 .

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

3、修改網卡配置檔案

将原來網卡配置檔案名稱為 ifcfg-ens33,這裡需要修改為 eth0 ,ifcfg-ens34改為eth1 ,并适當調整網卡配置檔案

#mv ifcfg-ens33 ifcfg-eth0

#mv ifcfg-ens34 ifcfg-eth1

并修改網卡配置檔案

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

4.重新開機虛拟機

五、打開終端,輸入Han.txt中指令

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

如果提示license有問題,将系統時間回調至2022年10月之前再試。

五、如果提示缺少libXScrnSaver插件則安裝後重新嘗試。

下載下傳插件壓縮包,拖入虛拟機安裝。

或者管理者模式輸入yum install libXScrnSaver。

3.Memaker使用

3.1 打開Memaker

通過指令行輸入直接打開,可以進入下面GUI界面。

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

 3.2 Ram的生成

       因為已知了Ram的大小,是以直接選擇Memory Type去生成。

       已其中一個Ram舉例,我要生成的是128✖️16的Ram,并且C910使用的都是單端口的Ram,是以第一步在Memory Famile選擇“single port ram”;第二步word代表位址位,填入128;第三步Bit代表資料位寬,填入16,其餘預設,之後第四步點選Preview。

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

之後可以看到生成的各個ram的預覽界面,我們需要用第一種,是以勾選第一種即可。

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

下一步會顯示你所勾選器件的一些基本資訊,可以檢查一下是否有誤,并且可以将名字更改為你所需要的名字,這裡都是預設名字。 

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

之後在這一步可以選擇你所希望生成的資訊,有很多選項,因為我隻需要lib檔案,是以我隻勾選了lib和生成.v檔案,生成.v我主要是想看一下裡面寫的是什麼樣子。之後點選Generate,就可以成功生成我們所需要的東西。

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

我們可以看一下生成的檔案,除了.v檔案之外,lib生成了許多,這裡拆分一下各個lib的命名規則。

以字尾ff1p32v85c和ss1p08vm40c為例子,這個字尾代表了兩部分,首先第一部分代表電壓:1p32v代表1.32v,1p08代表1.08v;其次第二部分代表溫度:85c代表85度,m40c代表-40度。

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

4.Lib Complier

這個很簡單,寫一個轉化腳本,将所有lib轉成db就可以。寫腳本時候需要知道Lib Complier的指令.

4.1 建立一個db檔案夾,一個lib檔案夾

4.2 轉換的所有lib檔案複制到lib檔案夾内

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

4.3 編寫tcl腳本,命名為autolib2db

set enable_write_db_mode True

set files [split [glob lib/*.lib] " "]

foreach file $files {
read_lib $file
set libname [lindex [split [lindex [split $file "/"] [expr [llength [split $file "/"]]-1]] "."] 0]
write_lib -output db/${libname}.db $libname
remove_design
}

exit
           

4.4 運作tcl腳本

得到所有轉換後的db檔案,存入db檔案夾中,之後作為library導入dc工程中即可。

DC綜合時Memory(ram、rom)的處理前言一、DC綜合memory遇到的問題二、Memory(ram、rom)處理

繼續閱讀