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

 
 
> Тестбенч FFT в Quartus8, Как запустить тестбенч fft в Q8?
Acvarif
сообщение Jan 13 2010, 14:29
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Откликнитесь please те кому приходилось симулировать мегафункцию fft в Q8.

Интересует последовательность действий как подключить fft_tb.vhd для симуляции.

Что я уже сделал:

1. В матлабе создал два текстовых файла для мнимой и действительной частей входных данных.
Правда не уверен в формате данных в этих текстовых файлах.
Если можно, подкиньте пожалуйста пример этих текстовых файлов для сравнения.
2. Перенес текстовые файлы в папку с откомпилированным проэктом мегафункции fft.

А дальше заклинило...

Подскажите пожалуйста что делать дальше.

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Prusak
сообщение Jan 15 2010, 09:45
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 11-08-06
Из: Москва
Пользователь №: 19 488



Цитата(Acvarif @ Jan 15 2010, 12:25) *
Пока до конца не понял, неужели для симуляции fft в Q8 нужен ModelSim?
По документации получается, что нужен, поскольку мегафункция создает .vhd тест бенч файл
в котором какраз и читаются текстовые файлы мнимой и действительной частей входных данных.
А тест бенч .vhd я так понял может запуститься только в ModelSim.
Если до этого вы обходились симулятором, встроенным в Квартус, то, видимо, пришла пора осваивать более продвинутые системы моделирования. Можно ли в Квартусе запускать тестбенчи я не знаю, никогда им не пользовался.

Цитата(Acvarif @ Jan 15 2010, 12:25) *
У меня почему то эти файлы визард не создал. Может настроил его не так?
Вобщем пришлось их создать в Матлабе и поместить в папку с проектом.
Это очень странно, а в отчете о созданных файлах они есть?? Надо бы разобраться, а то может он корку не сгенерировал.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 15 2010, 11:28
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Prusak @ Jan 15 2010, 13:45) *
Это очень странно, а в отчете о созданных файлах они есть?? Надо бы разобраться, а то может он корку не сгенерировал.


Model Sim запустил. Теперь запущу по новой мегафункцию. Посмотрю какие файлы она создает.
Go to the top of the page
 
+Quote Post
Builder
сообщение Jan 15 2010, 11:53
Сообщение #4


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(Acvarif @ Jan 15 2010, 13:28) *
Model Sim запустил. Теперь запущу по новой мегафункцию. Посмотрю какие файлы она создает.
А что было? Сделали как было по ссылке, которую в личку бросал?
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 15 2010, 12:42
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Builder @ Jan 15 2010, 15:53) *
А что было? Сделали как было по ссылке, которую в личку бросал?


Большое спасибо. Хорошая ссылка.
Надеюсь запустить МS 6.5

На данный момент получилось запустиь MS от Альтеры (который 6.1 под Q8).

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

Модель Сим загрузил необходимые библиотеки, что-то откомпилировал и сейчас крутится...Жду результат...
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 15 2010, 14:02
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Acvarif @ Jan 15 2010, 16:42) *
Модель Сим загрузил необходимые библиотеки, что-то откомпилировал и сейчас крутится...Жду результат...


Не получается. Вот что происходит в Q8

Info: Running Quartus II EDA Netlist Writer
Info: Command: quartus_eda --read_settings_files=off --write_settings_files=off fft -c fft
Info: Generated files "fft.vho" and "fft_vhd.sdo" in directory "D:/Altera/Quartus80/quartus/test/" for EDA simulation tool
Info: Quartus II EDA Netlist Writer was successful. 0 errors, 0 warnings
Info: Running Quartus II Shell
Info: Command: quartus_sh -t d:/altera/quartus80/quartus/common/tcl/internal/nativelink/qnativesim.tcl fft fft
Info: Quartus(args): fft fft
Info: Start Nativelink Simulation process
Info: Starting NativeLink simulation with ModelSim-Altera software
Info: Generated ModelSim script file D:/Altera/Quartus80/quartus/test/fft_run_msim_gate_vhdl.do

На этом все застряло.

Посмотел, что Модель Сим создал файл (в другой директории) D:\Altera\Quartus80\quartus\test\simulation\modelsim\fft_run_msim_gate_vhdl.do

Его содержимое:

transcript on
if {[file exists gate_work]} {
vdel -lib gate_work -all
}
vlib gate_work
vmap work gate_work

vcom -93 -work work {fft.vho}

Пробую как Вы советовали через Модель Сим (через скрипт fft.do, который разместил в папке проекта)
Пока запустить его не получается. Команду перехода (cd D:\Altera\Quartus80\quartus\test\) на директорию где он находится Model Sim выполняет.
А на команде do fft.do выдает ошибку.

Посоветуйте пожалуйста как быть
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jan 15 2010, 15:06
Сообщение #7


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(Acvarif @ Jan 15 2010, 17:02) *
Посоветуйте пожалуйста как быть

