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

 
 
> Проблемы с Matlab EDA Simulator Link, Различное поведение модели для разных версий Questasim
mikeT
сообщение Aug 13 2011, 12:13
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789



Здравствуйте.
Попробовал сделать простейший проект с использованием Matlab EDA Simulator Link + Questa и обнаружил что результаты моделирования радикально зависят от версии используемой Questa.

Проект следующий: имеется модуль верхнего уровня на SystemVerilog, в котором генерируется сигнал тактовой частоты и реализован регистр (код показан ниже).

Код
always_ff @(posedge сlk) begin
    out_data <= m_data;
end


Значение m_data формируется инстанцией модуля, интерфейс модуля приведен ниже.

Код
module slon_tb
(
    //---------------------------------
    input wire          clk,  
    output reg [3:0] data_out
);


Этот модуль реализован в виде функции на Матлабе согласно методике «Using a MATLAB Function as a Component», описанной в доках к Matlab EDA Simulator Link. В качестве условия запуска этой функции используется условие –rising clk (задается с помощью функции matlabcp). Собственно функционал модуля представляет собой простой счетчик.

Теперь о самой проблеме: при работе с Questa 6.4c все функционирует правильно – значение на выходе регистра запаздывает на единицу по сравнению со значением с выхода счетчика. Но при моделировании с Questa 6.6c или c Questa 10.0b значения на выходе счетчика и регистра совпадают – получается что модуль, реализованный на матлабе вычисляет новое значение своего выхода и это новое значение сразу же использует блок always_ff регистра.

Каких-либо ошибок или варнингов при этом не выдается (ни Матлабом, ни Квестой). Как я понимаю проблема в том, что симулятор (Квеста) некорректно обрабатывает очередь событий в момент очередного фронта клока или, точнее, неправильно размещает события в очереди.

Сталкивался ли кто-нибудь с чем-нибудь подобным? Я только начал разбираться с этим пакетом, и, возможно, что-то не понял, поэтому был бы очень признателен за помощь.

Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 15:45
Рейтинг@Mail.ru


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