星期六, 5月 12, 2007

離奇

當我發現筆電不能正常開機而試了又一次之後,灌了移除廣告軟體、Windows Update之後,現在電腦又運作如常了

---
免於重灌的命運XD

星期四, 5月 10, 2007

七段顯示器

由於實驗需要,我寫了一個不怎強的加強版七段顯示器,A~F表示成 A b C d e F
還蠻好用的


LIBRARY ieee;
USE ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

ENTITY dis47 IS
PORT(in_d: in std_logic_vector(3 downto 0);
out_d: out std_logic_vector(0 to 6));
END dis47;

ARCHITECTURE beheavor OF dis47 IS
BEGIN
process(in_d)
begin
case in_d is
when "0000" => out_d <= "1111110";
when "0001" => out_d <= "0110000";
when "0010" => out_d <= "1101101";
when "0011" => out_d <= "1111001";
when "0100" => out_d <= "0110011";
when "0101" => out_d <= "1011011";
when "0110" => out_d <= "1011111";
when "0111" => out_d <= "1110010";
when "1000" => out_d <= "1111111";
when "1001" => out_d <= "1111011";
when "1010" => out_d <= "1110111";
when "1011" => out_d <= "0011111";
when "1100" => out_d <= "1001110";
when "1101" => out_d <= "0111101";
when "1110" => out_d <= "1101111";
when "1111" => out_d <= "1000111";
when others=> out_d <="0000000";
end case;
end process;
END beheavor;

星期三, 5月 09, 2007

Datapath完成


Simple Computer 的 CPU 的 Datapath完成了,這中間可謂是難產,不過完成就好,希望以後有時間可以說明整個的流程

這圖底下有十幾個檔案XD

爆炸

今天考的Database System 炸掉了,考的都是記憶性居多,我想...我永遠對記憶性的東西不擅長

--
有60就偷笑了XD

65536 與 32

一個是2^16一個是2^5,就這樣,但是在一個很簡單的SRAM程式碼(實作非常非常簡單的記憶體)與MAX PLUS II卻有不同的結果


LIBRARY ieee;
USE ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;

ENTITY SRAM IS
generic(S_size: integer:= 65536;
S_address: integer:= 16;
S_length: integer:= 16);
PORT(enable: in std_logic;
M_rw: in std_logic;
address: in std_logic_vector(S_address-1 downto 0);
in_data: in std_logic_vector(S_length-1 downto 0);
out_data: out std_logic_vector(S_length-1 downto 0));
END SRAM;

ARCHITECTURE beheavor OF SRAM IS
type memory_array is array(0 to S_size-1) of std_logic_vector(S_length-1 downto 0);
signal sram_unit: memory_array;
BEGIN
process(enable)
begin
if(enable = '1') then
if(M_rw = '1') then
out_data <= sram_unit(conv_integer(address));
else
sram_unit(conv_integer(address)) <= in_data;
end if;
end if;
end process;
END beheavor;


其中

generic(S_size: integer:= 65536;
S_address: integer:= 16;
S_length: integer:= 16);

這個在MAX PLUS II我放了將近兩個小時complier還是沒跑完,後來將S_size改成32,S_address改成5,才能夠有點lag的complie過。

---
實驗講義寫的2^16 * 16bit 是怎麼回事XD

星期二, 5月 08, 2007

掃描器

SCX 4200 漸漸發揮功用了,目前先以考古題掃完為主,再用Adobe Acrobat做合併動作,感覺甚為完美,只是檔案大了些,目前進度不錯。

雖然這學期自己寫的重點不多,但是整理老師的上課簡報,課程的一半,竟然高達170Mb,人類真偉大,大概一個學期可以燒一張光碟吧:)

---
難道這就是所謂的知識管理XDXD

星期一, 5月 07, 2007

變壓器

建議買AirPort時,把變壓器納入考量,機器都很小,變壓器都很大一顆是怎麼回事...Orz

星期日, 5月 06, 2007

專題

最近有老師開始詢問我專題,也有老師開始詢問我是否要當TA,當然,我很遺憾的是兩個我都得說對不起,我可能不能做。

