Allegro PCB SI在仿真時需要將仿真模型都轉變成DML模型格式。這一操作通過cadence軟件組內的Model Integrity軟件完成。首先在對應控制器芯片和DDR芯片,flash芯片(需要仿真的驅動和被驅動端)官網找到對應的ibis模型。以本項目的控制器DSP6713,SST39VF800A,MT48LC2M32B2B5-6為例,在各自官網找到ibis模型文件,下載之后通過Model Integrity轉換成dml文件。官網下載的文件不一定能百分之百轉換成功,過程中可能會報error,根據對應提示修改或刪除對應報錯行的代碼。
然后將dml文件復制到項目文件夾內,首先進行PCB的疊層設置控制阻抗,然后再identity dc nets中對電源和地賦予電壓值。
接着在Analyse-Model Browser-library Mgmt-set search path導入對應dml文件。
接着打開Analyse-Model Assignment,無視出現的warning。
選擇對應的元器件,點擊Find Model選擇對應的模型assign。由於DSP控制器地址線數據線進行了端接,對於分立器件,如電阻電容,排阻,也需要賦予對應的model,和仿真的網絡形成xnet。然后打開cm約束管理器,對數據線和地址線進行分組。添加到net group。然后右擊DSP_DATA,選擇SigXplorer提取拓撲。
默認拓撲的微帶線是理想的,實際要使用有損互聯的微帶線,數據信號同時連接SDRAM U7和flashU8,在中間建立T型連接點。
點擊add-edit part,加入有損傳輸線模型。
LayerName選擇TOP,前面已進行對疊層的設置。
狀態欄選擇preference,在100MHZ的條件下,點擊
取得的波形如下:
注意:我在仿真過程中發現最新的cadence17.4在進行最后一步仿真時報錯,改用17.2版本之后錯誤消失。不清楚是個例還是普遍情況。
然后對拓撲進行約束,在setup-constraint中選擇Prop Dealy,From為U6,To為U7,代表從DSP6713到SDRAM的長度控制,長度經過如上仿真得到。
對於另一組信號線DSP_ADDR也用相同的方法設置,長度為2000mil到3000mil。
然后對DSP_ADDR進行相對延時約束,也就是常說的等長設置,設置對於控制時延很重要。調整信號建立時間和保持時間。此處有兩種等長,一種是DSP到RAM的所有線要設置等長,另一種是T型連接點到flash和RAM之間的等長。
local是同一個分支之內選擇,比如本例子的T型連接點之間。global是不同線段之間。先設置T型連接點到flash和RAM之間的等長。由於是同一個網絡,所以名稱Name取相同。
設置完成之后更新到cm約束管理器
可以開始愉快的布線啦!