реклама на сайте
подробности

 
 
> Не могу промоделировать ядро PicoBlaze!, Может есть у кого TestBench?
lexus.mephi
сообщение Jan 20 2007, 01:33
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 24-09-05
Пользователь №: 8 903



При моделировании ядра на выходах всегда UUUUUUUUUUUUUUU. В даташитах ксайлинсовских диаграмки есть, а вот testbench они привести не захотели!
Само ядро я добавлял в свой проект как в книге у Зотова и проект этот уже полностью реализован, вот тока при моделировании мне приходилось все сигналы от ядра ручками задавать, а это не есть хорошо.


--------------------
Мои сайты:www.systemverilog.ru
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
makc
сообщение Jan 20 2007, 14:08
Сообщение #2


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Очень похоже на то, что данные в памяти не проинициализированы. Но это нужно проверить.
(Закладочка Memories->View Contents по правой кнопке).


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
lexus.mephi
сообщение Jan 20 2007, 18:28
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 24-09-05
Пользователь №: 8 903



Цитата(makc @ Jan 20 2007, 14:08) *
Очень похоже на то, что данные в памяти не проинициализированы. Но это нужно проверить.
(Закладочка Memories->View Contents по правой кнопке).

Это в моделсиме закладочка? Че-то найти не могу. Забыл написать - я использую ModelSim SE 6.1


--------------------
Мои сайты:www.systemverilog.ru
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 20 2007, 18:41
Сообщение #4


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(lexus.mephi @ Jan 20 2007, 18:28) *
Цитата(makc @ Jan 20 2007, 14:08) *

Очень похоже на то, что данные в памяти не проинициализированы. Но это нужно проверить.
(Закладочка Memories->View Contents по правой кнопке).

Это в моделсиме закладочка? Че-то найти не могу. Забыл написать - я использую ModelSim SE 6.1


Эта закладочка в той же линии, где и закладочки Project, Library, Sim, Files ...
См. картинку в приложении.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
lexus.mephi
сообщение Jan 20 2007, 19:06
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 24-09-05
Пользователь №: 8 903



Ну да, там по нулям. И как быть?


--------------------
Мои сайты:www.systemverilog.ru
Go to the top of the page
 
+Quote Post
makc
сообщение Jan 20 2007, 19:13
Сообщение #6


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(lexus.mephi @ Jan 20 2007, 19:06) *
Ну да, там по нулям. И как быть?


И должны быть нули?
Если должны, то нужно смотреть путь прохождения данных на предмет того, в каком именно месте возникают неопределенные значения. Для этого нужно выделить на временной диаграмме интересующий сигнал, нажать на временной диаграмме правую кнопку мыши и выбрать пункт Show Drivers. После этого в появившемся окне проследить путь прохождения сигнала до его задатчика.

PS: И все-таки еще раз повторяю, что неплохо было бы прикрепить исходники моделируемых модулей и скрипты для их моделирования. Без этого сложно что-то предположить, т.к. вариантов много, а возможен любой из них.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
lexus.mephi
сообщение Jan 20 2007, 20:44
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 24-09-05
Пользователь №: 8 903



