定義:
latch是閂鎖器,D-FF是正反器
閂鎖器是會保留之前的狀態,而D-FF則是每個輸入有其對應的狀態
Verilog 寫法
latch的產生往往來自於組合邏輯沒寫好
ex1:
always@ (*)
if(enable)
q=D;
一般而言,不會刻意想產生latch,因為latch會有產生在輸出q,是不確定的值,即使想要閂鎖某些值,也會用下列方式
ex2:
always@(posedge clk)
if(enable)
q=D;
這會使用D-FF但是有CE(chip enable),當enable=1, q=D, else q=D;
D-FF的產生,是要使用暫存器,暫存某些值
always@(posedge clk)
q<=D;
這樣的寫法,產生的D-FF沒有CE
2011年12月29日 星期四
2011年12月28日 星期三
[Verilog] setup time, hold time
根據玩轉FPGA一書, 真OO無雙網誌所說
setup time: 在clock rising 之前必須穩定的時間,若無,則無法進入暫存器。
hold time: 在clock rising 之後必須穩定的時間,若無,則無法進入暫存器。
setup time: 在clock rising 之前必須穩定的時間,若無,則無法進入暫存器。
hold time: 在clock rising 之後必須穩定的時間,若無,則無法進入暫存器。
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
input a,
input b,
output [31:0] c
);
wire a_wire;
assign a_wire=0;
assign c=!a_wire;
endmodule
2011年10月2日 星期日
[Synopsys Desgin Vision] wire load是甚麼?
指的是trace的Resistor 和Capacitor。
如tsmcw10(一般用這個)指的是R:1 C:1
而tsmcw50 表示R:5 C:5
如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] Schematic產生顏色
1. 一開始 new->library要source xxx.tf
2.設置display.drf
3.Export->CDL預設放置於目標資料夾下
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
2. 在Home(user) or root下,放.cdsinit
3. 接著,必須source /usr/cad/mentor/CIC/calibre.cshrc
訂閱:
文章 (Atom)