<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-32302678</id><updated>2012-01-27T15:41:33.453+08:00</updated><category term='Verilog'/><category term='VHDL'/><category term='FPGA'/><category term='usb'/><category term='Tool'/><title type='text'>Gary的Digital Design日誌</title><subtitle type='html'>成立這個blog的目的是想要將自己對於數位設計(Digital Design)的研究過程記錄下來。一方面紀錄自己在這個領域的成長。另一方面也希望能有前輩看到我的問題過來幫我指導一下。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-32302678.post-8954635852335070758</id><published>2012-01-26T23:57:00.000+08:00</published><updated>2012-01-26T23:57:09.331+08:00</updated><title type='text'>關於在Xilinx Spartan-3E Starter Kit上使用OpenRisc core的資訊</title><content type='html'>之前買了一塊Xilinx Spartan-3E Starter Kit在家裡，除了寫寫小東西讓LED燈閃來閃去外，也就沒有做過什麼了。其實之前一直想把OpenRISC弄上去試看看。無奈當時相關資訊有限，所以弄了一兩天弄不出來，也就打住了！&lt;br /&gt;&lt;br /&gt;不過，最近重新上網找了一下，發現在OpenRISC網站上已經有人弄成HOWTO了！找個時間來試看看吧！&lt;br /&gt;&lt;br /&gt;&lt;a href="http://opencores.org/websvn,filedetails?repname=minsoc&amp;amp;path=%2Fminsoc%2Ftags%2Frelease-0.9%2Fdoc%2FHOWTO.pdf&amp;amp;rev=22"&gt;Minimal OpenRISC System on Chip How To&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-8954635852335070758?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/8954635852335070758/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=8954635852335070758&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/8954635852335070758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/8954635852335070758'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2012/01/xilinx-spartan-3e-starter-kitopenrisc.html' title='關於在Xilinx Spartan-3E Starter Kit上使用OpenRisc core的資訊'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-3506347416354342738</id><published>2010-01-01T14:24:00.001+08:00</published><updated>2010-01-01T14:24:41.163+08:00</updated><title type='text'>2010新年快樂</title><content type='html'>祝所有我的朋友與網友們在2010年身體健康，事事順心。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-3506347416354342738?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/3506347416354342738/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=3506347416354342738&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/3506347416354342738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/3506347416354342738'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2010/01/2010.html' title='2010新年快樂'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-6476263435316520110</id><published>2008-10-15T18:36:00.008+08:00</published><updated>2009-09-22T20:05:57.062+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usb'/><title type='text'>USB的Bandwidth與throughput</title><content type='html'>在寫USB相關應用的時候，有時先了解bandwidth與throughput的限制，會比較有利於日後的開發。&lt;br /&gt;如果沒有在一開始的時候就弄清楚速度上面的限制，很可能會達不到最後想要的目標。&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;這裡簡單的列出了USB的bandwidth與throughput。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;caption&gt;&lt;span style="font-size: 100%;"&gt; USB Bandwidth &amp;amp; HID throughtput &lt;/span&gt;&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt; &lt;th&gt;&lt;span style="font-size: 100%;"&gt; 速度 &lt;/span&gt;&lt;br /&gt;&lt;/th&gt;&lt;th&gt;&lt;span style="font-size: 100%;"&gt; Bandwidth (bits/s) &lt;/span&gt;&lt;br /&gt;&lt;/th&gt;&lt;th&gt;&lt;span style="font-size: 100%;"&gt; HID throughput (bytes/sec/report) &lt;/span&gt;&lt;br /&gt;&lt;/th&gt;&lt;th&gt;&lt;span style="font-size: 100%;"&gt; HID throughput (bytes/microframe/IO report) &lt;/span&gt;&lt;br /&gt;&lt;/th&gt;&lt;th&gt;&lt;span style="font-size: 100%;"&gt;Remark &lt;/span&gt;&lt;br /&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td&gt;&lt;span style="font-size: 100%;"&gt;Low Speed &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;1.5M &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;800 &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;8 &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td&gt;&lt;span style="font-size: 100%;"&gt;Full Speed &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;12M &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;64,000 &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;64 &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td&gt;&lt;span style="font-size: 100%;"&gt;High Speed &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;480M &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;23.4M &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;3072 &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size: 100%;"&gt;REF: &lt;a class="external free" href="http://www.edacn.net/html/86/49586-52367.html" rel="nofollow" title="http://www.edacn.net/html/86/49586-52367.html"&gt;http://www.edacn.net/html/86/49586-52367.html&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;a href="http://www.dev.idv.tw:8080/mediawiki/index.php/USB%E7%9A%84Bandwidth%E8%88%87throughput"&gt;USB的Bandwidth與throughput&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-6476263435316520110?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/6476263435316520110/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=6476263435316520110&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/6476263435316520110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/6476263435316520110'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2008/10/usbbandwidththroughput.html' title='USB的Bandwidth與throughput'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-3517128069451285605</id><published>2008-04-18T22:07:00.010+08:00</published><updated>2009-09-22T20:01:49.671+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FPGA'/><title type='text'>把Xilinx Spartan-3E Starter Kit當成JTAG Download Cable</title><content type='html'>最近公司的Xilinx USB platform cable突然變得很搶手，像我這種慢手慢腳的人就只能拿到舊的Parallel port介面的download cable。這個速度之慢，用過的人都知道那種痛苦。回到家裏後，看著自己桌上已經積灰塵的Xilinx Spartan-3E Starter Kit，腦中突然靈光一閃--『有沒有可能把Xilinx Spartan-3E Starter Kit內建的JTAG download的功能當成普通的download cable使用呢？』&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;為了證實自己的想法是對的，隔天就把這張板子帶到公司來了。&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_p8s5_RZGL_A/SArRjbKKtoI/AAAAAAAAABo/WRcIxEpBcSg/s1600-h/DSC07497-s.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5191191927013947010" src="http://4.bp.blogspot.com/_p8s5_RZGL_A/SArRjbKKtoI/AAAAAAAAABo/WRcIxEpBcSg/s320/DSC07497-s.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;在板子上面，可以看到右上方有一排標記為JTAG的排針。我想那就是JTAG連接的地方吧。不過再接這些線之前，要先確認在板子中間上方的Jumper有正確的跳到JTAG模式。&lt;a href="http://1.bp.blogspot.com/_p8s5_RZGL_A/SArS7rKKtpI/AAAAAAAAABw/wyQUwSuhY4k/s1600-h/DSC07500-s.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5191193443137402514" src="http://1.bp.blogspot.com/_p8s5_RZGL_A/SArS7rKKtpI/AAAAAAAAABw/wyQUwSuhY4k/s320/DSC07500-s.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;br /&gt;一個JTAG基本的pin有TCK，TMS，TDI，TDO再加上VREF(VCC), GND。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_p8s5_RZGL_A/SArUSbKKtqI/AAAAAAAAAB4/-aK2STN8DQE/s1600-h/DSC07502-s.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5191194933491054242" src="http://4.bp.blogspot.com/_p8s5_RZGL_A/SArUSbKKtqI/AAAAAAAAAB4/-aK2STN8DQE/s320/DSC07502-s.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;一開始，我想先將VREF及GND接起來，接著再來連接其他的部份。但是當我將GND接好，再將VREF(VCC)接起來時，卻看到還沒把USB接上去的板子突然燈亮了起來。我嚇了一跳！趕快把VREF拔掉，只留下GND先接著。心裡想著，還是先接其他的好了，不能動的時候再把VREF接上去。&lt;br /&gt;&lt;br /&gt;除了TDI及TDO外，其他的pin都是直接一個對一個的接。在接TDI與TDO的時候，我猶豫了一下。理論上，JTAG是類似於SPI那樣串接的裝置。所以，我似乎應該把STARTER KIT上面的TDI接到另外一張板子的TDO。而TDO接在另外一張板子的TDI才對。但是，出乎我意料外的，這樣接了以後，再iMPACT的工具上面開始出現了一大堆的FPGA chip。看起來是因為變成了一個closed loop了。趕快把他拔掉後，重新以TDI對TDI，TDO對TDO的方式接起來。重新啟動iMPACT後，我看到了另外一張板子上面的FPGA chip出現了。&lt;br /&gt;&lt;br /&gt;也就是說，除了VREF不要接外，其他的都是直接pin to pin的接起來就可以了！&lt;br /&gt;&lt;br /&gt;懷著忐忑不安的心情，把它的bit file燒進去，重新reset....&lt;br /&gt;&lt;br /&gt;YA！！！&lt;br /&gt;會動ㄟ...&lt;br /&gt;成功了！！！！&lt;br /&gt;&lt;br /&gt;說起來，這個STARTER KIT本身也才5000多台幣，那個Xilinx Platform Cable也要差不多這個價錢。所以說，如果你已經有了這種內建USB program JTAG功能的板子，就可以嘗試看看。可以省下一筆買platform cable的錢喔！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-3517128069451285605?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/3517128069451285605/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=3517128069451285605&amp;isPopup=true' title='23 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/3517128069451285605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/3517128069451285605'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2008/04/xilinx-spartan-3e-starter-kitjtag.html' title='把Xilinx Spartan-3E Starter Kit當成JTAG Download Cable'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_p8s5_RZGL_A/SArRjbKKtoI/AAAAAAAAABo/WRcIxEpBcSg/s72-c/DSC07497-s.jpg' height='72' width='72'/><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-7901074329741885585</id><published>2008-03-30T13:33:00.005+08:00</published><updated>2009-09-22T20:02:28.978+08:00</updated><title type='text'>Intronix的USB介面Logical Analyzer支援I2C, SPI, RS232及CAN的解碼</title><content type='html'>之前有介紹過一款USB介面的Logical Analyzer。最近他的Software更新了。新的Software提供了一個重要的功能，就是對於Protocol的解碼。目前支援的協定如下：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I2C&lt;/li&gt;&lt;li&gt;SPI&lt;/li&gt;&lt;li&gt;RS-232&lt;/li&gt;&lt;li&gt;CAN&lt;/li&gt;&lt;/ul&gt;如果你有買這個好用的LA，記得去&lt;a href="http://www.pctestinstruments.com/downloads.htm"&gt;下載&lt;/a&gt;這個最新的軟體版本喔。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_p8s5_RZGL_A/R-8n9GxamtI/AAAAAAAAABg/nEkDxxluLYo/s1600-h/i2c.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5183405626870110930" src="http://4.bp.blogspot.com/_p8s5_RZGL_A/R-8n9GxamtI/AAAAAAAAABg/nEkDxxluLYo/s320/i2c.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-7901074329741885585?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/7901074329741885585/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=7901074329741885585&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/7901074329741885585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/7901074329741885585'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2008/03/intronixusblogical-analyzeri2c-spi.html' title='Intronix的USB介面Logical Analyzer支援I2C, SPI, RS232及CAN的解碼'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_p8s5_RZGL_A/R-8n9GxamtI/AAAAAAAAABg/nEkDxxluLYo/s72-c/i2c.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-6877860280695062481</id><published>2008-02-10T23:41:00.000+08:00</published><updated>2008-02-10T23:45:06.017+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VHDL'/><title type='text'>Doxygen開始支援VHDL了</title><content type='html'>&lt;a href="http://www.stack.nl/%7Edimitri/doxygen/index.html"&gt;Doxygen&lt;/a&gt; 是C/C++程式設計師常用的一個文件產生器。透過它可以把程式碼中的註解轉換成很漂亮的文件。轉出來的可以是PDF，也可以是HTML文件，甚至是CHM檔案。除了C/C++之外，它還支援了許多其他的語言。在最近發表的v1.5.5版本中，開始支援了VHDL。有在使用VHDL的人，可以去體驗一下。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-6877860280695062481?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/6877860280695062481/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=6877860280695062481&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/6877860280695062481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/6877860280695062481'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2008/02/doxygenvhdl.html' title='Doxygen開始支援VHDL了'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-5115465790639559714</id><published>2007-12-27T20:19:00.001+08:00</published><updated>2012-01-03T08:53:42.805+08:00</updated><title type='text'>一篇關於Xilinx網站資源導讀的好文章</title><content type='html'>剛接觸到FPGA環境時，難免對於一大堆要接觸的專有名詞感到心煩。第一次跑到Xilinx的網站上面去看資料時，更是覺得有若大海撈針。經過了一陣子的磨練，總算是比較知道該到什麼地方找資料。&lt;br /&gt;&lt;br /&gt;最近看到了一篇不錯的文章，這個文章介紹了Xilinx網站資源。如果當初有看到這篇文章，也許就可以省下許多時間了。這篇文章是簡體的，不過非常推薦剛接觸Xilinx FPGA的人仔細閱讀。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.rickysu.com/bo/Xilinx_Web_Guide/"&gt;Xilinx網站資源導讀&lt;/a&gt;(簡體中文) (&lt;a href="http://www.eefocus.com/Ricky/blog/07-10/75372_e2e47.html"&gt;其他網址&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://babelfish.yahoo.com/translate_url?doit=done&amp;amp;tt=url&amp;amp;intl=1&amp;amp;fr=bf-home&amp;amp;trurl=http%3A%2F%2Fwww.rickysu.com%2Fbo%2FXilinx_Web_Guide%2F&amp;amp;lp=zh_zt&amp;amp;btnTrUrl=Translate"&gt;Xilinx網站資源導讀&lt;/a&gt;(繁體中文)&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-5115465790639559714?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/5115465790639559714/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=5115465790639559714&amp;isPopup=true' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/5115465790639559714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/5115465790639559714'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2007/12/xilinx.html' title='一篇關於Xilinx網站資源導讀的好文章'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-5390752536071914778</id><published>2007-11-21T17:58:00.000+08:00</published><updated>2007-11-22T09:50:02.570+08:00</updated><title type='text'>一個也是使用Xilinx Spartan-3E starter kit的Project</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.fpga.synth.net/pmwiki/pmwiki.php?n=Main.HomePage"&gt;FPGA-Synth&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;上面這個網站希望能夠提供一個使用FPGA設計的音效合成器引擎。我注意到它的原因是他也是使用Xilinx的Spartan-3E Starter Kit來開發。這個網站上面將很多他開發過程的東西都記錄下來, 而且也都有Verilog的source code。有玩Spartan-3E Starter Kit的人可以去看看。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-5390752536071914778?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/5390752536071914778/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=5390752536071914778&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/5390752536071914778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/5390752536071914778'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2007/11/xilinx-spartan-3e-starter-kitproject.html' title='一個也是使用Xilinx Spartan-3E starter kit的Project'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-3706381532014369292</id><published>2007-08-16T10:31:00.001+08:00</published><updated>2009-09-22T20:03:25.174+08:00</updated><title type='text'>如何離線(off-line)觀看HP/Agilent邏輯分析儀(Logical Analyzer)的Waveform?</title><content type='html'>一台高性能的LA可不是我們這種市井小民可以負擔的。對於公司而言，多買個幾台可能也是很高的開銷。所以，有些公司內的RD可能就要幾個人排隊搶這個LA用了。雖然之前寫了一篇有關於PC-based的LA介紹，不過有些時候還是需要使用這種高性能的LA。這篇文章就是告訴你如何將HP/Agilent的LA上的waveform帶回你自己的電腦看。這樣大家就可以一次把想要抓的資料抓好存檔，回到自己的座位上慢慢看了。或者，也可以寄給需要的人，大家就以一起討論了。舉例來說，你買的IC廠商在印度，你在waveform上看到了問題，就可以寄給他。這樣他也不會無頭緒的幫你處理問題。&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;首先，你需要去下面Agilent的網站去下載一個200多MB的軟體。然後裝在你的電腦上！&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.home.agilent.com/agilent/editorial.jspx?cc=US&amp;amp;lc=eng&amp;amp;ckey=1000000953:epsg:sud&amp;amp;nid=-35723.350434.02&amp;amp;id=1000000953:epsg:sud&amp;amp;cmpid=2-186"&gt;Agilent Logical Analyzer Software download site&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;接著，當你抓資料的時候，要依照下面的步驟。因為我只用過HP/Agilent 16700系列的LA，所以如果您是其他機種，可能自己查一下手冊吧。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;開啟Workspace&lt;/li&gt;&lt;li&gt;從Utility中拖拉File Out這個Icon到您的Workspace中。&lt;/li&gt;&lt;li&gt;將指定抓資料的Port與這個File Out Icon連起來。&lt;/li&gt;&lt;li&gt;在File Out Icon上面點兩下。&lt;/li&gt;&lt;li&gt;選擇Fast Binary Data Format，並且使用Compress by Gzip。&lt;/li&gt;&lt;li&gt;使用Run開始抓資料&lt;/li&gt;&lt;li&gt;資料抓完後，使用Save to File存檔。&lt;/li&gt;&lt;li&gt;您會看到有兩個檔案，這兩個檔案就是您的waveform。&lt;/li&gt;&lt;li&gt;把這兩個檔案download或是複製到您的電腦上。&lt;/li&gt;&lt;li&gt;開啟Agilent的軟體。&lt;/li&gt;&lt;li&gt;使用Import功能。&lt;/li&gt;&lt;li&gt;選擇Fast Binary Data。&lt;/li&gt;&lt;li&gt;選擇從LA上取得的資料檔，如果您有用Compress by Gzip，記得要先解開。&lt;/li&gt;&lt;/ul&gt;到這裡您應該就可以看到Waveform了。您可能會發現好像多了幾個data line。那是資料檔附帶的Time Zone資料，您可以不要理會它。&lt;br /&gt;&lt;br /&gt;雖然這個軟體不算十分好用，但是比起LA那個不方便的使用環境，還是順手多了。而且，要與別人討論的時候也很方便，又不用大家搶著去排隊使用LA。真是一舉數得阿！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-3706381532014369292?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/3706381532014369292/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=3706381532014369292&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/3706381532014369292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/3706381532014369292'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2007/08/off-linehpagilentwaveform.html' title='如何離線(off-line)觀看HP/Agilent邏輯分析儀(Logical Analyzer)的Waveform?'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-4636555030435558298</id><published>2007-03-26T13:26:00.000+08:00</published><updated>2007-03-26T13:48:24.083+08:00</updated><title type='text'>一個有不少Verilog範例的網頁</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.asic.co.in/Index_files/verilogexamples.htm#link5"&gt;Verilog Examples&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;這個網頁上面有許多的Verilog範例，如FlipFlop, Shift Register, Single-port RAM等。雖然每個部份都只有一點點的code。也許不能真正拿出去tape-out。不過，至少對於常見元件的基本介面有個了解&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-4636555030435558298?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/4636555030435558298/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=4636555030435558298&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/4636555030435558298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/4636555030435558298'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2007/03/verilog.html' title='一個有不少Verilog範例的網頁'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-4809885787811255740</id><published>2007-02-28T11:57:00.001+08:00</published><updated>2009-09-22T20:03:56.059+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tool'/><title type='text'>好用的計算機工具Console Calculator</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_p8s5_RZGL_A/ReT_81z4gXI/AAAAAAAAAAU/CZXh2Rh0WSU/s1600-h/ccalc.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5036431704008982898" src="http://2.bp.blogspot.com/_p8s5_RZGL_A/ReT_81z4gXI/AAAAAAAAAAU/CZXh2Rh0WSU/s320/ccalc.png" style="cursor: pointer;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;在網路上面找了很久，終於發現了一個適合程式設計及數位設計的計算機。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://ccalc.shanebweb.com/"&gt;Console Calculator(CCalc)&lt;/a&gt;&lt;a href="http://ccalc.shanebweb.com/"&gt;&lt;img alt="Console Calculator" border="0" src="http://ccalc.shanebweb.com/images/getccalc.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;正如他的名字所顯示的，這是一個文字模式的計算機。正也因為如此，他具有顯示history的功能，同時也可以自訂變數。當然，如果僅是如此，很多計算機程式也有這樣的功能。甚至找一個Script language（如Tcl或Python）也可以有類似的功能。&lt;br /&gt;&lt;br /&gt;對於我們這種人，工作上最常遇到的就是二進制或是16進制的計算了。在CCalc的Console中接受下面幾種數字表示方式：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;十進制：102, 981, 123456&lt;/li&gt;&lt;li&gt;二進制：0b11101101, 0b11110000&lt;/li&gt;&lt;li&gt;十六進制：0x1FFB, 0xFFFF&lt;/li&gt;&lt;/ul&gt;而且您也可以在一個運算式中同時使用上面的各種表示方式。您也可以選擇最後的結果，要以哪種表示方式顯示。這對於我們這種常在不同進制的數字間打轉的人是非常方便的。&lt;br /&gt;&lt;br /&gt;另外，他也提供了常用的數量級表示法：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;P   10^15&lt;/li&gt;&lt;li&gt;T   10^12&lt;/li&gt;&lt;li&gt;G   10^9&lt;br /&gt;&lt;/li&gt;&lt;li&gt;M   10^6&lt;br /&gt;&lt;/li&gt;&lt;li&gt;k   10^3&lt;br /&gt;&lt;/li&gt;&lt;li&gt;c   10^-2&lt;br /&gt;&lt;/li&gt;&lt;li&gt;m   10^-3&lt;br /&gt;&lt;/li&gt;&lt;li&gt;u   10^-6&lt;br /&gt;&lt;/li&gt;&lt;li&gt;n   10^-9&lt;br /&gt;&lt;/li&gt;&lt;li&gt;p   10^-12&lt;/li&gt;&lt;li&gt;f   10^-15&lt;/li&gt;&lt;li&gt;a   10^-18&lt;/li&gt;&lt;/ul&gt;所以，如果你想知道60MHz的週期是多少。就可以用1/60M就得到答案是1.66667e-8秒。懶得去想這個答案是多少奈秒嗎？很簡單，只要在這個答案的下面輸入/1n。也就是除以1e-9的意思。就可以得到答案是16.6667ns了。這邊也讓我們看到CCalc的另外一個好用的功能。如果輸入的算式的第一個項目是operator。那麼他會自動在最前面插入上一個算式的結果。&lt;br /&gt;&lt;br /&gt;另外，他也提供自定義的變數功能。所以您可以很簡單的寫出如：&lt;br /&gt;&lt;br /&gt;a = 3&lt;br /&gt;b = 4&lt;br /&gt;a+b&lt;br /&gt;&lt;br /&gt;這樣的計算過程。所以您可以隨時把某個計算過程的結果記錄下來：&lt;br /&gt;&lt;br /&gt;result01 = ans&lt;br /&gt;&lt;br /&gt;ans是CCalc的一個特別的變數，他永遠都是代表著前一個運算式的結果。&lt;br /&gt;我為了找一個好用的計算機程式，已經看過一堆網路上面的要錢或是不要錢的程式。但是，目前為止，我認為沒有一個比這個CCalc更適合程式設計或是數位設計了。&lt;br /&gt;&lt;br /&gt;最後補上一些其他的features:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;提供常用的數學函式，如：sin, cos, ln...&lt;/li&gt;&lt;li&gt;可以讓您自訂函式。&lt;/li&gt;&lt;li&gt;可以自訂一個文字檔，裡面放置算式，透過CCalc載入做一次運算。&lt;/li&gt;&lt;li&gt;上下鍵可叫出之前的歷史算式。&lt;/li&gt;&lt;li&gt;可以設定縮小成Tray icon。&lt;/li&gt;&lt;/ul&gt;其他的就有待大家自己去用了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-4809885787811255740?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/4809885787811255740/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=4809885787811255740&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/4809885787811255740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/4809885787811255740'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2007/02/console-calculator.html' title='好用的計算機工具Console Calculator'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_p8s5_RZGL_A/ReT_81z4gXI/AAAAAAAAAAU/CZXh2Rh0WSU/s72-c/ccalc.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-6134323643832892610</id><published>2007-02-28T00:04:00.000+08:00</published><updated>2007-02-28T00:10:04.733+08:00</updated><title type='text'>一本有關半導體知識的書</title><content type='html'>在網路上面看到一本有關於半導體裝置的書。雖然做數位設計不需要去對這些半導體物理有太深入的了解。但是，多看看總是好的。有興趣的人可以自己去看看囉。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://ece-www.colorado.edu/%7Ebart/book/book/index.html"&gt;Principles of Semiconductor Devices&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-6134323643832892610?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/6134323643832892610/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=6134323643832892610&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/6134323643832892610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/6134323643832892610'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2007/02/blog-post.html' title='一本有關半導體知識的書'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-116663092144876906</id><published>2006-12-20T23:58:00.000+08:00</published><updated>2006-12-21T00:09:23.546+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Verilog'/><title type='text'>將Verilog轉換成HTML的工具</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.burbleland.com/v2html/v2html.html"&gt;v2html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;v2html是一個用Perl寫成的工具，可以透過他將您的Verilog設計轉換成為HTML的形式。當然，如果僅是進行轉換就不值得我為它寫一篇文章了。這個經過轉換成的HTML檔案，除了好看之外，可以利用超連結的功能，進行Verilog的程式追蹤。基本上，v2html可以提供下面的這些功能：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;將Verilog程式碼依照關鍵字，訊號，註解等屬性，以不同的顏色標示出來。&lt;/li&gt;&lt;li&gt;可以利用HTML超連結的功能，將可以在function, module, task, define, parameter直接連結。&lt;/li&gt;&lt;li&gt;提供popup視窗顯示訊號的屬性。&lt;/li&gt;&lt;li&gt;提供階層式的方式展現設計。&lt;/li&gt;&lt;li&gt;提供照字母順序排列的索引。&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-116663092144876906?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/116663092144876906/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=116663092144876906&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/116663092144876906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/116663092144876906'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/12/veriloghtml.html' title='將Verilog轉換成HTML的工具'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115648401843609829</id><published>2006-08-25T13:21:00.000+08:00</published><updated>2006-08-29T11:17:07.070+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FPGA'/><title type='text'>給Spartan-3E starter kit用的子板</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3368/784/1600/tt_%20003.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/3368/784/320/tt_%20003.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3368/784/1600/tt_%20002.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/3368/784/320/tt_%20002.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;上次買了&lt;a href="http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?iLanguageID=1&amp;key=HW-SPAR3E-SK-US"&gt;Xilinx Spartan-3E starter kit&lt;/a&gt;後，我就一直有個疑問。那就是他的擴充socket要怎麼接？ 他的擴充socket並不是由排針的方式，而是用了一個高速的100-pin Hirose FX2 socket connector。這下可麻煩了！？這可是要怎麼接呢？該不是要我把他焊下來，換上自己的針腳吧？&lt;br /&gt;&lt;br /&gt;在網路上找了很久，好不容易被我看到了&lt;a href="http://www.digilentinc.com"&gt;digilent這間公司&lt;/a&gt;有在做這個介面的子板。他有兩張板子都可以給這個socket用。一個是你要自己焊上去的&lt;a href="http://www.digilentinc.com/Products/Detail.cfm?Prod=FX2WW&amp;amp;Nav1=Products&amp;Nav2=Accessory"&gt;&lt;span class="BOLD26"&gt;FX2WW子板&lt;/span&gt;&lt;/a&gt;，另外一個是上面有麵包板的&lt;a href="http://www.digilentinc.com/Products/Detail.cfm?Prod=FX2BB&amp;amp;Nav1=Products&amp;amp;Nav2=Accessory"&gt;FX2 Bread board&lt;/a&gt;。還好，這兩個都不是很貴。總算是有辦法擴充我的Spartan-3E的板子了。&lt;br /&gt;&lt;br /&gt;另外，這間公司自己也有在賣FPGA的板子。我也找到另外一間有做很多FPGA板子的公司叫做&lt;a href="http://www.xess.com/"&gt;Xess&lt;/a&gt;。以後有機會升級我的板子時，再來看看囉！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115648401843609829?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115648401843609829/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115648401843609829&amp;isPopup=true' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115648401843609829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115648401843609829'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/spartan-3e-starter-kit.html' title='給Spartan-3E starter kit用的子板'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115618408943392079</id><published>2006-08-22T01:34:00.000+08:00</published><updated>2006-08-25T13:36:49.333+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Verilog'/><title type='text'>使用DOT來描述你的狀態機</title><content type='html'>在數位設計中，最常用到技巧之一便是所謂的有限狀態機(&lt;a href="http://en.wikipedia.org/wiki/Finite_state_machine"&gt;Finite State Machine, FSM&lt;/a&gt;)。但是，撰寫FSM的Verilog時，您都怎麼來註解Verilog以表示這是一個FSM呢？也許大家都有自己的技巧吧。可是，我相信最佳描述FSM的技巧就是使用狀態圖。問題是，Verilog是純文字檔，你不能像在Word或是Visio裡面一樣畫圖。只能使用ASCII來做。用ASCII來畫圖？的確是可以，但是好像怪怪的。&lt;br /&gt;&lt;br /&gt;我要介紹另外一個工具。這個免費的工具叫做&lt;a href="http://www.graphviz.org/"&gt;Graphviz&lt;/a&gt; 。它是專門用來畫各種有向圖與無向圖。而且不是像Visio那樣使用圖形介面來畫，而是使用一種叫做&lt;a href="http://www.graphviz.org/doc/info/lang.html"&gt;dot的language&lt;/a&gt;來畫。OK，有人聽到要再學一個language，可能已經開始準備關掉這個網頁了！等一下，別急！完整的dot學起來，當然很花時間，不過如果我們只要用到畫FSM的部份，就很簡單，很直覺了。&lt;br /&gt;&lt;br /&gt;大家都知道FSM其實就是某種有向圖。有向圖主要由兩個東西組成，一個是node，另外一個是有向的edge。而且，有向圖的node與edge都各自有自己的label。&lt;br /&gt;&lt;br /&gt;先讓我們考慮一個非常簡單的FSM。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;case (state)&lt;br /&gt;`S0:&lt;br /&gt;begin&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; state &amp;lt;= (x == 1'b0 ? `S0 : `S1);                   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; z &amp;lt;= 1'b0;            &lt;/span&gt;&lt;br /&gt;end&lt;br /&gt;`S1:&lt;br /&gt;begin&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; state &amp;lt;= (x == 1'b1 ? `S0 : `S1);                    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; z &amp;lt;= 1'b1;    &lt;/span&gt;&lt;br /&gt;end&lt;br /&gt;endcase &lt;/pre&gt;這是一個非常簡單的Moore FSM。現在我們就看看如何用dot來描述它。在 dot中，註解的寫法與Verilog或是C/C++是一樣的。而且它規定一個有向圖一定是digraph NAME { .... }這樣的形式。請看下面：&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;digraph G {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;// Graph attributes&lt;/span&gt;&lt;br /&gt;graph [rankdir="LR"];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;// State trasition.&lt;/span&gt;&lt;br /&gt;"start" -&amp;gt; "S0/0" [label="reset"];&lt;br /&gt;"S0/0" -&amp;gt; "S1/1"  [label="1"];&lt;br /&gt;"S1/1" -&amp;gt; "S0/0"  [label="0"];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;// self loop.&lt;/span&gt;&lt;br /&gt;"S0/0" -&amp;gt; "S0/0"  [label="0"];&lt;br /&gt;"S1/1" -&amp;gt; "S1/1"  [label="1"];&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;非常好理解吧？要表示node A到另一個node B，寫法就像是&lt;br /&gt;&lt;br /&gt;"A" -&amp;gt; "B" [label="edge label"];&lt;br /&gt;&lt;br /&gt;對於dot來說，只要名字不一樣，就會視為不同的node。而node與node之間的關係，dot會幫你處理的好好的。也就是說，上面這個dot language的順序是沒有關係的。我之所以把self loop的部份特別擺在下面，單純是為了讓自己好懂而已，你要擺上面一點，或是怎麼樣的穿插都無所謂，只要node名字別不小心打錯，dot都會幫你處理的很好的。&lt;br /&gt;&lt;br /&gt;此外，那個rankdir指的是要求node的擺法是由左到右，如果將那行拿掉，dot預設會由上到下的擺放node。不過這樣似乎與我們在教科書常見的擺法不同。&lt;br /&gt;&lt;br /&gt;現在只要把&lt;a href="http://www.graphviz.org/Download..php"&gt;Graphviz的工具&lt;/a&gt;安裝一下。接著，可以透過下面的命令來產生出圖形。&lt;br /&gt;&lt;br /&gt;dot.exe -o fsm.png -T png fsm.dot&lt;br /&gt;&lt;br /&gt;首先，你要開一個名為fsm.dot的文字檔，將前面的dot程式碼複製到檔案中，然後透過上面這個命令，就可以產生一個名為fsm.png的檔案。我想應該沒有人不知道怎麼看png檔吧？&lt;br /&gt;&lt;br /&gt;因為，前面的dot程式碼是放在你的Verilog中。如果想看的時候，還要copy到一個檔案中，然後再下命令，其實有點煩。您可以建立一個batch檔案。其內容如下：&lt;br /&gt;&lt;br /&gt;dot.exe -o fsm.png -T png &amp;lt; con&lt;br /&gt;fsm.png&lt;br /&gt;&lt;br /&gt;您只要執行這個batch檔案，就會被要求輸入資料。接著把從Verilog註解中剪下的dot程式碼貼上，然後按下"ctrl+z"。就會看到與教科書一模一樣的狀態圖出現在你眼前囉！舉上面的例子來說，所產生出的圖形如下：&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3368/784/1600/fsm.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/3368/784/320/fsm.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;/div&gt; 能夠產生出這樣的圖形，我想不會有人對您的Verilog註解有所挑剔了吧？至少在FSM這個部份是這樣啦！而且，dot程式碼本身就已經非常直覺了。就算沒有轉成圖形，放在註解中也非常容易讓人明暸你想描述的狀態機。&lt;br /&gt;&lt;br /&gt;前面的dot範例程式有個不好的地方，就是self loop的部份被分開來了。若想直接透過dot看出狀態圖時，比較沒有那麼直覺。不過，沒關係，我們可以改良一下。&lt;br /&gt;&lt;pre&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;digraph G {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;// Graph attributes&lt;/span&gt;&lt;br /&gt;graph [rankdir="LR"];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;// Initial trasition.&lt;/span&gt;&lt;br /&gt;"start" -&amp;gt; "S0/0" [label="reset"];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;// State S0 trasition&lt;/span&gt;.&lt;br /&gt;"S0/0" -&amp;gt; "S0/0"  [label="0"];&lt;br /&gt;"S0/0" -&amp;gt; "S1/1"  [label="1"];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;// State S1 trasition.&lt;/span&gt;&lt;br /&gt;"S1/1" -&amp;gt; "S1/1"  [label="1"];&lt;br /&gt;"S1/1" -&amp;gt; "S0/0"  [label="0"];&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;這樣有沒有比較清楚一點？也就是將同一個state的描述寫在一起。如此可能連產生圖形都不用，就能直接瞭解一些簡單的FSM了！&lt;br /&gt;&lt;br /&gt;我們軟體人員開發C/C++程式時，有時候會使用如&lt;a href="http://www.doxygen.org/"&gt;Doxygen&lt;/a&gt;這種工具，它可以把程式裡的註解弄成文件。如果你註解裡有 dot 程式碼，它還會自動幫你變成圖形，嵌入在產生出來的文件中。真是一個非常好用的工具，不清楚Verilog裡面有沒有這樣的工具了。或者，也許哪天Doxygen可以支援Verilog，那就非常perfect了！！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115618408943392079?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115618408943392079/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115618408943392079&amp;isPopup=true' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115618408943392079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115618408943392079'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/dot.html' title='使用DOT來描述你的狀態機'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115603706470717587</id><published>2006-08-20T09:22:00.000+08:00</published><updated>2006-08-20T09:24:24.706+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Verilog'/><title type='text'>VeriPage Project</title><content type='html'>這個網站上面也提供了許多與Verilog驗證相關的資訊。也有一些書籍的推薦。不過大部份都著重於驗證方面。想要讓自己在驗證上面的功力有所提昇的人，應該把這個網站上面的資訊好好讀一遍。&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://project-veripage.com/"&gt;VeriPage Project&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115603706470717587?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115603706470717587/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115603706470717587&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115603706470717587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115603706470717587'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/veripage-project.html' title='VeriPage Project'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115603685719697247</id><published>2006-08-20T09:17:00.000+08:00</published><updated>2006-08-20T09:20:57.203+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Verilog'/><title type='text'>Verilog.Net網站</title><content type='html'>Verilog.Net是一個專門收集Verilog資訊的網站，上面的東西包含Verilog書籍列表，Verilog相關文件，Verilog免費軟體的列表，相關論文的列表。正如其首頁上面的寫的，當您在找Verilog的資訊時，別忘了Net。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.verilog.net/"&gt;Verilog.Net&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115603685719697247?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115603685719697247/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115603685719697247&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115603685719697247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115603685719697247'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/verilognet.html' title='Verilog.Net網站'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115593397741962744</id><published>2006-08-19T04:40:00.000+08:00</published><updated>2006-08-19T04:46:17.430+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Verilog'/><title type='text'>Sunburst網站上的精彩文章</title><content type='html'>在&lt;a href="http://www.sunburst-design.com/"&gt;Sunburst&lt;/a&gt;的網站上面有許多由Cliff Cummings所撰寫的非常深入且精彩的文章。這個網站上面大部分的文章都是Verilog與SystemVerilog。其中，有幾篇像是探討&lt;a href="http://www.sunburst-design.com/papers/CummingsSNUG2000SJ_NBA.pdf"&gt;Blocking及Non-blocking assingment&lt;/a&gt;，還有探討&lt;a href="http://www.sunburst-design.com/papers/CummingsSNUG2002SJ_Resets.pdf"&gt;同步與非同步reset&lt;/a&gt;的文章都非常值得一讀。&lt;br /&gt;&lt;br /&gt;想要成為一個高階的Digital designer，我想這個網站內的paper是一定要看的。&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sunburst-design.com/papers/"&gt;Sunburst's papers &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115593397741962744?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115593397741962744/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115593397741962744&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115593397741962744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115593397741962744'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/sunburst.html' title='Sunburst網站上的精彩文章'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115592871143456570</id><published>2006-08-19T03:08:00.000+08:00</published><updated>2006-08-19T03:18:31.446+08:00</updated><title type='text'>一個講解各種數位邏輯元件非常清楚的網頁</title><content type='html'>&lt;a href="http://www.play-hookey.com/"&gt;Play-hookey&lt;/a&gt;這個網站上面有許多有趣的資料。其中，在digital的部份他有一個&lt;a href="http://www.play-hookey.com/digital/"&gt;網頁&lt;/a&gt;非常詳盡的解釋了各種基本邏輯元件的原理。同時還可以讓你直接在網頁上面操作這些邏輯元件，讓你能夠親身體驗這些元件實際的運作狀況。我覺得那些教邏輯設計的老師應該要把這個網頁列入教材中，讓學生能夠透過這個網頁更清楚的瞭解到邏輯元件的意義。這個網頁大約包含了如下的邏輯元件介紹：&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Combinational Logic: &lt;/span&gt;Basic Gates, Derived Gates, XOR Function, Binary Addition, Negative Numbers and Binary Subtraction, Multiplexer, Decoder/Demultiplexer, Boolean Algebra&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Sequential Logic:&lt;/span&gt; RS NAND Latch, RS NOR Latch, Clocked RS Latch, RS Flip-Flop, JK Flip-Flop, D Latch, D Flip-Flop, Flip-Flop Symbols, Converting Flip-Flop Inputs&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Alternate Flip-Flop Circuits: &lt;/span&gt;D Flip-Flop Using NOR Latches, CMOS Flip-Flop Construction&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Counters:&lt;/span&gt; Basic 4-Bit Counter, Synchronous Binary Counter, Synchronous Decimal Counter, Frequency Dividers, Counting in Reverse, The Johnson Counter&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Registers:&lt;/span&gt; Shift Register (S to P), Shift Register (P to S)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;The 555 Timer:&lt;/span&gt; 555 Internals and Basic Operation, 555 Application: Pulse Sequencer&lt;/li&gt;&lt;/ul&gt;網站連結如下：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.play-hookey.com/digital/"&gt;play-hookey.com digital logic&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115592871143456570?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115592871143456570/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115592871143456570&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115592871143456570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115592871143456570'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/blog-post.html' title='一個講解各種數位邏輯元件非常清楚的網頁'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115585631484701944</id><published>2006-08-18T07:07:00.000+08:00</published><updated>2006-08-18T07:34:02.306+08:00</updated><title type='text'>BUY了一個PC-based的LA</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3368/784/1600/tt_%20006.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/3368/784/200/tt_%20006.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3368/784/1600/tt_%20010.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/3368/784/200/tt_%20010.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3368/784/1600/tt_%20009.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/3368/784/200/tt_%20009.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3368/784/1600/tt_%20012.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/3368/784/200/tt_%20012.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3368/784/1600/tt_%20007.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/3368/784/200/tt_%20007.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;經過努力的爭取之後，老婆大人終於讓我買了這個&lt;a href="http://www.pctestinstruments.com/"&gt;Intronix的USB-based的Logical Analyzer(LogicPort)&lt;/a&gt;。趕快來看看它的樣子吧。雖然我已經知道它很小，不過剛從DHL拿到手上的時候，面對那小小的一包。還是讓我心中一陣暗幹。這麼小小一盒，卻要美金389元。&lt;br /&gt;打開以後，心中更是一陣涼風吹過。一個跟我Notebook的adapter一樣大的黑盒子。加上一條USB的傳輸線，還有一條像排線一樣的東西。連張光碟片也沒有。嗯....這該不會是黑心LA吧～&lt;br /&gt;盒子裡面有一張紙，上面寫著一堆英文。簡單的講就是，『因為我們的軟體常常更新，所以請你自己來我們的網站抓吧！』好樣的！連張光碟片的成本都要省。&lt;br /&gt;上了他的網站把軟體抓回來安裝完成後，就拿了個RS-232的port先來實驗一下。嗯，看到有波形出現了，感覺上還不錯！應該是功能正常的。他的軟體也還蠻容易使用的，我想大部分的傳統LA的東西，它大概都可以cover了。雖然，我個人覺得它蠻貴的，不過這是從我這個窮苦人家的觀點來看的。如果有調查過類似產品的人，對於以下的feature，只賣$389，應該會說非常值得才對吧。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sample rate: 1KHz ~ 500MHz&lt;/li&gt;&lt;li&gt;State-mode sample rate: 0 ~ 200MHz&lt;/li&gt;&lt;li&gt;Support multi-level trigger.&lt;/li&gt;&lt;li&gt;Support decode from RS232, SPI, I2C protocol.&lt;/li&gt;&lt;li&gt;Built-in 300MHz counter.&lt;/li&gt;&lt;li&gt;34-channel x 2048 sample buffer.&lt;/li&gt;&lt;li&gt;6V ~ -6V adjustable voltage threshold.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;USB to PC connectivity.&lt;/li&gt;&lt;/ul&gt;而且正如前面所寫的，它很小。大概是兩隻手機加起來這麼大吧。我想到之前我們公司的工程師抱一台很大台示波器去客戶那邊，就覺得應該幫他們買一台這種東西。&lt;br /&gt;這台設備台灣好像&lt;a href="http://www.microport.com.tw/big5/SingleP.asp?Category=193&amp;PNo=1141&amp;amp;Url=Product&amp;amp;page=1"&gt;有間公司&lt;/a&gt;有在代理，不過不知道多少錢就是了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115585631484701944?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115585631484701944/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115585631484701944&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115585631484701944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115585631484701944'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/buypc-basedla.html' title='BUY了一個PC-based的LA'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115585353566035398</id><published>2006-08-18T05:54:00.000+08:00</published><updated>2006-08-18T06:25:35.680+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Verilog'/><title type='text'>一個可以美化Verilog code的程式</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3368/784/1600/istyle-code.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/3368/784/320/istyle-code.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;在軟體程式語言的工具中，有一種工具稱為source code beautfier, formatter或是styler。其主要目的就是把你的程式透過這個工具重新格式化成一個統一的格式。如果，本身的coding style已經非常漂亮了，那麼這樣的工具或許用處不大。不過，如果本身的coding style沒有很好的話，透過這個工具可以讓你的Verilog程式不要看起來這麼亂。&lt;br /&gt;&lt;br /&gt;有這麼一個工具，他的目的與上述的工具相同，不過他作用的對象是Verilog程式。透過他就可以將你的Verilog整理的比較好看囉。&lt;br /&gt;&lt;br /&gt;不過，話說回來，自己的coding style還是要好好練習才行。工具只能幫你排排版，還有很多東西是要靠自己的。這種工具大概是你不幸的接手某個coding style很差的人的工作時比較有用吧！&lt;br /&gt;&lt;br /&gt;這個工具好像沒有自己的網頁。用google找找"&lt;a href="http://www.google.com/search?hl=en&amp;q=istyle+verilog+&amp;amp;btnG=Google+Search"&gt;iStyle Verilog&lt;/a&gt;"就可以找到了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115585353566035398?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115585353566035398/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115585353566035398&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115585353566035398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115585353566035398'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/verilog-code.html' title='一個可以美化Verilog code的程式'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115559727753726179</id><published>2006-08-15T07:12:00.000+08:00</published><updated>2006-08-15T07:14:37.546+08:00</updated><title type='text'>一個有很清楚的RS232 standard說明的網站</title><content type='html'>無疑的，RS232是一個Digital Design很常用到的序列傳輸協定之一，網路上面相關的文章自然是不少了。但是整理得很清楚的網頁就不見得有這麼多了。下面這個網頁就是少數整理的既詳細又清楚的網頁。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html"&gt;The RS232 standard&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115559727753726179?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115559727753726179/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115559727753726179&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115559727753726179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115559727753726179'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/rs232-standard.html' title='一個有很清楚的RS232 standard說明的網站'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115549535610432475</id><published>2006-08-14T02:44:00.000+08:00</published><updated>2006-08-14T02:55:56.126+08:00</updated><title type='text'>PC-based的logical analyzer</title><content type='html'>對於Digital Designer來說，Logical Analyzer無疑是非常重要的debug工具。但是，那些儀器大場所推出的LA，都是要價不菲。拜近年來PC的速度提昇，現在已經有不少廠商自己有做所謂PC-based的LA了。其中，我最感興趣的當屬USB based的LA。現在哪台電腦或是NB沒有USB port呢？所以這樣的LA再使用上是非常方便的。美國這裡的同事介紹我一款&lt;a href="http://www.pctestinstruments.com/"&gt;Intronix公司&lt;/a&gt;的&lt;a href="http://www.pctestinstruments.com/?gclid=CIWa0NOn3YYCFRFsWAodcgXQ3w"&gt;LogicPort LA&lt;/a&gt;。聽他說用的不錯。要價大約在USD$389。可惜我這次的預算在買了FPGA跟一些書後已經用盡了。可能要過一陣子才能買了。台灣也有間叫&lt;a href="http://www.zeroplus.com.tw/instrument/index.php"&gt;孕龍科技的在賣USB based的LA&lt;/a&gt;。也許等我回去再看看好了。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.pctestinstruments.com/?gclid=CIWa0NOn3YYCFRFsWAodcgXQ3w"&gt;Intronix LogicPort LA&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.zeroplus.com.tw/instrument/index.php"&gt;孕龍科技邏輯分析儀&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115549535610432475?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115549535610432475/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115549535610432475&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115549535610432475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115549535610432475'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/pc-basedlogical-analyzer.html' title='PC-based的logical analyzer'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115511207752210890</id><published>2006-08-09T16:21:00.000+08:00</published><updated>2006-08-09T16:27:57.530+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FPGA'/><title type='text'>FPGA Based Logic Analyzer</title><content type='html'>看到這個&lt;a href="http://www.sump.org/projects/analyzer/"&gt;網頁&lt;/a&gt;還真的讓我驚訝不已。Michael Poppitz這位老兄用了Xilnix Spartan 3 starter kit(DO-SPAR3-DK)做了一個Logic Analyzer。這個logic analyzer具有下面的特性：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;16 channels at 200MHz sampling rate (experimental)&lt;/li&gt;&lt;li&gt;32 channels up to 100MHz sampling rate&lt;/li&gt;&lt;li&gt;256KSamples memory&lt;/li&gt;&lt;li&gt;noise filter&lt;/li&gt;&lt;li&gt;trigger (rising/falling edge)&lt;/li&gt;&lt;li&gt;serial interface&lt;/li&gt;&lt;li&gt;java based viewing software&lt;/li&gt;&lt;/ul&gt;嗯！這樣就可以省下買logic analyzer的錢了。等我把我自己的Spartan-3E starter kit玩到爛的時候，我也把他拿來做一個logic analyzer吧。不過，不曉得自己夠不夠功力做就是了。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sump.org/projects/analyzer/"&gt;FPGA Based Logic Analyzer&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115511207752210890?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115511207752210890/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115511207752210890&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115511207752210890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115511207752210890'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/fpga-based-logic-analyzer.html' title='FPGA Based Logic Analyzer'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115510437844271590</id><published>2006-08-09T14:17:00.000+08:00</published><updated>2006-08-09T15:58:22.360+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FPGA'/><title type='text'>一篇有關FPGA Floorplanning的文章</title><content type='html'>在網路上看到一篇有關Floorplanning的文章！&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.fliptronics.com/floorplanning1.html"&gt;FPGA Floorplanning&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;看完之後，覺得獲益良多！首先，這個文章開宗明義的跟你講什麼是FPGA上面的Floorplanning。同時，也把Xilinx FPGA的幾個實體上的特性介紹了一下。接著，作者也不多說廢話，直接藉由一個簡單的電路，透過七種不同程度的Floorplanning，藉由其結果展示出Floorplanning的益處。總之，正確的Floorplanning可以讓原本PAR軟體安排只能跑40-50幾MHz的電路，變得可以跑到70-80幾MHz。而Gate count可減少為原來的60%甚至是50%。這真的十分令人訝異阿。所以說Floorplanning對於很大的電路來說真的極為重要。&lt;br /&gt;&lt;br /&gt;讀完整個文章，讓我對於FPGA的實體又有了進一步的認識，同時我記得最清楚的一句話是作者說：『一般而言，Data-path最能從Floorplanning中獲得益處，而Random logic，狀態機及其他非結構性的電路則可安全的留給PAR的軟體來做。』雖然我現在對於FPGA懂得不夠多，所以無從判斷這句話與實際的狀況是否相符。但是這句話讓我對於將來的FPGA設計有了一個思考的方向。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115510437844271590?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115510437844271590/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115510437844271590&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115510437844271590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115510437844271590'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/fpga-floorplanning.html' title='一篇有關FPGA Floorplanning的文章'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115497614827786037</id><published>2006-08-08T02:30:00.000+08:00</published><updated>2006-08-08T02:43:11.226+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FPGA'/><title type='text'>Xilinx USB JTAG Programming</title><content type='html'>在comp.arch.fpga的討論區中看到Antti網友介紹了xup這個project(&lt;a href="http://inisyn.org/src/xup/"&gt;http://inisyn.org/src/xup/&lt;/a&gt;) 。由於原本的JTAG cable在Linux中使用需要Jango這個額外的驅動程式。不過，看起來不是很多人喜歡這個東西。所以一些玩家們就&lt;a href="http://groups.google.com/group/comp.arch.fpga/browse_thread/thread/c945923560a4f980/3b962579bdaa3d5d"&gt;開始玩起反向工程&lt;/a&gt;。最後的成果就是這個project囉。想在Linux下面使用Spartan-3E Starter Kit又不想安裝那個什麼Jango driver的，考慮考慮這個GPL的project吧！&lt;br /&gt;&lt;br /&gt;BTW, 我倒是比較想把這個USB拿來作為一個USB PHY，自己寫寫USB controller來玩玩！不過，以我現時的功力，似乎還力有未逮。說不定根本就不能這樣玩呢？！不知道有沒有前輩試過呢？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115497614827786037?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115497614827786037/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115497614827786037&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115497614827786037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115497614827786037'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/xilinx-usb-jtag-programming.html' title='Xilinx USB JTAG Programming'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115491417720415112</id><published>2006-08-07T09:05:00.000+08:00</published><updated>2006-08-07T09:29:37.216+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FPGA'/><title type='text'>Xilinx Spartan-3E Starter Kit的基本裝備</title><content type='html'>最近花了美金149元(大概台幣5000上下)買了&lt;a href="http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?key=HW-SPAR3E-SK-US"&gt;Xilinx的Spartan-3E Starter Kit&lt;/a&gt;。為什麼要買這個套件呢？首先，因為自己是新手，要自己做板子不可能，當然只好買現成的。另外，由於經費不足（買太貴的會被老婆砍死），所以只好買個便宜的！況且，我是新手剛開始也寫不了多大的東西，所以這種名為『Starter』的產品，應該是很適合我的。&lt;br /&gt;另外，這張板子有個吸引我的地方，就是他內建透過USB燒錄FPGA code的功能。也就是說我不用額外採購那個小小卻貴死人的&lt;a href="http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?iLanguageID=1&amp;sSecondaryNavPick=Design+Tools&amp;amp;key=HW-USB&amp;BV_UseBVCookie=yes&amp;amp;sGlobalNavPick=PRODUCTS&amp;BV_SessionID=@@@@1872590789.1154911857@@@@&amp;amp;BV_EngineID=ccccaddihjdkgkecefeceihdffhdfjf.0"&gt;JTAG cable&lt;/a&gt;。小小的一個JTAG cable也是要美金149喔。跟這張板子一樣貴呢。&lt;br /&gt;&lt;br /&gt;下面先整理一些這張板子的基本裝備吧：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;FPGA：&lt;a href="http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?key=HW-SPAR3E-SK-US"&gt;Xilinx XC3S500E-4FG320C Spartan-3E FPGA&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;最高到232可用的I/O pins&lt;/li&gt;&lt;li&gt;320根pin腳的FBGA封裝（在Xilinx下選FG320的Package）&lt;/li&gt;&lt;li&gt;總共有超過一萬個邏輯單元(LEs, logic cells)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;CPLD: Xilinx 64-macrocell &lt;a href="http://direct.xilinx.com/bvdocs/publications/ds311.pdf"&gt;XC2C64A&lt;/a&gt; &lt;a href="http://www.xilinx.com/products/silicon_solutions/cplds/coolrunner_series/coolrunner_ii_cplds/overview.htm"&gt;CoolRunner CPLD&lt;/a&gt;&lt;/li&gt;&lt;li&gt;記憶體：&lt;/li&gt;&lt;ul&gt;&lt;li&gt;PROM: Xilinx 4Mbit Platform Flash configuration&lt;br /&gt;&lt;/li&gt;&lt;li&gt;DDR SDRAM: 64Mbyte(512Mbit)的DDR SDRAM。使用x16的data interface及100MHz+的速度&lt;/li&gt;&lt;li&gt;Parallel NOR Flash: Intel StrataFlash 16Mbyte(128Mbit)&lt;/li&gt;&lt;li&gt;Serial Flash: STMicro 16Mbits的SPI serial Flash&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;按鈕：&lt;/li&gt;&lt;ul&gt;&lt;li&gt;滑動式開關 x 4&lt;/li&gt;&lt;li&gt;下壓式開關 x 4&lt;/li&gt;&lt;li&gt;旋轉編碼(Rotary Encoder)按鈕(具下壓式開關功能) x 1&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;顯示裝置&lt;/li&gt;&lt;ul&gt;&lt;li&gt;LED x 8&lt;/li&gt;&lt;li&gt;VGA display port x 1&lt;br /&gt;&lt;/li&gt;&lt;li&gt;單色LCD螢幕(2行x16字元)  x 1&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;網路&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Ethernet 10/100 PHY x 1&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Clock&lt;/li&gt;&lt;ul&gt;&lt;li&gt;內建50MHz oscillator&lt;br /&gt;&lt;/li&gt;&lt;li&gt;可外接SMA介面的clock&lt;/li&gt;&lt;li&gt;提供8 pin的DIP插槽，可外接oscillator&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;ADC/DAC&lt;/li&gt;&lt;ul&gt;&lt;li&gt;DAC(SPI介面) x 4&lt;/li&gt;&lt;li&gt;ADC(SPI介面) x 2&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;使用者自訂I/O介面&lt;/li&gt;&lt;ul&gt;&lt;li&gt;9 pin RS-232 port x 2 (DTE與DCE各一)&lt;/li&gt;&lt;li&gt;6 pin的擴充介面 x 3&lt;/li&gt;&lt;li&gt;HIROSE的FX2擴充介面&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;其他&lt;/li&gt;&lt;ul&gt;&lt;li&gt;ps/2介面，可供滑鼠或鍵盤插入&lt;/li&gt;&lt;li&gt;內建USB介面的FPGA/CPLD download及debuging電路。直接透過USB cable接上電腦即可使用。&lt;/li&gt;&lt;li&gt;亦有提供JTAG pin可連接JTAG cable。JTAG cable需另購。&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;上面這些其實不算十分完整，只是我覺得自己比較用得著的部份列出來。想知道完整的話，可抓&lt;a href="http://www.xilinx.com/bvdocs/userguides/ug230.pdf"&gt;User guide&lt;/a&gt;回來自己研究囉。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115491417720415112?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115491417720415112/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115491417720415112&amp;isPopup=true' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115491417720415112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115491417720415112'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/xilinx-spartan-3e-starter-kit.html' title='Xilinx Spartan-3E Starter Kit的基本裝備'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115491114681571874</id><published>2006-08-07T08:06:00.000+08:00</published><updated>2006-08-07T08:43:11.913+08:00</updated><title type='text'>其實我只是個Digital Design的門外漢</title><content type='html'>說起來我對於Digital Design其實是個門外漢，只不過在IC Design House待久了，一些東西聽多了，也就自然知道那麼一些些了。看過我&lt;a href="http://www.dev.idv.tw/"&gt;其他網頁&lt;/a&gt;的人，應該知道我其實是個軟體程式設計師。而且是從非常偏應用軟體的那種開始的。近年慢慢才開始接觸一些Firmware的東西。之所以會想來碰碰數位設計，我想主要的理由之一是，它是一個我能力所及的地方。我的老闆是個Analog IC designer，他跟我聊過一件事情，就是要成為一個好的技術主管，本身cover的技術要夠全。這樣才能夠帶領屬下做出好的東西來。否則只是會管管人，最後一定會被屬下用一堆聽不懂的技術唬得一愣一愣的。但是，由於我是做軟體出身的，Analog IC那種需要許多物理概念的東西，對於我來說是一個很高的門檻。說起來慚愧，當初專科畢業後，考大學轉學考的時侯，我還專門找不考物理的學校念呢。少壯不努力，老大徒傷悲阿~~OK!別再碎碎唸了。&lt;br /&gt;&lt;br /&gt;總之，放眼望去，現階段我勉強搆的到的大概就是數位設計這個領域了。平常工作之餘，稍微看了一點數位設計與Verilog的書籍。為什麼要選Verilog呢？因為我們公司的人都是用Verilog，要問的時候比較有人問。而且，相較於VHDL，我比較喜歡Verilog的簡潔。&lt;br /&gt;&lt;br /&gt;經過了一段時間，自認Verilog的書已經看的可以了，老是這樣紙上談兵是不行的。所以打算開始培養點實作經驗！以我的狀況，又不能跑去什麼&lt;a href="http://www.cic.org.tw/"&gt;CIC&lt;/a&gt;上課。剛好利用到美國出差的時間買了一塊Xilnix Spartan-3E Starter Kit。我想我就從 FPGA開始吧。雖然從FPGA到真正的Digital IC Designer還有一大段的距離。不過，總是要從簡單點的東西開始。反正，公司有人可以給我問（我們公司沒什麼好的，就是親切的高手多），我想自學應該不是問題的。&lt;br /&gt;&lt;br /&gt;總之，以上就是這個blog的緣起，希望一年之後，自己能夠在這個領域有點進展。這個blog也能增加許多的內容。可不要半途而廢囉！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115491114681571874?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115491114681571874/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115491114681571874&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115491114681571874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115491114681571874'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/digital-design.html' title='其實我只是個Digital Design的門外漢'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32302678.post-115490835614052680</id><published>2006-08-07T07:48:00.000+08:00</published><updated>2006-08-07T07:52:36.150+08:00</updated><title type='text'>Gary的數位設計日誌blog成立囉！</title><content type='html'>成立這個blog的目的是想要加自己對於數位設計(Digital Design)的研究過程記錄下來。一方面紀錄自己在這個領域的成長。另一方面也希望能有前輩看到我的問題過來幫我指導一下。我還有另外一個blog及自己的網站，主要是其他的技術資料及閒聊的地方。有興趣的朋友也可以去參觀參觀囉。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.dev.idv.tw/"&gt;Gary's Note.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://garywlee.blogspot.com/"&gt;Gary blah! blah! blah!&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32302678-115490835614052680?l=gary-digital.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gary-digital.blogspot.com/feeds/115490835614052680/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32302678&amp;postID=115490835614052680&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115490835614052680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32302678/posts/default/115490835614052680'/><link rel='alternate' type='text/html' href='http://gary-digital.blogspot.com/2006/08/garyblog.html' title='Gary的數位設計日誌blog成立囉！'/><author><name>Gary Lee</name><uri>https://profiles.google.com/110013641332669782738</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-bcpYlmjTTVA/AAAAAAAAAAI/AAAAAAAAA58/i_77_aCQ_yY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
