(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裡面
這個Blog是記錄我從研究所到目前所接觸過的issue, 以及一些解決方案的步驟. 若此blog對您有所幫助, 希望您能不吝惜給個回應; 倘若內容中有錯誤之處, 也請您賜予鞭策及指正! 若欲轉載, 請註明出處, 謝謝!!
(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裡面
(2) 問題2
我發現VHDL除了out還有buffer,Verilog卻只有output
請問VHDL什麼時候要用out?什麼時候要用buffer?
因為我在棋盤書看到有範例用buffer,所以很好奇他為什麼要用buffer型別?
這與FPGA的output buffer有關嗎?
//========== 以上蕭兄的問題2結束 ==========
首先介紹一本VHDL的入門書
將將----棋盤書
這本書呢, 是我大學時上VHDL時的用書
(但我的封面並不是這樣, 難不成海外版的有差???)
這是本對於初學者學習VHDL的好教材
不僅深入淺出, 還搭配許多圖文並茂的講解
讓你能直覺性地了解VHDL與實際情況的差別
實在是居家旅行, 殺人滅口, 必備良藥
謎之音: 那麼在哪裡才能買得到呢
啊!這位仁兄運氣真好,我這裏正好有一本
(對不起, 本人太入戲了= =......)
強者蕭兄的問題如下:
(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之了解
跟各位互相交流探討
二話不說
先來張圖吧...
上圖就是完整的SD Card初始化流程
在這裡有幾個地方需要注意
首先是Power sequence
這個部分是SPI的相關設定
而SPI的詳細介紹
請參考wiki
http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
話說SD卡的控制方式
大致上可分為三種
SD mode, SPI mode, SDIO
比較常見的為SD mode與SPI mode
(SDIO有, 但這方面本人並沒做太多survey)
其中SD mode又分成三線式(3-wire)與四線式(4-wire)
以3-wire最為常見
(4-wire似乎是為了UHS規格而新增的)
介紹控制方式之前
得先介紹一下SD卡內部的構造
SD卡算是目前在市面上
普為流行的隨身儲存媒介
講白話一點
就是隨處可見啦
當然, 在一個系統當中
SD卡是否支援
變成一個相當大的issue
除了apple不吃這套之外...
(但實際上它內部的記憶體也是用SD卡喔!!!)