2011年10月17日 星期一

Not gate注意事項

module top(
input a,
input b,
output [31:0] c
    );
wire a_wire;
assign a_wire=0;
assign c=!a_wire;


endmodule
結果造成只有c最後一位元改變0x0000->0x0001

另一種寫法

module top(
input a,
input b,
output [31:0] c
    );
wire a_wire;
assign a_wire=0;
assign c=~a_wire;


endmodule

則c=1111.....1111;

結論
       使用 ! 是一位元的反向,使用~則是全部位元的反向。一般使用使用pll/dcm 中的lock作為其他module採用~比較正統。!屬於邏輯位元子,用來判斷是或否,ex: if(a==!b)之類。

2011年10月2日 星期日

[Cadence SocEncounter] 打不開

可能是chip.vg寫錯所引起。
指的是 top top(.clk(clk), ....

[Synopsys Desgin Vision] wire load是甚麼?

指的是trace的Resistor 和Capacitor。
如tsmcw10(一般用這個)指的是R:1 C:1
而tsmcw50 表示R:5 C:5

[Synopsys Desgin Vision]使用有memory 的設計

1. 合成時不要加入像sram.v等相關memory verilog file, ex: ref_sram, cur_sram(董茂揚 code)
2. link library加入cur_sram.db 和ref_sram.db等file

[Cadence Virtuso] output (scope) 跑不出正確圖形

如果DRC. LVS都正常,可能是contact點有問題

[Cadence Virtuso] Schematic產生顏色

1. 一開始 new->library要source xxx.tf
2.設置display.drf
3.Export->CDL預設放置於目標資料夾下

[Cadence Virtuso] 加入Calibre選項

1. 將TSMC18資料夾放於目標資料夾中
2. 在Home(user) or root下,放.cdsinit
3. 接著,必須source /usr/cad/mentor/CIC/calibre.cshrc

NoC注意事項

1. switch中119行
else if (h[3]==1])
2. FIFO reset為0的條件加入