G
Geo
Guest
For a small project, I'll be using a 16x4 RAM, as I'm using Xilinx
tools, I decided to try the Core Generator for creating this memory.
As testbench waveforms are not supported for units created using the
CoreGen, I created a top VHDL source to test the memory, this is the
code:
[code:1:7150da0ac1]library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity top_memory is
Port ( clk : in STD_LOGIC;
read: in STD_LOGIC;
address: in STD_LOGIC_VECTOR (3 downto 0);
input: in STD_LOGIC_VECTOR (3 downto 0);
output: out STD_LOGIC_VECTOR (3 downto 0));
end top_memory;
architecture Behavioral of top_memory is
-- The following code must appear in the VHDL architecture header:
component memory
port (
addr: IN std_logic_VECTOR(3 downto 0);
clk: IN std_logic;
din: IN std_logic_VECTOR(3 downto 0);
dout: OUT std_logic_VECTOR(3 downto 0);
we: IN std_logic);
end component;
begin
instance: memory
port map (
addr => address,
clk => clk,
din => input,
dout => output,
we => read);
end Behavioral;
[/code:1:7150da0ac1]
Next, I create a testbench wavefor for this top VHDL file, but I can't
get its simulation, because when calling "Generate Expected Simulation
Results" I always get this message:
[b:7150da0ac1]ERROR: VSim failed to simulate annotated testbench[/b:7150da0ac1]
This is the full output to the console:
[code:1:7150da0ac1]
Reading C:/Modeltech_xe_starter/tcl/vsim/pref.tcl
# 6.0a
# do top_memory_tb.ado
# ** Warning: (vlib-34) Library already exists at "work".
# resume
# Model Technology ModelSim XE III vlog 6.0a Compiler 2004.11 Nov 10
2004
# -- Compiling module memory
#
# Top level modules:
# memory
# Model Technology ModelSim XE III vcom 6.0a Compiler 2004.11 Nov 10
2004
# -- Loading package standard
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Compiling entity top_memory
# -- Compiling architecture behavioral of top_memory
# Model Technology ModelSim XE III vcom 6.0a Compiler 2004.11 Nov 10
2004
# -- Loading package standard
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Loading package textio
# -- Loading package std_logic_textio
# -- Compiling entity top_memory_tb
# -- Compiling architecture testbench_arch of top_memory_tb
# Model Technology ModelSim XE III vlog 6.0a Compiler 2004.11 Nov 10
2004
# -- Compiling module glbl
#
# Top level modules:
# glbl
# vsim -L xilinxcorelib_ver -L unisims_ver -lib work -t 1ps
top_memory_tb glbl
# Loading C:\Modeltech_xe_starter\win32xoem/../std.standard
# Loading
C:\Modeltech_xe_starter\win32xoem/../ieee.std_logic_1164(body)
# Loading
C:\Modeltech_xe_starter\win32xoem/../ieee.std_logic_arith(body)
# Loading
C:\Modeltech_xe_starter\win32xoem/../ieee.std_logic_unsigned(body)
# Loading C:\Modeltech_xe_starter\win32xoem/../std.textio(body)
# Loading
C:\Modeltech_xe_starter\win32xoem/../ieee.std_logic_textio(body)
# Loading work.top_memory_tb(testbench_arch)
# ** Warning: (vsim-3479) Time unit 'fs' is less than the simulator
resolution (1ps).
# Time: 0 ps Iteration: 0 Region: /
[B]# XE version supports only a single HDL[/B] -- <= I think this is
the problem
# Error loading design
Error loading design
ERROR: VSim failed to simulate annotated testbench
[/code:1:7150da0ac1]
I think this line is the problem:
# XE version supports only a single HDL
However, I must comment that the simulation worked once but it doesn't
work anymore (I always get that error message).
Also, what do these lines mean?
# Top level modules:
# glbl
# vsim -L xilinxcorelib_ver -L unisims_ver -lib work -t 1ps
top_memory_tb glbl
I have a doubt, why it tryes to compile two sources when calling the
compiler? Does anybody know what's that glbl?
Does anybody know how ISE Webpack 8.1 calls Modelsim?
Thanks in advance for your help,
José J. Enríquez.
tools, I decided to try the Core Generator for creating this memory.
As testbench waveforms are not supported for units created using the
CoreGen, I created a top VHDL source to test the memory, this is the
code:
[code:1:7150da0ac1]library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity top_memory is
Port ( clk : in STD_LOGIC;
read: in STD_LOGIC;
address: in STD_LOGIC_VECTOR (3 downto 0);
input: in STD_LOGIC_VECTOR (3 downto 0);
output: out STD_LOGIC_VECTOR (3 downto 0));
end top_memory;
architecture Behavioral of top_memory is
-- The following code must appear in the VHDL architecture header:
component memory
port (
addr: IN std_logic_VECTOR(3 downto 0);
clk: IN std_logic;
din: IN std_logic_VECTOR(3 downto 0);
dout: OUT std_logic_VECTOR(3 downto 0);
we: IN std_logic);
end component;
begin
instance: memory
port map (
addr => address,
clk => clk,
din => input,
dout => output,
we => read);
end Behavioral;
[/code:1:7150da0ac1]
Next, I create a testbench wavefor for this top VHDL file, but I can't
get its simulation, because when calling "Generate Expected Simulation
Results" I always get this message:
[b:7150da0ac1]ERROR: VSim failed to simulate annotated testbench[/b:7150da0ac1]
This is the full output to the console:
[code:1:7150da0ac1]
Reading C:/Modeltech_xe_starter/tcl/vsim/pref.tcl
# 6.0a
# do top_memory_tb.ado
# ** Warning: (vlib-34) Library already exists at "work".
# resume
# Model Technology ModelSim XE III vlog 6.0a Compiler 2004.11 Nov 10
2004
# -- Compiling module memory
#
# Top level modules:
# memory
# Model Technology ModelSim XE III vcom 6.0a Compiler 2004.11 Nov 10
2004
# -- Loading package standard
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Compiling entity top_memory
# -- Compiling architecture behavioral of top_memory
# Model Technology ModelSim XE III vcom 6.0a Compiler 2004.11 Nov 10
2004
# -- Loading package standard
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Loading package textio
# -- Loading package std_logic_textio
# -- Compiling entity top_memory_tb
# -- Compiling architecture testbench_arch of top_memory_tb
# Model Technology ModelSim XE III vlog 6.0a Compiler 2004.11 Nov 10
2004
# -- Compiling module glbl
#
# Top level modules:
# glbl
# vsim -L xilinxcorelib_ver -L unisims_ver -lib work -t 1ps
top_memory_tb glbl
# Loading C:\Modeltech_xe_starter\win32xoem/../std.standard
# Loading
C:\Modeltech_xe_starter\win32xoem/../ieee.std_logic_1164(body)
# Loading
C:\Modeltech_xe_starter\win32xoem/../ieee.std_logic_arith(body)
# Loading
C:\Modeltech_xe_starter\win32xoem/../ieee.std_logic_unsigned(body)
# Loading C:\Modeltech_xe_starter\win32xoem/../std.textio(body)
# Loading
C:\Modeltech_xe_starter\win32xoem/../ieee.std_logic_textio(body)
# Loading work.top_memory_tb(testbench_arch)
# ** Warning: (vsim-3479) Time unit 'fs' is less than the simulator
resolution (1ps).
# Time: 0 ps Iteration: 0 Region: /
[B]# XE version supports only a single HDL[/B] -- <= I think this is
the problem
# Error loading design
Error loading design
ERROR: VSim failed to simulate annotated testbench
[/code:1:7150da0ac1]
I think this line is the problem:
# XE version supports only a single HDL
However, I must comment that the simulation worked once but it doesn't
work anymore (I always get that error message).
Also, what do these lines mean?
# Top level modules:
# glbl
# vsim -L xilinxcorelib_ver -L unisims_ver -lib work -t 1ps
top_memory_tb glbl
I have a doubt, why it tryes to compile two sources when calling the
compiler? Does anybody know what's that glbl?
Does anybody know how ISE Webpack 8.1 calls Modelsim?
Thanks in advance for your help,
José J. Enríquez.