|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
如此簡單的程序,但是有毛刺,如何解決?高手請進(jìn)! |
| 作者:debugtwo 欄目:IC設(shè)計(jì) |
功能:4位異步計(jì)數(shù)器, 問題:時(shí)序仿真有毛刺,如何解決?仿真時(shí)鐘CPX 100MHZ 原程序: --***************************************************** --* 程序開始 --***************************************************** ----------庫函數(shù)聲明 ---------------------------------------------------------- LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ----------實(shí)體開始------------------------------------------------------------- ENTITY COUNT IS PORT ( ------------------------------------------------------------------------------ RESET: IN STD_LOGIC;--復(fù)位信號 CPX: IN STD_LOGIC;--時(shí)鐘 ABUS: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));--地址 END COUNT; ----------實(shí)體結(jié)束---------------------------------------------------------- -----------結(jié)構(gòu)體開始------------------------------------------------------- ARCHITECTURE A OF COUNT IS -----信號定義--------------------------------------------------------------- BEGIN ------------------------------------------------------------------------- MYCOUNT:PROCESS(RESET,CPX) BEGIN IF(RESET='0') THEN ABUS<=(OTHERS=>'0'); ELSIF(CPX='1'AND CPX 'EVENT) THEN--在時(shí)鐘的上升沿 ABUS<=ABUS+1; END IF; END PROCESS MYCOUNT; ------------------------------------------------------------------------- END A; ------------------------------------------------------------------------- ----程序結(jié)束 -------------------------------------------------------------------------
|
| 2樓: | >>參與討論 |
| 作者: debugtwo 于 2006/6/28 8:55:00 發(fā)布:
怎么沒回答? 是不是問的很菜呀? |
|
| 3樓: | >>參與討論 |
| 作者: xilinxer 于 2006/6/28 10:01:00 發(fā)布:
hehe ! 你這個(gè)應(yīng)該叫做同步計(jì)數(shù)器!而且你的仿真屬于后仿真,這種毛刺是正常的 ,不可避免的,在同步系統(tǒng)中沒有影響! |
|
| 4樓: | >>參與討論 |
| 作者: crazyforu 于 2006/6/28 15:20:00 發(fā)布:
很正常的,你是在邊沿鎖存數(shù)據(jù),已經(jīng)錯(cuò)開錯(cuò)誤數(shù)據(jù)了 |
|
| 5樓: | >>參與討論 |
| 作者: debugtwo 于 2006/6/29 8:41:00 發(fā)布:
hehe! 謝謝 |
|
| 6樓: | >>參與討論 |
| 作者: 4wolf 于 2006/7/21 22:03:00 發(fā)布:
如果不用BUFFER會不會好些? 看見BUFFER就覺得不夠干凈,我有潔僻? |
|
| 7樓: | >>參與討論 |
| 作者: rhythmf 于 2006/9/22 10:32:00 發(fā)布:
同步時(shí)鐘counter ........ PROCESS(cpx) begin if rising_edge(cpx) then ABUS<=ABUS+1; endif; end PROCESS; ....... 看書vhdl同步電路描述應(yīng)該怎么寫!! |
|
| 8樓: | >>參與討論 |
| 作者: 水管工 于 2006/9/23 16:56:00 發(fā)布:
因?yàn)槟愕膸煊袉栴} 基本上從 1 到 2 就是 001 到 010, 你可以看到,因?yàn)橛袃葿it變化,當(dāng)時(shí)間有先后時(shí)(難以避免),就會出現(xiàn)毛刺。不過正如很多人指出的,這種同步計(jì)數(shù)器有毛刺無所謂。 當(dāng)然,你也可以采用無毛刺加一進(jìn)位器或采用xxx數(shù)值表示方式(名字不記得了,但原理上是每次加一時(shí)僅僅有一位數(shù)值有變化) |
|
| 9樓: | >>參與討論 |
| 作者: airari 于 2006/9/23 23:01:00 發(fā)布:
借問 這個(gè)是用什么軟件寫出來的程序? |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |