DLR 0 23 декабря, 2005 Опубликовано 23 декабря, 2005 · Жалоба Не могу подключить test bench к своему проекту, да и вообще он как нибуть создается в Activ-HDL? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ASN 0 23 декабря, 2005 Опубликовано 23 декабря, 2005 · Жалоба DLR Создаём модуль, компилируем модуль. В desing browser в рабочей библиотеке находим откомпилированное entity, ЛКМ->generate testbench. Статим его top'ом. Active создаст файл с модулем и заготовками для тестов. Набиваем свои сигналы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DLR 0 24 декабря, 2005 Опубликовано 24 декабря, 2005 · Жалоба Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DLR 0 16 февраля, 2006 Опубликовано 16 февраля, 2006 · Жалоба Но вот проблема с временной симуляцией остается, в options требуется waveforms (*.awf) - как ее сделать из обычного test-bench файла или както еще? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
izozella 0 16 февраля, 2006 Опубликовано 16 февраля, 2006 · Жалоба Но вот проблема с временной симуляцией остается, в options требуется waveforms (*.awf) - как ее сделать из обычного test-bench файла или както еще? Для проведения симуляции можно использовать do-файлы, пример @onerror { goto end } savealltabs SetActiveLib -work comp -include "$DSN\src\TestBench_top\sfifo_32kx18.vhd" comp -include "$DSN\src\top.vhd" comp -include "$DSN\src\TestBench_top\top_TB.vhd" asim TESTBENCH_FOR_top wave wave -color 200,0,0 clk wave -color 200,0,0 rst run 4us label end endsim Для проведения временной симуляции можно пользоваться темже test-bench, но в do-файле надо компилить файл модели устройства после имплементации: comp "$DSN\implement\TIME_SIM.VHD" comp -include "$DSN\src\TestBench_top\top_TB.vhd" comp -include "$DSN\src\TestBench_top\top_TB_tim_cfg.vhd" asim -sdftyp -AUTO="$DSN\IMPLEMENT\TIME_SIM.SDF" TIMING_FOR_top Где-то так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dsmv 0 17 февраля, 2006 Опубликовано 17 февраля, 2006 · Жалоба По моему проще в файле testbench добавить формирование своих сигналов, например reset <= '0', '1' after 300 ns; clk <= not clk after 10 ns; А если требуется моделировать циклы чтения-записи, то создаём отдельный процесс и него добавляем функции read_mem, write_mem. Например pr_main: process procedure read_mem( a: in std_logic_vector( 31 downto 0 ), data: out std_logic_vector( 31 downto 0 ) is begin wait until rising_edge( clk ); adr <= a after 1 ns; rd <= '0' after 1 ns; wait until rising_edge( clk ); rd <= '1' after 1 ns; d <= data; end read_mem; begin -- это тело процесса read_mem( x"80000000", data_in ); read_mem( x"80000001", data_in ); end process; Тест создаётся за несколько минут. Далее его можно расширять до необходимого уровня. Главное преимущество такого подхода по сравнению с заданием сигналов в Wayworm - возможность использования обратных связей, например для проверки состояния готовности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
izozella 0 17 февраля, 2006 Опубликовано 17 февраля, 2006 · Жалоба По моему проще в файле testbench добавить формирование своих сигналов, например Тест создаётся за несколько минут. Далее его можно расширять до необходимого уровня. Главное преимущество такого подхода по сравнению с заданием сигналов в Wayworm - возможность использования обратных связей, например для проверки состояния готовности. Использование do-файла необходимо только для запуска симуляции (функциональной или временной) и просмотра сигналов, что-бы каждый раз при запуске симуляции не добавлять их вручную. Формирование имитационных сигналов на вход тестируемого компонента конечно необходимо прописывать в teshbench, для того он собственно и создается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DLR 0 8 июня, 2006 Опубликовано 8 июня, 2006 · Жалоба При временной симуляции происходит куча ошибок типа - # SDF: Error: time_sim.sdf(2203) Instance /uut/u1_u3_n0035_1_147 not found Что я делаю не так? Вот описание файла out_data.do: SetActiveLib -work comp -include "$DSN\IMPLEMENT\TIME_SIM.vhd" comp -include "$DSN\src\TestBench\out_data_TB_tim_cfg.vhd" asim -sdftyp -AUTO="$DSN\IMPLEMENT\TIME_SIM.SDF" TIMING_FOR_out_data wave wave -noreg CLK_OI wave -noreg CLKi wave -noreg PRP1 wave -noreg PRP2 wave -noreg RSTI wave -noreg VLD wave -noreg CMD wave -noreg DIS wave -noreg ADSC wave -noreg ADSP wave -noreg ADV wave -noreg BW wave -noreg CS2 wave -noreg CS2INV wave -noreg EN1 wave -noreg EN2 wave -noreg F1NA wave -noreg F1NB wave -noreg GW wave -noreg LBO wave -noreg OE wave -noreg PRPA_O wave -noreg PRPA_R wave -noreg PRPB_O wave -noreg PRPB_R wave -noreg PUSK_A wave -noreg PUSK_B wave -noreg RDDO wave -noreg T0_1 wave -noreg WE wave -noreg ZZ wave -noreg ADRS wave -noreg DA wave -noreg DB wave -noreg TEL wave -noreg DSR Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MadMakc 0 8 июня, 2006 Опубликовано 8 июня, 2006 · Жалоба При временной симуляции происходит куча ошибок типа - # SDF: Error: time_sim.sdf(2203) Instance /uut/u1_u3_n0035_1_147 not found Если это пишелся во время иницилизации моделирования, тогда возможно что sdf подключена не туда. Зайдите Design -> Settings -> Simulation -> sdf. Там увидите свою sdf-ку и путь, куда она подцеплена.По умолчанию этот путь /UUT. Возможно что этот путь надо изменить на правильный. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DLR 0 8 июня, 2006 Опубликовано 8 июня, 2006 · Жалоба Да ошибки пишутся при иницилизации моделирования, а в настройках SDF путь просто /UUT - вроде в симуляции он и есть верхний, value - Average, load было no, поставил yes - ни чего не изменилось! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MadMakc 0 8 июня, 2006 Опубликовано 8 июня, 2006 · Жалоба путь просто /UUT - вроде в симуляции он и есть верхний, А вот это лучше проверить.Возьмите сигнал,который торчит из верхнего уровня временной модели(клок например, или ресет) и засуньте его в waveform. И посмотрите, как его обозвали в столбике иеархии. Наверняка если будет буть типа UUT/, тогда не знаю что дальше делать.А если что-то другое, то это другое надо вписать в путь подключения sdf. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DLR 0 8 июня, 2006 Опубликовано 8 июня, 2006 · Жалоба Все верно UUT!, хотел подключить проект - но не дается!!!(хотя и сжал до 990 КБайт!) :blink: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_mirgorodsky 0 9 июня, 2006 Опубликовано 9 июня, 2006 · Жалоба А зачем нужно временное моделирование? Еще раз перепроверить математику Quartus или ISE? Реально файл задержек является порождением математического аппарата соответствующего програмного продукта. Даже если временные модели содержат серьезную ошибку то это не будет заметно при временной симуляции, при том что оконечное устройство может не работать или сбоить. Временной анализ проекта на 5-6 тысяч логических ячеек вполне может оказаться нереализуемой в реальные сроки задачей. В то же время временная симуляция небольших кусков кода не имеет смысла, потому как оконечные результаты сильно зависят от оконечной раскладки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 9 июня, 2006 Опубликовано 9 июня, 2006 · Жалоба А зачем нужно временное моделирование? Еще раз перепроверить математику Quartus или ISE? "Бывают дни, когда опустишь руки..." Мне однажды, правда, уже очень давно, временное моделирование помогло найти и осознать свою ошибку. Да, это была ошибка моя, ошибка грубая, но, проведя временное моделирование, я ее нашел и исправил. Приобретя такой опыт, запомнил на всю оставшуюся жизнь, что так делать нельзя. Пусть человек учится... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DLR 0 9 июня, 2006 Опубликовано 9 июня, 2006 · Жалоба Вообще, работая в ISE + ModelSim я часто находил ошибки при симуляции после трассировки кристалла - это очень помогало при разработке! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться