| 
  |||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe  | 
  
請教這個VHDL小程序的仿真結果,謝謝! | 
  
| 作者:bluefancy 欄目:EDA技術 | 
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; --********************************************* entity Counter106 is PORT( PPS_Rst: in std_logic; KEEP: in std_logic; CP: in std_logic; LatchValue: out std_logic_vector(19 downto 0); EndValue: out std_logic_vector(19 downto 0) -- LatchFlag: out std_logic ); end Counter106; --********************************************* architecture a of Counter106 is signal QQ: std_logic_vector(19 downto 0); begin P1:PROCESS(PPS_Rst,CP,QQ) begin if CP'event and CP='1' then if PPS_Rst='1' then EndValue<=QQ; QQ<="00000000000000000000"; else QQ<=QQ+1; end if; end if; end PROCESS P1; P2:PROCESS(KEEP,PPS_Rst,QQ) begin if PPS_Rst='1' then LatchValue<="00000000000000000000"; else if KEEP'event and KEEP<='1' then --這里不清楚! LatchValue<=QQ; end if; end if; end PROCESS P2; end a; /////////////////////////////////////////////////// 我是想在KEEP信號為上升沿的時候,將計數器的當前值QQ付給LatchValue一次,但仿真波形顯示,LatchValue在每個時鐘脈沖都被QQ賦了值,到底是怎么回事?請給指點一下,謝謝了! 
  | 
  
| 2樓: | >>參與討論 | 
| 作者: yilakewww 于 2005/1/7 17:16:00 發(fā)布:
         if KEEP'event and KEEP<='1' then if KEEP'event and KEEP='1' then 多了個"<",所以一直為"TRUE"  | 
  |
| 3樓: | >>參與討論 | 
| 作者: bluefancy 于 2005/1/7 19:40:00 發(fā)布:
         謝謝了,真不該犯這樣的錯誤麻煩您!  | 
  |
  | 
    
 
  | 
  
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 | 
Copyright © 1998-2006 udpf.com.cn 浙ICP證030469號  |