|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業 | CAN-bus/DeviceNe |
VHDL的計數器 |
| 作者:小李志 欄目:EDA技術 |
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNTER IS PORT( CLK:IN STD_LOGIC; EN: IN STD_LOGIC; S: IN STD_LOGIC; LOAD: IN STD_LOGIC_VECTOR(3 DOWNTO 0); C: OUT STD_LOGIC; JISHU: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END ENTITY; ARCHITECTURE BHV OF COUNTER IS SIGNAL TEMP:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(EN,CLK,S,LOAD) BEGIN IF CLK'EVENT AND CLK='1' THEN IF(EN='1') THEN IF(S='1') THEN TEMP<=LOAD; ELSIF(TEMP<10) THEN TEMP<=TEMP+1; C<='0'; ELSE END IF; END IF; END IF; END PROCESS; JISHU<=TEMP; END BHV; 其中EN是使能端,如果是1的話就計數,否則就不計, S是置位端,如果是1的話就把LOAD的值賦給TEMP 但是編譯通不過,不知錯在哪? |
| 2樓: | >>參與討論 |
| 作者: yinlu 于 2007/4/2 13:29:00 發布:
是不是文件名的問題 看看文件名是不是counter.vhd,如果不是的話改成這個試試 |
|
| 3樓: | >>參與討論 |
| 作者: hideid 于 2007/4/4 0:46:00 發布:
估計是你的文件名不對 我把你的程序直接復制了,放到quartus2下面編譯,沒有任何問題。 就跟樓上說的,把文件改了試試看。 |
|
| 4樓: | >>參與討論 |
| 作者: 小李志 于 2007/4/5 13:56:00 發布:
謝了 哦,我用的是MAXPLUS 2,不過謝謝了 |
|
|
|
Copyright © 1998-2006 j71x6.cn 浙ICP證030469號 |