Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Block RAM + Xilinx ISE

29 Lis 2007 00:12 2425 3
  • Poziom 10  
    hey,

    Czy ktoś może wie z czego mogą wynikać błedy przy symulacji pamięci RAM wygenerowanej przy pomocy IP Coregen?? Do etapu symulacji wszystko przebiegalo prawidlowo. Probowalem juz na rózne sposoby najpierw z wygenerowanego pliku IP tworzylem schemat, potem skorzystalem z kodu VHDL'a generowanego automatycznie prz tworzeniu tej pamieci - ciągle ten sam błąd ;/ proszę o pomoc.

    pozdrawiam,

    Mateusz
  • Poziom 18  
    Może napisz jaki to błąd i sypnij troche kodem. Ja osobiście jasnowidzem nie jestem. Jeśli pytasz czy ktoś już sie z tym spotkał, to ja się nie spotkałem.
  • Poziom 10  
    Oto komunikat zgłaszany przez ModelSima:

    # Reading C:/Programs/Modeltech_xe_starter/tcl/vsim/pref.tcl
    # do {BlRam.fdo}
    # ** Warning: (vlib-34) Library already exists at "work".
    # Model Technology ModelSim XE III vcom 6.2c Compiler 2006.08 Aug 26 2006
    # -- Loading package standard
    # -- Loading package std_logic_1164
    # -- Compiling entity block_ram
    # -- Compiling architecture block_ram_a of block_ram
    # -- Loading package textio
    # -- Loading package ul_utils
    # -- Loading package mem_init_file_pack_v6_2
    # -- Loading package iputils_conv
    # -- Loading package blkmemsp_pkg_v6_2
    # -- Loading entity blkmemsp_v6_2
    # ** Error: Block_Ram.vhd(109): Internal error: ../../../src/vcom/genexpr.c(5483)
    # ** Error: Block_Ram.vhd(109): VHDL Compiler exiting
    # ** Error: C:/Programs/Modeltech_xe_starter/win32xoem/vcom failed.
    # Error in macro ./BlRam.fdo line 5

    # C:/Programs/Modeltech_xe_starter/win32xoem/vcom failed.
    # while executing
    # "vcom -explicit -93 "Block_Ram.vhd""

    A to jest kod wygenerowany przez IP Coregen:

    LIBRARY ieee;
    USE ieee.std_logic_1164.ALL;
    -- synthesis translate_off
    Library XilinxCoreLib;
    -- synthesis translate_on
    ENTITY Block_Ram IS
    port (
    addr: IN std_logic_VECTOR(9 downto 0);
    clk: IN std_logic;
    din: IN std_logic_VECTOR(7 downto 0);
    dout: OUT std_logic_VECTOR(7 downto 0);
    we: IN std_logic);
    END Block_Ram;

    ARCHITECTURE Block_Ram_a OF Block_Ram IS
    -- synthesis translate_off
    component wrapped_Block_Ram
    port (
    addr: IN std_logic_VECTOR(9 downto 0);
    clk: IN std_logic;
    din: IN std_logic_VECTOR(7 downto 0);
    dout: OUT std_logic_VECTOR(7 downto 0);
    we: IN std_logic);
    end component;

    -- Configuration specification
    for all : wrapped_Block_Ram use entity XilinxCoreLib.blkmemsp_v6_2(behavioral)
    generic map(
    c_sinit_value => "0",
    c_has_en => 0,
    c_reg_inputs => 0,
    c_yclk_is_rising => 1,
    c_ysinit_is_high => 1,
    c_ywe_is_high => 1,
    c_yprimitive_type => "16kx1",
    c_ytop_addr => "1024",
    c_yhierarchy => "hierarchy1",
    c_has_limit_data_pitch => 0,
    c_has_rdy => 0,
    c_write_mode => 0,
    c_width => 8,
    c_yuse_single_primitive => 0,
    c_has_nd => 0,
    c_has_we => 1,
    c_enable_rlocs => 0,
    c_has_rfd => 0,
    c_has_din => 1,
    c_ybottom_addr => "0",
    c_pipe_stages => 0,
    c_yen_is_high => 1,
    c_depth => 1024,
    c_has_default_data => 1,
    c_limit_data_pitch => 18,
    c_has_sinit => 0,
    c_yydisable_warnings => 1,
    c_mem_init_file => "mif_file_16_1",
    c_default_data => "0",
    c_ymake_bmm => 0,
    c_addr_width => 10);
    -- synthesis translate_on
    BEGIN
    -- synthesis translate_off
    U0 : wrapped_Block_Ram
    port map (
    addr => addr,
    clk => clk,
    din => din,
    dout => dout,
    we => we);
    -- synthesis translate_on

    END Block_Ram_a;