Цитата(BuTeK @ May 16 2006, 23:37)

Может у кого-нибудь есть модель на VHDL, а то с Verilog не знаком. И только начинаю осваивать VHDL, если у кого есть поделитесь.. очень надо.. помогите начинающему программисту..

Есть уже и на VHDL :-)
Давай мыло скину ...
А вообще нет разницы на чём модель.
Все современные симуляторы поддерживают "смешенное моделирование".
И разбираться с верилогом совсем не обязательно.
Возможно как "начинающему программисту" тебе нужно чё то попроще.
Простая модель памяти описана в доке к ModelSim ("Modelling Memory UM-108")
library ieee;
use ieee.std_logic_1164.all;
use work.conversions.all;
entity memory is
generic(add_bits : integer := 12;
data_bits : integer := 32);
port(add_in : in std_ulogic_vector(add_bits-1 downto 0);
data_in : in std_ulogic_vector(data_bits-1 downto 0);
data_out : out std_ulogic_vector(data_bits-1 downto 0);
cs, mwrite : in std_ulogic;
do_init : in std_ulogic);
subtype word is std_ulogic_vector(data_bits-1 downto 0);
constant nwords : integer := 2 ** add_bits;
type ram_type is array(0 to nwords-1) of word;
end;
architecture style_93 of memory is
------------------------------
shared variable ram : ram_type;
------------------------------
begin
memory:
process (cs)
variable address : natural;
begin
if rising_edge(cs) then
address := sulv_to_natural(add_in);
if (mwrite = '1') then
ram(address) := data_in;
end if;
data_out <= ram(address);
end if;
end process memory;
-- illustrates a second process using the shared variable
initialize:
process (do_init)
variable address : natural;
begin
if rising_edge(do_init) then
for address in 0 to nwords-1 loop
ram(address) := data_in;
end loop;
end if;
end process initialize;
end architecture style_93;