Я имел ввиду что на этой закладке вообще пусто. Вот исходник программной памяти, но по нему трудно че-то сказать. TB к нему я выше приводил.
==================================================
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
--
-- The Unisim Library is used to define Xilinx primitives. It is also used during
-- simulation. The source can be viewed at %XILINX%\vhdl\src\unisims\unisim_VCOMP.vhd
--
library unisim;
use unisim.vcomponents.all;
--
--
entity prog_rom is
Port ( address : in std_logic_vector(9 downto 0);
instruction : out std_logic_vector(17 downto 0);
clk : in std_logic);
end prog_rom;
--
architecture low_level_definition of prog_rom is
--
-- Attributes to define ROM contents during implementation synthesis.
-- The information is repeated in the generic map for functional simulation
--
attribute INIT_00 : string;
attribute INIT_01 : string;
attribute INIT_02 : string;
attribute INIT_03 : string;
attribute INIT_04 : string;
attribute INIT_05 : string;
attribute INIT_06 : string;
attribute INIT_07 : string;
attribute INIT_08 : string;
attribute INIT_09 : string;
attribute INIT_0A : string;
attribute INIT_0B : string;
attribute INIT_0C : string;
attribute INIT_0D : string;
attribute INIT_0E : string;
attribute INIT_0F : string;
attribute INIT_10 : string;
attribute INIT_11 : string;
attribute INIT_12 : string;
attribute INIT_13 : string;
attribute INIT_14 : string;
attribute INIT_15 : string;
attribute INIT_16 : string;
attribute INIT_17 : string;
attribute INIT_18 : string;
attribute INIT_19 : string;
attribute INIT_1A : string;
attribute INIT_1B : string;
attribute INIT_1C : string;
attribute INIT_1D : string;
attribute INIT_1E : string;
attribute INIT_1F : string;
attribute INIT_20 : string;
attribute INIT_21 : string;
attribute INIT_22 : string;
attribute INIT_23 : string;
attribute INIT_24 : string;
attribute INIT_25 : string;
attribute INIT_26 : string;
attribute INIT_27 : string;
attribute INIT_28 : string;
attribute INIT_29 : string;
attribute INIT_2A : string;
attribute INIT_2B : string;
attribute INIT_2C : string;
attribute INIT_2D : string;
attribute INIT_2E : string;
attribute INIT_2F : string;
attribute INIT_30 : string;
attribute INIT_31 : string;
attribute INIT_32 : string;
attribute INIT_33 : string;
attribute INIT_34 : string;
attribute INIT_35 : string;
attribute INIT_36 : string;
attribute INIT_37 : string;
attribute INIT_38 : string;
attribute INIT_39 : string;
attribute INIT_3A : string;
attribute INIT_3B : string;
attribute INIT_3C : string;
attribute INIT_3D : string;
attribute INIT_3E : string;
attribute INIT_3F : string;
attribute INITP_00 : string;
attribute INITP_01 : string;
attribute INITP_02 : string;
attribute INITP_03 : string;
attribute INITP_04 : string;
attribute INITP_05 : string;
attribute INITP_06 : string;
attribute INITP_07 : string;
--
-- Attributes to define ROM contents during implementation synthesis.
--
attribute INIT_00 of ram_1024_x_18 : label is "4F01AF011FC04C105F80CA040A0054064B014B08CA040A01C801C90209000801";
attribute INIT_01 of ram_1024_x_18 : label is "400A4F80CF080F014F40402400B100A4002E410B400A541B4F02AF021FC05424";
attribute INIT_02 of ram_1024_x_18 : label is "0500040040038801400209005402490308018901542C480700B100A4002E410B";
attribute INIT_03 of ram_1024_x_18 : label is "8609850084045841C310A31F131007020609050104085839C320131007000600";
attribute INIT_04 of ram_1024_x_18 : label is "8602850084015851C304A307131087088604850084025849C308A30F13108706";
attribute INIT_05 of ram_1024_x_18 : label is "1300870686058502585FC301A30113108702860185055858C302A30313108704";
attribute INIT_06 of ram_1024_x_18 : label is "86035871C320A33F130087048606586BC340A37F13008708860285015865C380";
attribute INIT_07 of ram_1024_x_18 : label is "5881C304A30713008708587CC308A30F1300870686015877C310A31F13008702";
attribute INIT_08 of ram_1024_x_18 : label is "C21050925892420912708701588BC301A301130087025886C302A30313008704";
attribute INIT_09 of ram_1024_x_18 : label is "C21050A258A242091250162040948501C210509A589A420912601720408C8601";
attribute INIT_0A of ram_1024_x_18 : label is "C2100200C420C2108201C720C2108201C620C2100201C520A0001520409C8401";
attribute INIT_0B of ram_1024_x_18 : label is "00000000000000000000000000000000A00054B44F004F0C54B14F014F0CA000";
attribute INIT_0C of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_0D of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_0E of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_0F of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_10 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_11 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_12 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_13 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_14 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_15 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_16 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_17 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_18 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_19 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_1A of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_1B of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_1C of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_1D of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_1E of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_1F of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_20 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_21 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_22 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_23 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_24 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_25 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_26 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_27 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_28 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_29 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_2A of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_2B of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_2C of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_2D of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_2E of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_2F of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_30 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_31 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_32 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_33 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_34 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_35 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_36 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_37 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_38 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_39 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3A of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3B of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3C of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3D of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3E of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3F of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_00 of ram_1024_x_18 : label is "D07417417417415D15D0574157415741574003400DCD1DFC083FC343402348A0";
attribute INITP_01 of ram_1024_x_18 : label is "000000000000000000000000000000000000B4D28A69A28D7D0D7D0D7D1D0741";
attribute INITP_02 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_03 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_04 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_05 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_06 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INITP_07 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
--
begin
--
--Instantiate the Xilinx primitive for a block RAM
ram_1024_x_18: RAMB16_S18
--synthesis translate_off
--INIT values repeated to define contents for functional simulation
generic map ( INIT_00 => X"4F01AF011FC04C105F80CA040A0054064B014B08CA040A01C801C90209000801",
INIT_01 => X"400A4F80CF080F014F40402400B100A4002E410B400A541B4F02AF021FC05424",
INIT_02 => X"0500040040038801400209005402490308018901542C480700B100A4002E410B",
INIT_03 => X"8609850084045841C310A31F131007020609050104085839C320131007000600",
INIT_04 => X"8602850084015851C304A307131087088604850084025849C308A30F13108706",
INIT_05 => X"1300870686058502585FC301A30113108702860185055858C302A30313108704",
INIT_06 => X"86035871C320A33F130087048606586BC340A37F13008708860285015865C380",
INIT_07 => X"5881C304A30713008708587CC308A30F1300870686015877C310A31F13008702",
INIT_08 => X"C21050925892420912708701588BC301A301130087025886C302A30313008704",
INIT_09 => X"C21050A258A242091250162040948501C210509A589A420912601720408C8601",
INIT_0A => X"C2100200C420C2108201C720C2108201C620C2100201C520A0001520409C8401",
INIT_0B => X"00000000000000000000000000000000A00054B44F004F0C54B14F014F0CA000",
INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_00 => X"D07417417417415D15D0574157415741574003400DCD1DFC083FC343402348A0",
INITP_01 => X"000000000000000000000000000000000000B4D28A69A28D7D0D7D0D7D1D0741",
INITP_02 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_03 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_04 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_05 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_06 => X"0000000000000000000000000000000000000000000000000000000000000000",
INITP_07 => X"0000000000000000000000000000000000000000000000000000000000000000")
--synthesis translate_on
port map( DI => "0000000000000000",
DIP => "00",
EN => '1',
WE => '0',
SSR => '0',
CLK => clk,
ADDR => address,
DO => instruction(15 downto 0),
DOP => instruction(17 downto 16));
--
end low_level_definition;
--
=====================================================================


