顯示具有 VHDL 標籤的文章。 顯示所有文章
顯示具有 VHDL 標籤的文章。 顯示所有文章

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寫錯了
果不其然
他犯了全天下男人都會犯的錯(咦???)