信号,因此应该改成(clr,clk,clkdiv)
begin --进程开始
if(clr='1') then --如果复位信号=1,clkdiv每一位全为0
clkdiv <= (others =>'0')
elsif(rising_edge(clk)) then --否则在时钟上升沿到来
clkdiv <= clkdiv + 1 clkdiv+1
end if--if语句结束
end process ---进程结束
这段进程就是实现clkdiv的计数功能,在清零信号clr有效时,对clkdiv清零,否则加1
这个VHDL描述,就是上图的逻辑关系。并行语句B <= XIN OR A描述了图中的或门(OR);进程语句(PROCESS...BEGIN ...... END PEOCESS)描述了两个D触发器(DFF);另一个并行语句YOUT <= C描述了一个缓冲器(这个缓冲器在输出模块内,因此在图中通过输出端口来体现,而没有画出来)。不能得到通用芯片的原理图,只能得到这个模块的图,也就是你VHDL写的这个模块可以在原理图中调用,VHDL你编译成功之后,在你程序的这个窗口下,点file----creat/updata---creatsymbol
files
for
current
files,这时你建个原理图窗口,如果刚模块生成成功的话,就可以看到生成的模块
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)