星期六, 6月 28, 2008

Arm Integrater 進展

2008/6/28 (六) 天氣情

動機:
Soc Design and Implementation期末報告,為了解MYIP 動作原理,寫一組自己的功能並能正常的動作於FPGA之上。原Lab6為一個BMP to JPEG 、JPEG to BMP 的 Encoder/Decoder,除了DCT以外,其他的動作皆由 C 處理。DCT為 Verilog code,synthesize 後放入FPGA執行。

構想:
  • 第一步 將Quantization步驟從SW加入HW,使其Performance 加速。
  • 第二步 可以再將 Predict (減法) 及 ZigZag ( Table Index )納入。
  • 第三步 Huffman Encode 納入。
  • 第四步 將上述完成後的功能再分離拆解,再修改為PipeLine 。
實驗步驟:
  1. 因有號數除法器以第三版除法實做,佔用Clock數較長,修改原先 nop 機制,加入Done 機制,在Software 端以 Polling 方式判斷暫存器,以判斷硬體是否完成。
  2. 首先將原始BMP 修改為 64x64 pixel,加速硬體模擬速度。
  3. 改寫原始Software( C code ) ,將不必要使用的Function移除,並改寫主要Encode方式,使其能易於分離出 Y/U/V易於控制。
  4. 將Quantization Table 讀入 Register,(宣告 reg[31:0] QTable[7:0][7:0] ),並於Read/write address訂於 0xcc000100,加入MyIP。
  5. 撰寫一有號數除法,並於Modelsim 上以 TestBench 驗證之,並加入MyIP。
  6. 在MyIP DCT 部分,施作二維DCT時,在第二維DCT每一列完成時,直接運算Quantization。
  7. Quantization部分,優先測試 U/V,而Y 先以Software ChanDCT + Software Quantization,避免整個畫面因HW失敗而完全不知道哪裡有問題,至少可先保留Y(亮度)。

問題討論:
  • 在第一步一開始就遇到許多的困難點,修改為Done 機制時就卡了一整天,不知為何一直無法存取該 Done Register,Code 看起來沒有問題,結果耕學學長在昨天發現,主機的S1 switch,S1 全部撥到OFF,正確的應該是要全部S1[1]On/ S1[2-4]Off,他也玩了一整天,而我們燒錄的brd檔,Flash 燒錄的Address為 0x20000000,這是一個嚴重的問題,也就是說全班同學在做Lab6時,所用的brd檔,所燒錄的程式並非自己燒的東西,而是版子上原有的Code( 0x00000000),修正Jump問題後,將版子調成燒錄到0x20000000,Done 機制完成了,可以動作了,真是慘痛的Switch,花了一整天。
  • 讀出來的Image還是錯誤的,回頭再從頭檢查,從Quantization Table開始,讀進Register後,再從C 讀回來發現,還是有問題,讀出來的值有時會變動、有時都是0,暈~,想想會不會又是HW問題,耕學說可能是那塊Flash 被我玩壞掉,試圖再將Switch 調到 0x00000000,brd 跟著燒到該位置,經過測試後,寫入Reg 跟讀出正常,此一步驟確認完成,沒問題
  • 影像還是出不來,天呀~,懷疑是除法器,不過有人說在Modelsim上是沒問題的不代表在FPGA上沒問題,好那單獨把除法加到MYIP,為屏除人為操作及機器問題,同時也換一台機器,此一步驟由Stenly、耕學測試,Stenly及耕學測試除法器沒問題
  • 還是不會動,懷疑是DCT後接除法流程問題,於是:
    • 在MyIP 加入一個 reg[31:0] div_ans[60]並Mapping 到0xcc000200,將除法器每一個Clock 的結果存入div_ans,並於Software讀回。
    • 天呀,又是 全 0

  • 2008/6/30 回頭想了一下耕學講的那個SWITCH,怪怪的,查了一下手冊DUI0098B_AP_UG.pdf裡,2-3 Setting the DIP switches
    • S1[1]

      S1[2]

      S1[3]

      S1[4]

      Function

      On

      x

      x

      x

      Code Starts execution from boot ROM followin.

      Off

      x

      x

      x

      Code starts execution from flash following rest.

    • 跟Stenly討論的結果:
      • 原則上...如果REMAP=0
        當 S1[1]=ON 時....memory 0x0 = 使用AP Boot ROM
        當 S1[1]=Off 時....memory 0x0 = 使用AP Flash
    • 這裡應該是全部調成Off 來跑才對,但奇怪的是為何給的brd檔都是寫到0x20000000。
    • 而Progcards.pdf 文內提到
      • Note that default address for the AP system flash programming is 0x24000000.
      • 這三者的關係怪怪的( 0x0、0x20000000、0x24000000)。
