VHDL 语言这样设计一个分频计怎么不对啊?自己太穷没财富请见谅!!!

[复制链接]
查看11 | 回复2 | 2010-9-7 14:14:49 | 显示全部楼层 |阅读模式
--这个我自己写的一个分频计程序,功能仿真输出的CE结果不对,高手指教
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY freq_division_1 IS
--std_clk是输入的标准时钟,reset是复位键,CE是要分频输出的始终(占空比50%),将1khz的标准时钟分频为0.5hz的CE。
PORT(std_clk,reset:IN STD_LOGIC;
CE:OUT STD_LOGIC);
END freq_division_1;
ARCHITECTURE freq_division_1_str OF freq_division_1 IS
BEGIN
PROCESS(std_clk,reset)
VARIABLE count:INTEGER RANGE 0 TO 999;
VARIABLE flag:INTEGER RANGE 0 TO 1;
BEGIN
IF(reset='0') THEN
count:=0;
CE<='1';
flag:=0;
ELSIF (std_clk'EVENT AND std_clk='1') THEN
IF(count=999) THEN

IF(flag=0) THEN

CE<='0';

ELSE CE<='1';

END IF;

flag:=(flag+1)MOD 2;

count:=0;
ELSE count:=count+1;
END IF;
END IF;
END PROCESS;
END freq_division_1_str;

回复

使用道具 举报

千问 | 2010-9-7 14:14:49 | 显示全部楼层
尽量不要用变量,初学者不知道变量会被综合成什么电路结构,往往会导致意想不到的错误。
回复

使用道具 举报

千问 | 2010-9-7 14:14:49 | 显示全部楼层
flag:=(flag+1)MOD 2;你把这句改成flag:=~flag就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行