專題還是得做的,自從我開始寫VHDL開始,我蠻熱情投入這塊領域的,跟著老師課學習真的很高興,別人說的Computer Organization and Design: The Hardware and Software Interface 3/e這本一開始我試著自己看完全看不懂,到現在隨意翻翻大概猜的出來在做什麼,也大概猜的到MIPS是一個架構,裡面以描述他為主,我雖然還沒看,但是我很希望我可以在暑假實作出一台簡單的MIPS(希望VHDL可以承受這樣子的複雜度,還沒看不知道,呵),我也很高興我能學數學,在系上有好老師真的很高興(當然也不乏讓我提不起興趣的老師:) )

於是我開始問自己,我想要學什麼,以及我以後想要做什麼?我曾對別人講過,資工人強在Computer Organization, Operating System, Complier這條Computer Science督脈,並不是別的系說轉進來說插入就插入的。

Computer Science由Josh和我討論的結果(不如說是他傳述給我的XD),一條是由Data Structure, Algorithm, high programming language 甚而到software enigeering 一條純理論路線(這脈的描述似乎有所欠缺)謂之Computer Science 之任脈,而督脈指的是由數位電路而上(電子學而上也行),到Computer Organization & Aritchture 進而到Operating System 進而到Application Software,中間還穿插了Complier。而這兩脈各自獨立卻又緊緊交錯,形成了Computer Science這個學門(當然,把Computer 變成Computer Science,Knuth 的TAOCP是很重要很重要的關鍵)。

那麼我開始問我自己,我到底在這些年學了什麼東西,答案是我什麼都沒有學好,都有學過但是不夠紮實,為什麼我現在熱衷學習督脈這一條而專題不走這一條呢。

我不想放棄我學到一半的東西,我在programming這條路我已經快學到OOP了(當然,我希望可以的話我想學OOA, OOD)。

我在C++ programming這條路走的甚久,甚而可以追溯到我高中時代,我現在的想法很簡單,我連design patterns 都大概知道是什麼意思(離應用還差的遠),為什麼我現在要半路放棄我學到這樣子的東西呢,我決定先學完,我要把這條路走到告一段落,但是我不否認這些東西的重要,所以我到暑假我要先把我認為的計組學到告一段落,大三繼續把這條我還沒走完的路走完。我書架上的書也是以programming,現在不消化完豈不太可惜,我想把這條路完成,我不想放棄。計組呢,我想留到研究所會再做進一步深入的,如果可以,我想為資訊基礎教育盡一份心力。如果我有那個能力念到博士,我想學兩條脈的交錯與整合,或許我的想法是錯的,我想我會努力下去。

研究所想去那...?我想去台大,這願望是蠻狂妄的,我不否認,但是我不認為不能實行,為什麼要去台大? 台大對我而言並不是那麼具有吸引力,但是我覺得與Josh討論是個不錯的決定,Josh對我的吸引力可能比台大還大,他如果在那處我就去那處,就這樣子而己。

所以我的暑假計畫很簡單,照我自己列的書單與目標,每天在學校念書,一一擊破,開學繼續走向軟體這條路,計組聖經本也在我的範圍之內,至於具體計畫,我想我過一陣子才會想出來,或許不會,我的生活不是那麼具有計畫。

---
好像寫太長XD

積極

我不是一個很積極的人,尤其是我遇到我想都想不出來的問題時,但是我沒有想過放棄,因為問題還是在那裡。

這次我遇到的VHDL問題是我聞所未聞,見所未見,我真的一度問自己,是不是自己功力不足(這答案很肯定),一度把自己的檔案重寫,重看,結構重來,後來聽從老師的建議,裝了怪獸級的軟體(Quartus II,web edition 要540mb),找到問題,重新compile 終於看到不同的error messenge,看了之後,也發現到自己的問題,尚未解決,但是已燃燒重新快速解決問題的心

我學程式語言,好像一開始都是盡量靠自己亂學亂寫,等遇到真正的問題時,我會鎮定思痛重新好好看一本書(C++就是C++ Primer),重新學那一套學理,但是很有用助於自己理性思考的好想法。

---
現在VHDL也是這個時候了