А попробуйте не использовать NativeLink, если опыта маловато (т.е. не запускайте ModelSim из-под квартуса).
Запустите ModelSim отдельно и скормите ему результаты работы квартусовского нетлист райтера (они в папке <имя_проекта>_sim, если мне склероз не изменяет, находятся - там и vho, и тестбенч, и скрипты). Отокмпилируйте hdl-файлы в соответствии с иерархией, потом запускайте моделирование.
Даже если не сразу получится, то так быстрее разберетесь, имхо.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 15 2010, 17:10
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Надеюсь все же добить симуляцию fft.
Буду пробовать по всякому.

Например в ISE Xilinx Модельсим запускался прямо изнутри и возвращал результат.
Я и подумал, что может и в Q8 (пока почти совсем нет опыта работы с Q8) должно быть что то похожее.

Пока много неясного. Вот например что такое NativeLink?
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 16 2010, 08:35
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Помогите пожалуйста правильно составить скрипт для симуляции по Model Sim Altera

Скрипт:
Код
## Компиляция
vcom -work work -93 -explicit -quiet -source -O0 -cover s -novopt D:/altera/work/fft/fft_tb.vhd
vcom -work work -93 -explicit -quiet -source -O0 -cover s -novopt D:/altera/work/fft/fft.vho

## Запуск проекта на моделирование
vsim -t 1ps -title FFT work.fft_tb
##
view wave


ругается на -cover s -novopt
Попробовал сделать так:

Код
## Компиляция
vcom -93 -work work {D:/altera/work/fft/fft_tb.vhd}
vcom -93 -work work {D:/altera/work/fft/fft.vho}

## Запуск проекта на моделирование
vsim -t 1ps -title FFT work.fft_tb
##
view wave


Вроде откомпилировалось все без предупреждений и появилась пустая диаграмма и сигналы.
Далее при нажатии на "run All" запустились проходы с кучей варнингсов...все остановилось но результат не высветился (диаграмма так и осталась пустая)
Go to the top of the page
 
+Quote Post
Prusak
сообщение Jan 16 2010, 19:17
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 11-08-06
Из: Москва
Пользователь №: 19 488