--------------------
Мои сайты:www.systemverilog.ru
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- lexus.mephi   Не могу промоделировать ядро PicoBlaze!   Jan 20 2007, 01:33
- - makc   Для полноты картины не хватает исходников. Я, напр...   Jan 20 2007, 10:46
- - dmivs   Цитата(lexus.mephi @ Jan 20 2007, 02:33) ...   Jan 20 2007, 12:24
|- - lexus.mephi   Итак, у меня есть 2 исходных файла! Один - вер...   Jan 20 2007, 13:25
- - makc   На будущее - не нужно цитировать файлы. Их можно з...   Jan 20 2007, 21:42
|- - lexus.mephi   А у тебя какой ModelSim? Я просто заметил, что у т...   Jan 20 2007, 22:49
|- - makc   Цитата(lexus.mephi @ Jan 20 2007, 22:49) ...   Jan 20 2007, 22:53
|- - lexus.mephi   Макс, спасибо тебе огромное!!! Я подум...   Jan 20 2007, 23:56
|- - lexus.mephi   УРА!!! Перекомпилил и все пучком =))) ...   Jan 21 2007, 00:16
- - makc   Кнопка внизу из опций модератора, которые доступны...   Jan 21 2007, 11:28


Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 06:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01456 секунд с 7
ELECTRONIX ©2004-2016