关于VHDL的时间问题!求教!用的是ise 10!
就是一个简单的小程序,下面贴出来,都不对!beginprocessbeginclk<='1';waitfor10ns;clk<='0';waitfor10ns;endpr...
就是一个简单的小程序,下面贴出来,都不对!
begin
process
begin
clk <= '1';
wait for 10 ns;
clk <= '0';
wait for 10 ns;
end process; 展开
begin
process
begin
clk <= '1';
wait for 10 ns;
clk <= '0';
wait for 10 ns;
end process; 展开
2个回答
展开全部
wait语句是与process语句成对使用的,其作用是将进程挂起,并在条件满足时重新激活进程。因此,你的描述中,只有第一个wait语句有效。经过10ns之后,重新仿真进程,是从头仿真的,不是从第一个wait语句之后仿真的。
追问
但是检查说都不对啊?……另外,我这个不是仿真,就是正常程序,请问可以这样用吗?
追答
进程语句和wait语句都是用于仿真的,综合之后就不见了,综合的结果就变成RTL描述了。
看样子你要产生一个时钟信号,但这样描述是无法做到的。
如果要产生一个时钟信号,必须有一个时钟发生电路。通常在这个电路中,应当有RC或者LC等储能元件(例如石英晶体就是一个在标称振荡频率上的电感元件),而不会是自己就振荡起来的数字电路。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询