2010年11月27日 星期六
2010年11月22日 星期一
2010年10月24日 星期日
10/18 半加法器 全加法器
HALF-adder 半加法器
用行為模式
mux 改成 ---> half-adder
{ c = a*b , s =a * b + a* b = a^b }
Full-adder 全加法器
c_out = a*b + cin_*b + cin_*a
s =abc_in +abc_in+ abc_in + abc_in
用行為模式
mux 改成 ---> half-adder
{ c = a*b , s =
Full-adder 全加法器
c_out = a*b + cin_*b + cin_*a
s =
10/11 老師示範 2位元 2對1多工器
3.structural modeling
VHDL , Verilog ---> Behavioral (行為) ---> synati CAD , PC simulation
synthesis (合成) ---> IC Layout ---> standard cell ---> AND,OR,NOT
Primitives 內建元件
Ports 腳位
HIERARCHICAL NAMES (階層)
A[3:0] 4位元
A[2:0] 3位元
A[1:0] 2位元
2010年10月10日 星期日
10/4 整體講解(下)
simulation 模擬驗證
documentation 文件
synthesis 合成 FPGA IC Layout
hierarchy 階層
detailed 細節
abstract 摘要
identifiers 識別字
obfuscator 擾亂器 (用於保護智慧財產)
source code 原碼
comment 註解
'b 2進位
'o 8進位
'd 10進位
'h 16進位
8'b1x 0000 001x 8位元 2進位
8'bx1 xxxx xxx1 8位元 2進位
MACROS 巨集
unknown 未知的
high impedunce 高阻抗 沒有驅動 (代表此線路 發生錯誤)
系統 system
架構 architectural
行為模式 behavioral
演譯法 algorithmic
暫存器 轉移 register transfer level(RTL)
結構模式 boolean equations
邏輯匝 gate
開關 switches
電晶體 transistors
多邊形 polygons
光罩 masks
documentation 文件
synthesis 合成 FPGA IC Layout
hierarchy 階層
detailed 細節
abstract 摘要
identifiers 識別字
obfuscator 擾亂器 (用於保護智慧財產)
source code 原碼
comment 註解
'b 2進位
'o 8進位
'd 10進位
'h 16進位
8'b1x 0000 001x 8位元 2進位
8'bx1 xxxx xxx1 8位元 2進位
MACROS 巨集
unknown 未知的
high impedunce 高阻抗 沒有驅動 (代表此線路 發生錯誤)
系統 system
架構 architectural
行為模式 behavioral
演譯法 algorithmic
暫存器 轉移 register transfer level(RTL)
結構模式 boolean equations
邏輯匝 gate
開關 switches
電晶體 transistors
多邊形 polygons
光罩 masks
10/4 整體講解(上)
(1) module top;
system clock #200 clock(A); 註:修改period 為200週期
system clock # 100 clock(B);
system clock # 50 clock(SEL);
mux m1 (OUT,SEL,A,B);
endmodule
(2)模組 modules
module mux (OUT,SEL,A,B);
. . . . . . .
endmoule
(3)moule system clock(clk);
parameter period = 100;
output clk;
reg clk ;
initial clk = 0 ;
always begin 註 :無窮迴圈
#(period/2)clk =~clk 註:延遲 註:反向
end
always @ (posedge clk) 註:@當clk 註:正緣
if ($ time >1000) 註:做到1000奈秒
$ stop ;
endmodule
system clock #200 clock(A); 註:修改period 為200週期
system clock # 100 clock(B);
system clock # 50 clock(SEL);
mux m1 (OUT,SEL,A,B);
endmodule
(2)模組 modules
module mux (OUT,SEL,A,B);
. . . . . . .
endmoule
(3)moule system clock(clk);
parameter period = 100;
output clk;
reg clk ;
initial clk = 0 ;
always begin 註 :無窮迴圈
#(period/2)clk =~clk 註:延遲 註:反向
end
always @ (posedge clk) 註:@當clk 註:正緣
if ($ time >1000) 註:做到1000奈秒
$ stop ;
endmodule
9/27 多工器程式碼講解
module模組.....endmodule
mux(out.a.b.sel)
註:自己命名的名稱 通常為module之功能
註:括弧內 宜將輸出腳位至於前面 輸出腳位在後
A 0 0 0 0 1 1 1 1 週期 200 比例 4
B 0 0 1 1 0 0 1 1 週期 100 2
SEL 0 1 0 1 0 1 0 1 週期 50 1
OUT 0 0 1 0 0 1 1 1
mux(out.a.b.sel)
註:自己命名的名稱 通常為module之功能
註:括弧內 宜將輸出腳位至於前面 輸出腳位在後
A 0 0 0 0 1 1 1 1 週期 200 比例 4
B 0 0 1 1 0 0 1 1 週期 100 2
SEL 0 1 0 1 0 1 0 1 週期 50 1
OUT 0 0 1 0 0 1 1 1
2010年9月22日 星期三
9/20 多工器 上機實做
比喻
段落1零件
段落2零件運作
段落3描述零件
system_clk 產生時脈
input -------------output
a---sel---b---------out
0----0---0----------0
0----0---1----------1
0----1---0----------0
0----1---1----------0
1----0---0----------0
1----0---1----------1
1----1---0----------1
1----1---1----------1
段落1零件
段落2零件運作
段落3描述零件
system_clk 產生時脈
input -------------output
a---sel---b---------out
0----0---0----------0
0----0---1----------1
0----1---0----------0
0----1---1----------0
1----0---0----------0
1----0---1----------1
1----1---0----------1
1----1---1----------1
A: as+b(-s)
訂閱:
意見 (Atom)









