
vhdl语言如何使一个赋初值信号语句只用一次以后都不会重复执行
3个回答
展开全部
1,在你的process进程语句内,加一句,使信号(例如:d0)的当前值赋值给d0。这个d0就会随着你信号的变换而变化了。
2或者你定义一个状态么。令这个信号的初始状态为你想要的值就行了呗。
例如。signal :state :d0:= xxx;
2或者你定义一个状态么。令这个信号的初始状态为你想要的值就行了呗。
例如。signal :state :d0:= xxx;
追问
我想进程里来一个时钟沿m的值自减1,m有初始值,之后m的值为自减后的值,不会在执行赋初始值语句
展开全部
在声明变量的地方,先声明,再赋值,用两句话,试试吧,我没试过。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
-----------------------------------------------------------
entity shiyan is
port(
clk: in std_logic
);
end shiyan;
-----------------------------------------------------------
architecture behav of shiyan is
signal m : std_logic_vector(3 downto 0):="1000";----------在这里设置你的初值
begin
process(clk)
begin
if(clk'event and clk='1')then
m<=m-'1';
end if;
end process;
end behav;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
-----------------------------------------------------------
entity shiyan is
port(
clk: in std_logic
);
end shiyan;
-----------------------------------------------------------
architecture behav of shiyan is
signal m : std_logic_vector(3 downto 0):="1000";----------在这里设置你的初值
begin
process(clk)
begin
if(clk'event and clk='1')then
m<=m-'1';
end if;
end process;
end behav;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询