集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1715|回复: 2

这段代码编译没有问题,为什么综合却不行呢,各位高手帮忙看一下,问题出在哪?

[复制链接]
huyashan 发表于 2011-9-1 16:12:40 | 显示全部楼层 |阅读模式
----------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date:    12:12:12 09/01/2011
-- Design Name:
-- Module Name:    TimeSequenceWithDSP - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity TimeSequenceWithDSP is
    Port ( Addr : in  STD_LOGIC_VECTOR (9 downto 1);
           Data : inout  STD_LOGIC_VECTOR (15 downto 0);
           CSn : in  STD_LOGIC;
           RD_WRn : in  STD_LOGIC;
           RDn : in  STD_LOGIC;
           WRHn : in  STD_LOGIC;
           WRLn : in  STD_LOGIC;
           WAITn : out  STD_LOGIC;
                          
                          ena: out std_logic;  
                          wea: out std_logic;                                             -- interface with DRAM   0:read, 1:write
                          addra: out std_logic_vector(8 downto 0);                        -- interface with DRAM
                          dina: in std_logic_vector(15 downto 0);
                          douta: out std_logic_vector(15 downto 0)                          
                          );
end TimeSequenceWithDSP;

architecture Behavioral of TimeSequenceWithDSP is
begin
                        ena   <= CSn;
                        addra(8 downto 0) <= Addr(9 downto 1);
                        wea <= (not RD_WRn);
                       
                        process(RDn,WRLn,WRHn)begin
                                if(CSn = '0') then
                                        if(RDn='1' and RDn' event) then
                                                Data(15 downto 0) <= dina(15 downto 0);
                                        else                                                       
                                                                if(WRLn='1' and WRLn' event) then
                                                                        douta(7 downto 0) <= Data(7 downto 0);
                                                                end if;
                                                               
                                                                if(WRHn='1' and WRHn' event) then
                                                                        douta(15 downto 8) <= Data(15 downto 8);
                                                                end if;
                                               
                                        end if;
                                else
                                        Data(15 downto 0) <= (OTHERS => 'Z');
                                end if;
                        end process;
end Behavioral;
wyatwl 发表于 2011-9-2 11:15:42 | 显示全部楼层
综合器报的什么错误啊,你没贴出来,编译没错就是代码没错啊。代码没错不代表综合不会出错。你把综合器报的错贴出来看看。
jiayouhq 发表于 2011-9-2 21:43:42 | 显示全部楼层
VHDL现在用的越来越少了,不懂,呵呵
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-24 10:31 , Processed in 0.079406 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表