我刚学vhdl,有几个疑问的地方想请教各位大侠,大家不吝赐教啊!
1。vhdl里面有没有类似高级语言或汇编语言里的“宏”?宏用起来好方便的说,但vhdl里好像没看到有这个。如果我想把一段程序做成一个模块,以后不停调用模块该怎么办?只有用子函数了?
3。为什么我不能用while()loop指令,编译时总出错,并告诉我只有用第一种循环指令可用:for xx in()loop。
2。我看别人的程序里,定时器都是自己编程实现的,但诸如“after 10 ns”“wait for 2 ns”又是怎么回事?内部没有定时器它怎么知道延迟10ns呢?
3。帮看看下面怎么回事?
process(a_1)
begin
if(a_1'event and a_1='1')then
a1<=a_1 after 1 us;
end if;
a1<=a_1 ;
end process;
我想实现的是:当a_1变化时,若是上升沿,则延迟1us,若下降沿,不需延迟。
但编译通不过,说重复赋值?我如何来实现延迟啊?
大侠们,谢过了,帮帮我好吗?