|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
4MHz頻率分頻為100Hz |
| 作者:劉姚軍 欄目:IC設計 |
我最近搞一個設計,我不會DHL語言,所以用原理圖輸入法設計,所用芯片是XILINX公司的C95108 CPLD,輸入頻率是4MHZ方波,輸出為兩路100Hz方波。占空比為高電平比低電平時間長10us,即Th=Tl+10us。輸出的一路和另外一路錯開,有圖在網上,地址:../uploadfile/200705151701565220.jpg 現在分頻是沒問題,主要是占空比設計有問題,請高手指點,不勝感激。! * - 本貼最后修改時間:2005-2-18 11:44:08 修改者:liu1875
|
| 2樓: | >>參與討論 |
| 作者: f0rmat 于 2005/2/18 15:56:00 發(fā)布:
用verilog寫吧. xinlinx的cpld,沒用過,汗一個..看來以后要學一下. 我覺得你的東西用verilog實現起來很容易哦,特別是延時的5us剛好是時鐘的倍數(20個cyle) 我隨便寫了個小程序,用計數器實現的,算是扔個轉頭來引玉吧,不要笑我. MODULE ff(i_clk, o_up, o_down ,count,i_rst); input i_clk; input i_rst; OUTPUT o_up; OUTPUT o_down; OUTPUT count;//TEST used; reg o_up; reg o_down; reg [15:0] count; always @ (posedge i_clk or i_rst) begin if (i_rst) begin count=0; o_up=0; o_down=1; end else count = count+1; if (count==1) o_up = 0; else if (count==19981) o_up = 1; else if (count==20001) o_down =0; else if (count==39981) o_down =1; else if (count==40000.html">40000) count =0; end endMODULE 測試了幾個周期 `timescale 1ns/1ns MODULE TEST (); reg i_clk; reg i_rst; wire o_up; wire o_down; wire [15:0] count; always #125 i_clk= ~i_clk; ff tt( .i_clk(i_clk), .o_up(o_up), .o_down(o_down), .count(count), .i_rst(i_rst) ); initial begin i_clk <= 0; i_rst <=1; #800 i_rst <=0; #80000000 $stop; end always @ ( o_up or o_down or count) $DISPLAY (" up is %d down is %d ====count is %d",o_up,o_down,count); endMODULE 時鐘基本吻合,估計在第一個4000的地方也許有問題,沒有仔細想. 大家別砸磚.... 在modelsim下跑了一下,還可以. |
|
| 3樓: | >>參與討論 |
| 作者: f0rmat 于 2005/2/18 16:07:00 發(fā)布:
帖圖 ../uploadfile/200705151701569705.jpg 上面的是采了一個時鐘邊沿 http://www.21icsearch.com/buzi/upimage/upfile/20052181610580.jpg 這個是總體效果圖 第一次帖圖,不知道成不...汗 * - 本貼最后修改時間:2005-2-18 17:26:14 修改者:liu1875
|
|
| 4樓: | >>參與討論 |
| 作者: f0rmat 于 2005/2/18 16:13:00 發(fā)布:
我再帖 http://www.21icsearch.com/buzi/upimage/upfile/20052181609060.jpg ../uploadfile/200705151701562649.jpg 第二次不知道成不... * - 本貼最后修改時間:2005-2-18 17:27:21 修改者:liu1875
|
|
| 5樓: | >>參與討論 |
| 作者: zzyclever 于 2005/2/18 16:39:00 發(fā)布:
做幾個計數器就行了 做一個220和180的計數器就行了,分別對高電平和低電平計數,VHDL做計數器是很簡單的,看一下就會。 |
|
| 6樓: | >>參與討論 |
| 作者: 劉姚軍 于 2005/2/18 16:48:00 發(fā)布:
回應 感謝高手們的支持,我沒有用verilog HDL寫 因為我不懂軟件,我用很笨的原理圖輸入法搞的,我做了很多實驗都不行,我再試試用軟件寫,但是我對那個東西真的一知半解,以后還靠各位指教,不勝感激!!!!并祝大家新年快樂!!! |
|
| 7樓: | >>參與討論 |
| 作者: zqchen_fly 于 2005/2/20 10:39:00 發(fā)布:
原理圖輸入也可以做分頻器的呀 |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 udpf.com.cn 浙ICP證030469號 |