关于VHDL计数器 reset功能的请教

关于reset功能 有一句 (同步)
IF reset = '1' THEN
q <= "0000"
不过这种重置是说:当reset是高电位时重置,低电位不重置。我希望给一个时钟信号的时候重置,再给一个时钟信号的时候不重置应该怎么写?
有句 IF rising_edge (reset) THEN... 我的意思就是reset上升沿时候重置 但是这句会报错。
我是自学菜鸟 高手请指点

第1个回答  2010-12-30
你所说的这个在同一个信号是实现不了的,我给你个方法,先设置一个信号,通过reset来改变它,然后通过它来重置,就可以实现一个时钟信号的时候重置,再给一个时钟信号的时候不重置
signal flag:std_logic;
begin
process(reset)
begin
if rising_edge (reset) THEN
flag<=not flag;
end if;
end process;
process(flag)
begin
if flag='1' then
q<="0000";
end if;
end process;
end art;本回答被提问者和网友采纳
第2个回答  2010-12-30
你源程序是下面这样的么:
if rising_edge (clk) THEN
if rising_edge (reset) THEN
q <= "0000" ;
end if;
end if;
这样肯定不行的,不能再一个进程里面有两种信号检测跳变的!

关于VHDL计数器 reset功能的请教
你所说的这个在同一个信号是实现不了的,我给你个方法,先设置一个信号,通过reset来改变它,然后通过它来重置,就可以实现一个时钟信号的时候重置,再给一个时钟信号的时候不重置 signal flag:std_logic;begin process(reset)begin if rising_edge (reset) THEN flag<=not flag;end if;end process...

翻译VHDL语言程序,急!!!
这是个模值为10的计数器 在进程里,设了CQL这个变量 RST(RESET)为1时,CQL归零 当时钟CLK上升沿到来,且EN为1时,CQL开始计数(小于9时加一,到9时归零,所以每一轮计10个数);当CQL=9时,输出COUT变为高电平 进程结束,把变量CQL赋给输出端口CQ 不过这个程序有错,CQL明明是4位向量,所以...

求大神解读一下VHDL的这段代码,尽量详细点
tmp := tmp + 1;--自增,根本没必要判断“11111111”,到了之后自动归零的 a <= tmp(7);--a输出tmp的最高位,原来是8位的计数器,去掉最高位,就是128分频器了 end if;end if;

请问怎么样用VHDL设计一个倒计时计数器
PORT(CLK,RESET:IN STD_LOGIC; ---系统时钟和复位信号 LOAD:IN STD_LOGIC; ---实现将你要预置的数输入给计数器 CURRENT:IN INTEGER RANGE 0 TO 10000;--你要预置的数 COUNT:OUT INTEGER RANGE 0 TO 10000;--计数器计数值 FENMIN:OUT STD_LOGIC); ---蜂鸣器值 END;ARCHITECTURE A...

VHDL程序解释
'0');elsif(rising_edge(clk)) then --否则在时钟上升沿到来 clkdiv <= clkdiv + 1; clkdiv+1 end if; --if语句结束 end process; ---进程结束 这段进程就是实现clkdiv的计数功能,在清零信号clr有效时,对clkdiv清零,否则加1 ...

谁帮我分析下这个VHDL代码高分!
signal step_divider : std_logic_vector(5 downto 0);--触发状态机的计数器,每计数2的6次方触发一次状态机,也就是状态机的最高跳转速度是输入时钟的1\/64 signal step_pulse : std_logic;--触发状态机的信号,每64个周期产生一个脉冲 signal phase_counter : std_logic_vector(7 downto...

用VHDL编写三位二进制计数器
reset: in std_logic; --异步复位 load: in std_logic; --同步置数 clk: in std_logic;d : in std_logic_vector(2 downto 0); --置数值 q : buffer std_logic_vector(2 downto 0);co: out std_logic --计数溢出标志 );end question;architecture behave of question is beg...

谁帮我分析下这个VHDL代码高分!
这段VHDL代码描述了一个ADSR(Attack\/Decay\/Sustain\/Release)包络发生器的实现。以下是对代码的逐行解析,我将强调关键点和可能的改进。1. 实体定义:`entity adsr is`` port(`` reset : in std_logic;`` clk : in std_logic;`` attack : in std_logic_vector(7 downto 0)...

vhdl 请各位大虾 帮我改正一下这几个程序的错误
就是在process里只操作加的signal而不操作count)。不过要真说他是16进制计数器的话又少了进位、复位信号之类的,总之感觉怪怪的,就那么不停的累加循环。其实真要看语法错误的话最好的就是拿到软件里综合一下;要看功能对不对就用软件仿真一下,总之比在这里纯靠想要靠谱的多。

vhdl数字钟的代码
b.分计数器设计(xminute)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;entity xminute is port (clkmin:in std_logic;clk:in std_logic;sethour:in std_logic;reset:in std_logic;minout:out std_logic_vector(6 downto 0);...

相似回答