用FPGA产生1MHz的方波

2019-07-15 22:32发布

小白一枚,作为入门,老师要求我用FPGA产生一个1MHz的方波,求指教。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
lfjd05
2019-07-16 15:19
假设你的主晶振频率是50MHz,分频到1MHz就是差了50倍,之后我们需要用一个计数器来分频,当时计数器记满的时候,改变一次信号电平,频率就等于慢了50倍,因为是一个周期需要改变两次电平,所以计数器需要有50/2=25个计数。贴一个VHDL的伪代码
PROCESS(clock)
                        VARIABLE half_counter: INTEGER RANGE 0 TO 24 :=0;        --设置计时器把50MHz半分频,设计的时序频率是1MHz,分频应该为50M/1M/2=25个计数
        BEGIN
                IF clock'EVENT AND clock='1'THEN                       --如果输入的50MHz出现下降沿                               
                        IF half_counter=24 THEN       
                                temple_CLK<=NOT temple_CLK;     --计数满了改变电平                                               
                        END IF;
                        IF half_counter=24 THEN  --计数器记满了清零
                                half_counter:=0;
                        ELSE
                                half_counter:=half_counter+1;
                        END IF;
                END IF;
        END PROCESS ;


一周热门 更多>