我写的VHDL分频程序的波形仿真显示,时钟占空比接近33%,而不是50%。为什么会这样呢
我觉得你的程序可以写得更好,但是给这个程序加一个这样的条件是不够的。
图书馆?ieee?
使用?IEEE . STD _ logic _ 1164 . all;?
使用?IEEE . STD _ logic _ unsigned . all;?
使用?IEEE . STD _ logic _ arith . all;?
实体?div?是吗?
泛型(n:整数?:=10);?
端口(clk:in?std _ logic?
clk_out:out?STD _ logic);?
结束?;?
建筑?bh?的?div?是吗?
信号?clk _ temp:STD _ logic;?
信号?计数器:整数?范围?0?去哪?n-1;?
开始?
clk _ out & lt=clk_temp?
进程(clk)?
开始?
if(clk'event?然后呢。那么clk='1 '?
if(counter=n-1)那么?
clk _ temp & lt='1';?
计数器& lt=计数器+1;?
elsif(counter & lt;n/2)那么?
clk _ temp & lt='0';?
计数器& lt=计数器+1;?
elsif(counter & lt;n-1)然后呢?
clk _ temp & lt='1';?
计数器& lt=计数器+1;?
不然呢?计数器& lt=0;
结束?如果;?
结束?如果;?
结束?过程;?
结束?BH;