首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

VHDL 程序问题

VHDL 程序问题

if reset='1' and rising_edge(clk) then

if h="001" then
s1<='1'; ------------------s1,s2,s3为信号的
end if;
if h="010" then
s2<='1';
end if;
if h="011" then
s3<='1';
end if; end if;

上面的程序可以实现功能仿真,但是时序仿真s1,s2,s3始终为0,请大家帮我看看是什么原因啊?

补充一下:
模块的引脚定义是这样的:

entity test is
port
(

reset ,clk : in std_logic;

s1,s2,s3 : out std_logic ;
h:in std_logic_vector(2 downto 0)

);
end test;

问题解决了 ,谢谢!

现有程序:

if reset='0' then
d1<="000000";
elsif rising_edge(s1) then
d1<=q;

end if;

d1为输出端口,s1,reset,q为输入引脚,进程中就它一个process


可是还有错误:Error (10629): VHDL error at b.vhd(25): can't synthesize logic for statement with conditions that test for the edges of multiple clocks
这是为什么啊

返回列表