2011年8月16日 星期二

在Keil C中建立library

身為一個IC設計工程師
最怕的莫過於是自己絞盡腦汁寫好的程式
不小心外流出去給別人
就如同灌蟋哥最怕自己的不雅照外流一樣(= =...)
這類型的程式不外乎是硬體描述語言, 韌體, 或是軟體
以硬體描述語言來說, 這類型的code外流的損傷還不至於太大
但對於韌體或軟體而言, 可能影響就不小囉

2011年7月2日 星期六

DE0-Nano 開箱文

話說在我幾個月前去學校找我老闆時
在他桌上發現一個好物
那就是DE0-Nano
當時我就跟他ㄠ一塊來完
但他也就只有這麼一塊=..=
不過他跟我說, 可以叫學弟用學生身份去買
會比較便宜喔!!

2011年5月2日 星期一

SD Card Driver Design (Read & Write)

經過重重關卡, 爬過千山萬嶺
終於將SD Card的初始化搞定了
接下來就可以對SD Card進行資料的讀寫囉
不過在這之前呢
還有一件非常重要的事情要做
如果不做
就算你的SD Card是class 10的速度
也發揮不出來喔

2011年4月11日 星期一

SD Card Driver Design (init. cond. 1)

上回提到了辨識SDHC與SD 2.x的方法
這次我們就來看SD 1.x與MMC的辨識方法囉

老樣子, 還是那一張圖...不過這次著眼於紅色框框內喔!!

2011年3月28日 星期一

難搞的wait until...

(3) 問題3
可否用wait until的方式寫asynchrous reset for d-ff?
//========== 以上蕭兄的問題3結束 ==========

我們知道wait until是可以寫出D-FF的
但對於比較了解或常寫VHDL的人而言
寫D-FF一定不會用wait until的語法來寫
一定會寫在process裡面
因為以D-FF的行為及架構而言
它是屬於循序邏輯(sequential logic, S.L.)
所以會把它擺在process裡面

out與buffer的迷思

(2) 問題2
我發現VHDL除了out還有buffer,Verilog卻只有output
請問VHDL什麼時候要用out?什麼時候要用buffer?
因為我在棋盤書看到有範例用buffer,所以很好奇他為什麼要用buffer型別?
這與FPGA的output buffer有關嗎?
//========== 以上蕭兄的問題2結束 ==========

首先介紹一本VHDL的入門書
將將----棋盤書

large_cover.jpg

這本書呢, 是我大學時上VHDL時的用書
(但我的封面並不是這樣, 難不成海外版的有差???)
這是本對於初學者學習VHDL的好教材
不僅深入淺出, 還搭配許多圖文並茂的講解
讓你能直覺性地了解VHDL與實際情況的差別
實在是居家旅行, 殺人滅口, 必備良藥
謎之音: 那麼在哪裡才能買得到呢
啊!這位仁兄運氣真好,我這裏正好有一本
(對不起, 本人太入戲了= =......)

2011年3月25日 星期五

原來D-Flip Flop可以這麼深奧...

強者蕭兄的問題如下:

(1)問題1
我想做出以下這個功能,內附verilog與vhdl模擬的結果timing圖







這是用Verilog的實現
當然我用VHDL可以寫一個很Verilog style的VHDL來實現這個功能沒問題
但我發現VHDL本身就提供rising_edge( )這個函數,
一般都是用來取代if clk'event and clk = '1'
我想利用rising_edge( )來實現我這個需求
以下是我寫的vhdl,但發現模擬結果不正確
若我想用rising_edge來寫,我該怎麼改?
//========== 以上蕭兄的問題1結束 ==========

看到這類問題
我的第一個直覺就是他code寫錯了
果不其然
他犯了全天下男人都會犯的錯(咦???)

新開張 -- 蕭兄貴賓室

話說我家強者蕭兄最近在玩VHDL

最近遇到了一些問題

因此, 他就請教我這位 "VHDL大濕"......

所謂善者不來, 來者不善

蕭兄的問題跟他的為人一樣犀利

總是語不驚人死不休

但他的問題也確實反映出許多VHDL對於Verilog的設計者"不便之處"

所以本人也為了他在Blog上開了個專屬的Q&A

當然小弟我也希望各位看倌有問題也可直接回文

我會用盡我畢生所學對VHDL之了解

跟各位互相交流探討

2011年3月23日 星期三

SD Card Driver Design (init.)

二話不說
先來張圖吧...

上圖就是完整的SD Card初始化流程
在這裡有幾個地方需要注意
首先是Power sequence
這個部分是SPI的相關設定
而SPI的詳細介紹
請參考wiki
http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

2011年3月22日 星期二

SD Card Driver Design (imple.)

話說SD卡的控制方式
大致上可分為三種
SD mode, SPI mode, SDIO
比較常見的為SD mode與SPI mode
(SDIO有, 但這方面本人並沒做太多survey)
其中SD mode又分成三線式(3-wire)與四線式(4-wire)
以3-wire最為常見
(4-wire似乎是為了UHS規格而新增的)

介紹控制方式之前
得先介紹一下SD卡內部的構造

2011年3月21日 星期一

SD Card Driver Design (intro.)

SD卡算是目前在市面上
普為流行的隨身儲存媒介
講白話一點
就是隨處可見啦
當然, 在一個系統當中
SD卡是否支援
變成一個相當大的issue
除了apple不吃這套之外...
(但實際上它內部的記憶體也是用SD卡喔!!!)

我回來了!!!

各位好久不見
荒廢已久的blog又再度開張了
這段時間就當作我"出國進修"吧

不過現在的主題可能會比較偏向firmware
畢竟現在所走的行業是firmware RD
所以...
若有看倌比較不習慣者
還請多多包含囉

慢慢的
我會把一些資料整理出來
然後供大家參考及討論

再次感謝各位的支持
本人會努力將這blog做好
當然有關IC或FPGA的問題也可以討論
但我相信網上強人很多
如強者我家蕭兄的"真OO無雙"
就是個很好的reference source
也歡迎各位去參考囉