Цитата(Acvarif @ Jan 16 2010, 11:35) *
Вроде откомпилировалось все без предупреждений и появилась пустая диаграмма и сигналы.
Далее при нажатии на "run All" запустились проходы с кучей варнингсов...все остановилось но результат не высветился (диаграмма так и осталась пустая)
Вот, все так и должно быть. А на диаграмме ничего нет, потому что вы не добавили в нее сигналы из проекта. Попробуйте так: перед нажатием run -all в консоли написать add wave /fft/* или перенести мышкой из левой части, где список сигналов и процессов. Моделсима нет под рукой, не помню как окно называется...
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 18 2010, 08:14
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Prusak @ Jan 16 2010, 23:17) *
Вот, все так и должно быть. А на диаграмме ничего нет, потому что вы не добавили в нее сигналы из проекта. Попробуйте так: перед нажатием run -all в консоли написать add wave /fft/* или перенести мышкой из левой части, где список сигналов и процессов. Моделсима нет под рукой, не помню как окно называется...


Спасибо.
Все!!!
Диаграмма получилась.

Теперь, как предлагает толмуд по Мегафункции необходимо проделать то же но в Матлабе, который создаст те же выходные файлы мнимой и действительной частей + файл експоненты.
И я так понял, что после этого можно сравнить то, что создано Модель симом и Матлабом. Оно должно быть одинаково.
Поскольку по умолчанию входные данные мегафункция создает на базе случайного процесса, то мне ради еще одной проверки придется входные файлы мнимой и действительной частей попробовать сделать на базе гармонической функции. Далее все отсимулировать и увидеть одну гармонику. Чем сейчас и займусь..
Еще вопрос:
Как эта мегафункция роаботает непосредственно в железе? Был ли у Вас опыт? Нет ли там каких-то проблем?
Go to the top of the page
 
+Quote Post
Prusak
сообщение Jan 18 2010, 08:52
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 11-08-06
Из: Москва
Пользователь №: 19 488



Цитата(Acvarif @ Jan 18 2010, 11:14) *
Спасибо.
Все!!!
Диаграмма получилась.
Поздравляю :-)

Цитата(Acvarif @ Jan 18 2010, 11:14) *
Еще вопрос:
Как эта мегафункция роаботает непосредственно в железе? Был ли у Вас опыт? Нет ли там каких-то проблем?
Да, я столкнулся с проблемами и тоже хочу здесь спросить у имевших опыт общения с этой коркой форумчан:
Архитектура FFT: Burst, Quad output
Число точек N =512
Разрядность данных : 14

На вход input_real подаю синусойду. На вход input_imag подаю 0. Получаю спектр сигнала на выходе и сразу подаю его на обратное преобразование IFFT, в качестве которой вторая корка FFT, с теми же параметрами, только, вывод inverse=1.
И вижу что на выходе IFFT есть данные и на выходе real и image, т.е сигнал стал комплексным!! И даже после взятия модуля такого комплексного числа синусойда на выходе - сильно искажена.

Начинаю разбираться и ахаю. Спектр на выходе FFT оказывается несимметричный (а при реальном сигнале на входе - он всегда должен быть симметричным)!!! Нет, он конечно похож, но конкретные числа немного отличаются. Пробовал увеличить разрядность данных до 16, игрался с параметром twiddle precision, пробовал архитектуры buffered burst, ничего не помогало. Сейчас подозреваю, что проблема в округлении. В даташите написано что в архитектуре variable streamming применен более продвинутый блок floating point, но опробывать эту архитектуру не успел. Выкрутился тем, что взял тупо первую половину спектра (1-N/2 отсчетов) и зеркально отобразил, и скопировал на место второй части (N/2-N отсчеты), конечно так не совсем честно, и для комплекс. сигнала не покатит, но в моем случае свою синусойду обратно я получил и без комплексного сигнала на выходе, на чем пока и успокоился.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 18 2010, 09:19
Сообщение #13


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Prusak @ Jan 18 2010, 12:52) *
На вход input_real подаю синусойду. На вход input_imag подаю 0.


Если можно подскажите пожалуйста как теперь создать текстовые файлы (входные) для мнимой и действительной частей гармонического сигнала (ведь сам визард по умолчанию их создает для случайного процесса).
Там еще предлагается (его тоже создает визард) какой то матлабовский файл в котором вроде можно заменить x = ..
на гармонический. Но запуск его в матлабе ничего не дает.
Go to the top of the page
 
+Quote Post
Prusak
сообщение Jan 18 2010, 10:05
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 11-08-06
Из: Москва
Пользователь №: 19 488



Цитата(Acvarif @ Jan 18 2010, 12:19) *
Если можно подскажите пожалуйста как теперь создать текстовые файлы (входные) для мнимой и действительной частей гармонического сигнала (ведь сам визард по умолчанию их создает для случайного процесса).
Там еще предлагается (его тоже создает визард) какой то матлабовский файл в котором вроде можно заменить x = ..
на гармонический. Но запуск его в матлабе ничего не дает.
Я подавал только действительный сигнал, код следующий:
Код
Fs = 40e6;       % Частота дискретизации, Гц
Td = 1/Fs;       % период дискретизации сигнала
Tend = 1e-1;     % Конечное время наблюдения.
t=0:Td:Tend;    
Fif = 1e6;     % Частота синусойды, Гц
A = 2^12;         % Амлитуда синусойды
Ns=32000;         % Число сэмплов для записи в файл

%Генерируем Синус
S = A*sin(2*pi*Fif*t);

% Открываем выходной файл на запись
f1 = fopen('C:\sin_out.txt','w');

% Выводим данные в файл
for i=1:Ns    
    str_tmp = int2str(S(i));         % Преобразуем целое десятичное число в строку
    fprintf(f1, '%s \n', str_tmp);            % Записываем ее в файл
end;
fclose(f1);
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Acvarif   Тестбенч FFT в Quartus8   Jan 13 2010, 14:29
- - Builder   Цитата(Acvarif @ Jan 13 2010, 16:29) Инте...   Jan 13 2010, 16:03
|- - Acvarif   Цитата(Builder @ Jan 13 2010, 19:03) Я не...   Jan 14 2010, 08:15
|- - Builder   Цитата(Acvarif @ Jan 14 2010, 10:15) Неуж...   Jan 14 2010, 09:09
|- - Acvarif   Цитата(Builder @ Jan 14 2010, 12:09) Оста...   Jan 14 2010, 09:46
|- - Builder   Цитата(Acvarif @ Jan 14 2010, 11:46) На т...   Jan 14 2010, 15:29
|- - Acvarif   Цитата(Builder @ Jan 14 2010, 19:29) Стра...   Jan 15 2010, 07:24
- - IL-76   Поставьте Modelsim Altera Starter Edition. Он бесп...   Jan 14 2010, 09:56
- - Prusak   Цитата(Acvarif @ Jan 13 2010, 17:29) Откл...   Jan 15 2010, 08:59
|- - Acvarif   Цитата(Prusak @ Jan 15 2010, 12:59) Удало...   Jan 15 2010, 09:25
|- - Acvarif   Спасибо. Смысл понятен. Пропустил через симулятор...   Jan 18 2010, 13:17
|- - Acvarif   Вобщем после немного подумать пришол к выводу: Ме...   Jan 22 2010, 06:50
|- - Prusak   Цитата(Acvarif @ Jan 22 2010, 09:50) Вобщ...   Feb 2 2010, 07:38
|- - novartis   Цитата(Prusak @ Feb 2 2010, 10:38) novart...   Feb 3 2010, 15:58
- - Prusak   Цитата(Acvarif @ Jan 15 2010, 14:28) Mode...   Jan 15 2010, 12:06
- - novartis   Добрый вечер, уже замучился разбираться с магафунк...   Jan 24 2010, 17:47


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

 


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


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