|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本人做了一个ddc模块,一个ram块和一个信号(tc)产生块,各块单独使用时,仿真综合,结果都没有什么问题,但把他们都加到一个顶层模块中作为整体使用时,前仿真就有问题,方针结果始终为0,不知道是什么原因?是逻辑时序问题呢?还是仿真的激励波形设置有问题?或者是其他什么问题?
苦想想不出来,只能请教各位高人了?
望各位能进行详尽赐教~~~~~~!
用ise7.1和modelsim 6.1进行设计仿真~!
下面是源代码:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity block_723 is
Port ( data : in std_logic_vector(13 downto 0);
nd : in std_logic;
clk : in std_logic;
vs_in : in std_logic;
R0 : in std_logic;
rfdut std_logic;
tc_outut std_logic;
d_outut std_logic_vector(31 downto 0);
rdy1:out std_logic );
end block_723;
architecture Behave of block_723 is
component ddc --ddc块
Port ( data_in : in std_logic_vector(13 downto 0);
nd_in : in std_logic;
clk_in : in std_logic;
rfd_out : out std_logic;
rdy_out : out std_logic;
I : out std_logic_vector(13 downto 0);
Q : out std_logic_vector(13 downto 0));
end component;
component ram --ram模块
Port ( data_in : in std_logic_vector(31 downto 0);
clk_in : in std_logic;
vs : in std_logic;
tc:in std_logic;
data_out : out std_logic_vector(31 downto 0));
end component;
component tc_generator --tc产生模块
Port ( R : in std_logic;
clk_in : in std_logic;
tc : out std_logic);
end component;
signal rdy:std_logic;
signal I1:std_logic_vector(13 downto 0);
signal Q1:std_logic_vector(13 downto 0);
signal data_ram: std_logic_vector(31 downto 0);
signal tc1:std_logic;
begin
data_ram(13 downto 0)<=I1;
data_ram(31 downto 18)<=Q1;
tc_out<=tc1;
rdy1<=rdy;
U1_ddc: ddc
port map(data_in=>data,
nd_in=>nd,
clk_in=>clk,
rfd_out=>rfd,
rdy_out=>rdy,
I=>I1,
Q=>Q1);
U2_ram:ram
port map(data_in=>data_ram,
clk_in=>rdy,
vs=>vs_in,
tc=>tc1,
data_out=>d_out);
U3_tc_generator:
tc_generator
port map(R=>R0,
clk_in=>clk,
tc=>tc1);
end Behave;
敬请赐教~! |
|