查看: 1320|回复: 2
|
VHDL code问题(新问题!!)
[复制链接]
|
|
我现在再做一个24counter,但是我想再加上2个function,就是如果推slide switch UP的话,然后再加上按BUTTON,它就会加1;如果推slide switch DOWN,然后再加上按BUTTON,它就会减一。
以下是我的coding,check syntax之后不晓得错在什么地方
slide switch = HourUpDown
button = HourAdj
-------------------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity Mod24Counter is
port(
Reset, Clk, Dir, En: in std_logic;
SetRun, HourUpDown, HourAdj: in std_logic;
Count: out std_logic_vector(4 downto 0)
);
end Mod24Counter;
architecture Mod24Counter_Arch of Mod24Counter is
signal iCount5: unsigned(4 downto 0);
begin
process(Reset, Clk)
begin
if SetRun ='0' then
if HourUpDown ='1' then
if HourAdj = '1' then
iCount5 <= iCount5 + 1;
elsif HourUpDown = '0' then
if HourAdj ='1' then
iCount5 <= iCount5 - 1;
elsif rising_edge(clk) then
if reset='1' then
iCount5 <= "00000";
elsif En = '1' then
if Dir = '1' then
if iCount5 = "10111" then
iCount5 <= "00000";
else
iCount5 <= iCount5 + 1;
end if;
else
if iCount5 = "00000" then
iCount5 <= "10111";
else
iCount5 <= iCount5 - 1;
end if;
end if;
end if;
end if;
end if;
end if;
end process;
Count <= std_logic_vector(iCount5);
end Mod24Counter_Arch;
-----------------------------------------------------------
红色字眼是我加上去的function,就是不晓得对不对,请哪一位大大替我检查一下
[ 本帖最后由 hauzi302 于 10-12-2006 07:40 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 27-11-2006 09:07 AM
|
显示全部楼层
原帖由 hauzi302 于 22-11-2006 06:47 AM 发表
我现在再做一个24counter,但是我想再加上2个function,就是如果推slide switch UP的话,然后再加上按BUTTON,它就会加1;如果推slide switch DOWN,然后再加上按BUTTON,它就会减一。
以下是我的coding,check syn ...
你是出了什么问题哦!可以讲明吗? |
|
|
|
|
|
|
|
楼主 |
发表于 28-11-2006 07:39 AM
|
显示全部楼层
原帖由 sgcheng 于 27-11-2006 09:07 AM 发表
你是出了什么问题哦!可以讲明吗?
没了,问题解决了 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|