結論:
  • 深了,每次都是坐最後一班火車,快來不及了,搞了三個星期還卡在第一步。
  • 除法器在Modelsim 上撰寫含測試,不到30分鐘,拿到FPGA上燒錄及驗證也不到30分鐘,將DCT 與 Quantization 整合在一起花了三個星期還在搞,這樣子搞一個IP真的好久,而且好難驗證,Arm Integrater上的ICE 拔來拔去,電源開開關關,我看我燒了不下百次,這樣沒多久就會被我玩壞掉。
  • 這樣的Debug 模式真的是正確的嗎?我是不是漏了甚麼方式,或是應該用別種方式先做才是正確的?
  • 現在遇到的問題好像已經不是寫Verilog 的問題,而是整合上的問題,不知道要從哪裡去區分了,該切的也切開來測了,邏輯上都對,但跑起來就是不對。
  • 這東西只能在學校測,還好有耕學,陪著我們做了好幾個星期六,不然都不知去哪測了,也沒有小台一點的Arm Integrater可以玩,真難搞。
  • 老師體諒我們學生,只要做個除法器,不過我把寫報告的時間都拿來做實驗了‧‧‧,上了一學期的課,只能做個除法器 -.-|||,太丟臉了,交不太出去。

讓Verilog 在Ultra Edit 有正常高亮度顯示

讓Verilog 在Ultra Edit 有正常高亮度顯示

  • 先到UltraEdit 網站上抓這個檔 verilog2001.txt
  • 將內容貼到 C:\Program Files\UltraEdit\WORDFILE.TXT (依安裝路徑)
  • 重開UltraEdit 就可以了。
  • Done! 簡單吧

星期四, 6月 26, 2008

機車的Arm Integrater

2008/6/26
昨晚又花了將近5小時,Debug Arm Integrater,還是沒有結論,硬體上應該是沒問題,問題應該還是在Verilog Code,沒搞神麼大東西就搞好幾天@@。

測試一:
  • HW code 沒動的狀況下,SW 多寫一行存取0xcc000084 Address ( done flag ),CPU 跑到這會發生Data error,怪事,下一行讀取0xcc000000 - 28 的都沒問題,為何單獨讀取 84會出怪招
  • 再來 haddr[ 7: 0 ] 改為 [ 11: 0 ] ,因需要用更多addr,擴充了address的判讀,這更扯,CPU不知道跑去哪了,叫了就不回來了。
測試二:
  • 目前唯一能動的就是拿原來的bit 檔燒,而 採用 nop的方式去等,不要判讀 done flag,其餘SW code怎改都沒問題,研判原來的verilog 有問題。才會採用nop,他的done 看起來是寫好了,卻又不用,這就不知為何了,可能發生一樣的問題。
  • JPEG修改的方式確定是正確的沒錯了,現在就剩HW的問題了。

星期三, 6月 25, 2008

Can't tftp to server ( Server error )

Question from Roger, tftp server connect success, but can't download or upload

First check iptable -L , then search about selinux keyword in /etc
seems selinux make this questions

resolve:
  1. setenforce 0
  2. edit /etc/selinux/config
    1. SELINUX=disabled

星期二, 6月 24, 2008

CrossPlateform Architechture

利用中午時間空檔,花了一小時做下午的簡報,看起來成效還OK.
至少開會有東西好講,不然一團人在那畫黑版也很累。
OpenOffice 還是不夠普級,連Google也不能完整Supports

星期一, 6月 23, 2008

Arm Integrated 的實驗

2008/6/21(六) 天氣熱
今天跟Stenly 兩個人到實驗室做 Arm Integrated 的實驗
  • 架好Arm Integrated.
  • 寫好 Software Code.
  • 寫好 Verilog , synthese 後燒到 FPGA上.
