F9203843

平凡無奇的大學生!

星期五, 9月 29, 2006

好神奇...!~"~

昨天只是修改了一下簡介跟標題!
還有新增了一些網址連結...
然後點選重新發佈...
結果部落格就開不起來了...
明明用預覽觀看都還是正常的~"~
怎麼一開啟網址就一片空白...
天呀!... 我該怎麼做 ~"~

星期三, 9月 27, 2006

回家之後實做的全加器報告--下

接(3)
測試模組

(4)程式碼和測試模組之說明
1位元全加器邏輯閘層寫法

module fulladder_1(a,b,Cin,Sum,Cout);
//模組名稱宣告跟線路宣告 其中module類似C語言之{
input a,b,Cin;
//輸入線路宣告
output Sum,Cout;
//輸出線路宣告
wire d,e,f;
//資料型態線之宣告
xor(d,a,b);
//邏輯閘宣告,輸出為d,輸入為a,b
and(e,a,b);
//邏輯閘宣告,輸出為e,輸入為a,b
xor(Sum,d,Cin);
//邏輯閘宣告,輸出為Sum,輸入為d,Cin
and(f,d,Cin);
//邏輯閘宣告,輸出為f,輸入為d,Cin
or(Cout,f,e);
//邏輯閘宣告,輸出為Cout,輸入為f,e
endmodule
//程式結束 類似C語言}

1位元全加器資料處理層寫法

module fulladder_1(a,b,Cin,Sum,Cout);
//模組名稱宣告跟線路宣告 其中module類似C語言之{
input a,b,Cin;
//輸入線路宣告
output Sum,Cout;
//輸出線路宣告
assign {Cout,Sum}=a+b+Cin;
//assign指定敘述之意為資料處理層關鍵字,其中Cout為高位元,Sum為低位元
endmodule
//程式結束 類似C語言}

1位元全加器階層式寫法

module fulladder(a,b,Cin,Sum,Cout);
//模組名稱宣告跟線路宣告 其中module類似C語言之{
input a,b,Cin;
//輸入線路宣告
output Sum,Cout;
//輸出線路宣告
wire d,e,f;
//資料型態線之宣告
halfadder h1(a,b,d,e);
//類似C語言函式呼叫,呼叫出低階層半加器,並且命名為h1
halfadder h2(d,Cin,Sum,f);
//類似C語言函式呼叫,呼叫出低階層半加器,並且命名為h2
or(Cout,f,e);
//邏輯閘宣告,輸出為Cout,輸入為f,e
endmodule
//程式結束 類似C語言}
module halfadder(a,b,Sum,Cout);
//模組名稱宣告跟線路宣告 其中module類似C語言之{
input a,b;
//輸入線路宣告
output Sum,Cout;
//輸出線路宣告
xor(Sum,a,b);
//邏輯閘宣告,輸出為Sum,輸入為a,b
and(Cout,a,b);
//邏輯閘宣告,輸出為Cout,輸入為a,b
endmodule
//程式結束 類似C語言}

1位元全加器測試模組

module testbench;
//測試模組名稱宣告
reg a,b,Cin;
//宣告資料型態為暫存器線路,為了穩定訊號
wire Sum,Cout;
//宣告資料型態為一般線路
fulladder_1 f1(a,b,Cin,Sum,Cout);
//類似C語言函式之呼叫,並且命名此加法器名稱為f1
initial
//關鍵字,其之功能是按照順序1個1個輸入
begin
//類似C語言之{
#0 a=0;b=0;Cin=0;
//時間0 輸入訊號
#5 a=1;b=0;Cin=0;
//再隔5個時間單位 輸入訊號
#5 a=0;b=1;Cin=0;
//又再隔5個時間單位 輸入訊號
#5 a=0;b=0;Cin=1;
#5 a=1;b=1;Cin=0;
#5 a=1;b=0;Cin=1;
#5 a=0;b=1;Cin=1;
#5 a=1;b=1;Cin=1;
#5 $finish;
//測試終止結束之識別字
end
//類似C語言之}
initial
$monitor($time," a=%d b=%d Cin=%d Sum=%d Cout=%d",a,b,Cin,Sum,Cout);
//類似做C語言printf之工作 列印出時間
endmodule
//程式結束 類似C語言}

(5)結果和討論
MAX+plus2波型圖

silos測試之結果

討論:
由波型圖跟測試模組得知結果為正確,舉個例子來看,像是第0秒時輸入a=0,b=0,Cin=0 則輸出為Sum=0,Cout=0就為正確,因為Sum=a+b+Cin,0=0+0+0,而其中Cin為輸入之進位,而Cout為輸出進位之數,在看幾組例子第5秒a=1,b=0,Cin=0,Sum=1+0+0,而且無輸出之進位,所以Sum=1,Cout=0,第20秒Sum=1+1+0此時造成進位而原位變成0,所以Sum=0,Cout=1,第35秒時Sum=1+1+1此時造成進位而原位又為1,因此Sum=1,Cout=1,以上亦可套用在波型圖上得知結果正確~

回家之後實做的全加器報告--上

(1)問題描述與分析:
主要是藉由邏輯閘層次跟資料處理層次來撰寫全加器,藉由此次撰寫來了解2者之差別,並且也可以透過使用邏輯閘圖形來了解此電路之原理,由圖形可以看出全加器是由2個半加器跟1個OR邏輯閘實做而成,並且在程式碼後面我還加補充了階層式的全加器寫法,透過此3種寫法加上電路圖輔助相信可以更了解全加器.
(2)功能方塊示意圖和邏輯閘電路圖


(3)程式碼和測試模組
這裡是使用silos軟體所以有需要寫到測試模組
邏輯閘層次

資料處理層次

階層式設計層次
這個是使用呼叫2個半加器和OR-Gate所形成的全加器程式碼


星期二, 9月 26, 2006

今日全加器實作^^

星期四, 9月 21, 2006

VerilogHDL

呼... 上完今天的課
了解到原來在外面的業界職場裡
Verilog硬體描述語言是ㄧ門很重要的工具
想到自己的專題也是用到VerilogHDL來撰寫PIC元件也覺得蠻開心的..
因為自己可以有機會多增加一些撰寫Verilog程式的實戰經驗
也可以比別人多學習到一些東西真的蠻不錯的
希望這學期也能得到許多收穫 多培養一些實力
將來到職場上的時候 才能夠具備有足夠的能力與別人競爭
^ ^
PS:剛剛去書店問了一下 好像沒有課本的存貨....Orz也找不到
誰有書可以賣我阿 = =...

星期二, 9月 19, 2006

新手上路


熟悉設定中....
希望能盡快上手...

f9203843

希望大家多多來光顧阿^ ^