打印

一个dds的小问题

[复制链接]
1789|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lovec51|  楼主 | 2007-9-28 16:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是一个DDS的代码,我想实现如下时序:
1个时钟周期允许其他器件对RAM读写操作
1空闲一个时钟周期
1个时钟周期建立DDS查表地址
空闲一个时钟周期
1个时钟周期给DA一个开始转换的信号
空闲一个时钟周期
代码如下:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity ddsc is
generic(
   freq_width:  integer := 10;--其实就是分频系数,也就是跳点
   phase_width: integer := 10;--相位字宽,1024个点
   addr_width: integer := 10;--累加器位宽
   ram_a_width: integer := 10;--表地址位宽
   ram_d_width: integer := 16--ad数据位宽
   );
port(
   clk: in std_logic;--dds clk
   freqin: in std_logic_vector (freq_width-1 downto 0);--其实就是分频系数,也就是跳点
   phasein: in std_logic_vector(phase_width-1 downto 0);--相位输入,相位只有第一次有效,这一点由外围电路保证
   ram_busy: out std_logic;--存储器忙标志,当DDS读数据的时候置位此标志,防止写操作扰乱数据。
   loadda: out std_logic;--DA使能
   dds_data_out: out std_logic_vector(ram_d_width-1 downto 0);--DDS输出
   ram_addr: out std_logic_vector(ram_a_width-1 downto 0);--dds地址输出
   test: out std_logic_vector(4 downto 0)
  );
end entity ddsc;
architecture behave of ddsc is
signal acc : std_logic_vector(addr_width-1 downto 0);
signal phasew : std_logic_vector(phase_width-1 downto 0);
signal freqw: std_logic_vector(freq_width-1 downto 0);
signal clk_count: std_logic_vector(4 downto 0);
begin
process(clk)
  begin
  if(clk 'event and clk ='1') then
   clk_count <= clk_count +1;--在clk的上升沿计数器加1
  end if;
  if(clk_count(1) = '1') then--在clk的第一位上升沿触发查表
   freqw <= freqin;--频率字输入
   phasew <= phasein;--相位同步输入
  end if;
   acc <= acc + freqw;--相位累加,指针移动,指针移动到最后会自动到开始的地方读取数据 
end process;
  loadda <= clk_count(1) and clk_count(0) and not clk;
  ram_addr <= acc;--?????????????????????????????????????????????????
end architecture behave;

问题是仿真发现ram_addr 始终是X状态,也就是ram_addr <= acc;--?????????????????????????????????????????????????这一句没有起作用.
其他l信号如oadda都正常
哭想很久没有答案,所以来BBS希望高手指点!

相关帖子

沙发
wolaiye3| | 2007-9-29 16:42 | 只看该作者

怎么没有复位?

使用特权

评论回复
板凳
lovec51|  楼主 | 2007-9-30 17:46 | 只看该作者

先吧这个最简单的搞出来再加复位,可是目前这个还有问题!

请大虾指点!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

112

帖子

1

粉丝