架設Arm Integrated.
  • 首先確認 Multi-ICE.
    • PC要裝好Multi-ICE driver.
    • 確認 Print Cable 是好的,ICE是好的。
    • Run multi-ice server, 可以抓到Core module及LM module.
    • 要燒錄LM module 時,PIN要短路。
  • Verilog 燒錄到FPGA上時,有幾個問題
    • Arm Integrated在早上,跑起來是OK的,在未更新FPGA code的狀況下,同樣的SW code 到了下午竟然跑不出來,AXD Running stat 無法停止。
  • 原先的構想( 修改原本的JPEG Lab,將 Quantization 作進DCT之後,有時間再改成Pipeline )
    • 不過遇到不少問題,最後到晚上完成的版本,修改JPEG.c Quantization 只作U、V,Y暫時先不做,Y先用Software作,如果錯誤至少可以取得正確的影像輪廓。
問題:
  • 兩台Arm Interated ,有一台不正常,在Multi-ICE下 抓到CM 是 unknow,而另一台是ARM920T
  • 一張BMP 256x256 pixel 影像如果直接餵進MYIP,Reg 使用量太大,如果放入SRAM,又遷扯到兩件事
    1. MYIP <---> SRAM,存取BUS時,是否跟 CPU <---> DRAM 共用BUS,這點還沒澄清,如果ARM Integrated 共用BUS,這樣就不太有意義了。
    2. 若BUS獨立,MYIP 讀取SRAM需要有Arbiter,目前沒armbiter IP,還要再寫一個Arbiter。
  • 寫的verilog 燒進FPGA,不能Debug,稍微寫大一點就頭痛了,回歸到問題點,還是要回到modelsim,而且MYIP 要從modelsim 打testbench極麻煩,相當於寫一個簡單的arm VIP,而單純的測DCT 又無法測到新增加的code,要加新的功能似乎驗證時間 > 加新功能
  • 整個程式流程牽涉到這些軟體:Xilinx ISE、AXD、Modelsim、armlink、Multi-ICE。
  • AXD 要抓 Multi-ICE Server時要注意,防毒軟體的Firewall 要記得關,這個沒關會抓不到Multi-ICE Server的RPC.
  • 今天的實驗搞到晚上11點還是沒結果,今天有一半的時間在搞硬體,不太穩定的感覺,要趕火車了,搞到一整天,Arm Integrated好像掛了,拿最一開始老師給的Code跑,Integrate 還是卡死在裡面,時間來不及查問題,又抱還給學長了。

星期六, 6月 14, 2008

這個超酷,想了好久竟然有人做出來了

早上無意間在YouTube 發現這個東西,超酷

更多在這 http://tw.youtube.com/user/USCCinematicArts
這不是爛貨喔, 是它們的研究!

Keywor:RESEARCH: Interactive 360º Light Field Display

星期二, 6月 10, 2008

Windows CIFS Server relogin command

Windows CIFS Server relogin command 。

星期一, 6月 09, 2008

Knowledge sharing and yahoo answers: Everyone knows something

Some Research of this Paper:
  • a user asks for information on how to read a file using the C programming language.
  • Who is the better actress, Angelina Jolie or Jennifer Aniston?
  • The author has also done some research in 4.4 Expertise depth, regarding the YA reply depth is not high.
  • 5.1 Relationships between categories Fig 6 (a)、(b) Unexpectedly may pull in view of Similarities between categories with cosin relates, is really mysterious.
  1. Jokes、Polls get few length.
  2. In this Graph Programming, Chemistry, and Physics will tend to attract few replies

Seeks the suggestion, opinion, YA may provide the general response, but especially in the programming language and so on in the specialized question and answer, the depth which obtained arrives is insufficient, but regarding the general question which like
user and so on family is familiar with, actually may obtain many different responses, generally speaking YA is very good obtain suggests the way.

Questions:
  • In 3. YAHOO ANSWERS AND DATA SET Part:we harvested one month of YA activity. The dataset includes 8,452,337 answers to 1,178,983 questions, with 433,402 unique repliers and 495,414 unique askers. How did he get this DataSet?
How to Get Fulltext:
  • First, Enter ACM from Here。
  • Search Keywords: expertise finding, help seeking, knowledge sharing, online communities, question answering, social network analysis
Reference:PS: This paper looked quite several days, but also did not have the means completely to understand, looks at long time but only to write several characters. 2008/06/09.

星期三, 6月 04, 2008

V2Html

v2html 可以將 verilog 轉 html 並有Hierarchy 排列,雖沒有doxygen那樣漂亮,可以將就著用

需要安裝 Perl Active State Perl 5.6.0. 免費

  • v2html /path/to/your/verilog/files/*.v