Помощ за Simulate проблем

M

Matrix_YL

Guest
Hi всичките Ми модул Verilog да видите вълна и Очаквани резултати Симулация на тест е вярна "Simulate поведенчески модел". но когато го направя "Simulate Post-Превод Verilog Модел" Очаквани резултати за симулация е доста различен Можете ли да кажете какво е станало с него? благодаря ти!
 
Моля, дефинира понятието "съвсем различно". По време на пост-маршрута симулация ще видите всички закъснения на времето и се подават накриво, но цялостната функция на логиката трябва да бъде същото като поведенчески симулация, освен ако не сте прекалено бързо натискане на чип.
 
Проверете за theSetUp / Задръжте нарушение предупреждения по време на симулация. Също така, Вие ще трябва да тече Ур симулация 100 NS и след това се прилагат вход вектори. НЧ Този 100 е за глобален набор Reset. Може да има и други причини, които също ще се нуждаят от повече обяснение на проблема.
 
Искам да изведе адреса ми от A [16:00], когато pre_ld_Frame_out 1 и 17'bz_zzzz_zzzz_zzzz_zzzz изход, когато pre_ld_Frame_out е 0 или изход ми адрес, след като 45ns когато симулират Behaviorl Модел е наред прави Simulate Post-Превод Verilog Модел на изхода А [ 16:00] винаги 17'bz_zzzz_zzzz_zzzz_zzzz hople можете да видите моите модул за повече информация!
 
[Цитат], ако A = 17'bz_zzzz_zzzz_zzzz_zzzz (pre_ld_Frame_out!); Друг започне A = адрес; # 7 DOUT = 1'b1 # 45 A = 17'bz_zzzz_zzzz_zzzz_zzzz; DOUT = 1'b0 края на края [/ цитат] 1) Забавяне не е synthesizable, U може да получава предупреждение за това. 2) A = 17'bz_zzzz_zzzz_zzzz_zzzz; => "Ще се направи A = адрес; =>" Ще се направи U R несъответствие на симулация, като всеки път, когато pre_ld_Frame_out = 0 A = 17'bz_zzzz_zzzz_zzzz_zzzz; DOUT = 1'b0; трябва да бъде отговорът . Дали това е така?
 
Има две картина -----> ми Simulate резултати от Simulate Behaviorl Модел и от Simulate Post-БГ
 
OK .. Така Ур проблем, ако аз съм го правилно е, че сигнал "А" не е актуализиран с "Адрес" в пост-Xlate симулация. Дали? Ами, просто направете едно просто упражнение, която да изчистите Ур това съмнение и ще даде ф повече съмнения, но мога да се обзаложите, наистина това ще помогне U. Вие просто смяна "# 45 A = 17'bz_zzzz_zzzz_zzzz_zzzz;" преди "A адрес = "Винаги @ (адрес) блок и не Ур симулации.
 
Намирам това, кога Simulate Post-Превод Verilog Модел винаги имат тези предупреждения ВНИМАНИЕ: Xst: 854 - "read_a_frame1.v Ред 24: Игнорирани начална изявление. ВНИМАНИЕ: Xst: 916 - "read_a_frame1.v" линия 63: Забавяне се игнорира за синтез. Искам да знам защо? и дали Simulate Post-Превод Verilog Модел винаги игнорира Забавяне Благодаря ви!
 
Това не е симулатор, че пренебрегването на забавяне изявление, това е физически синтезатор и инструменти на място и по маршрута. FPGA / CPLD не съдържа произволни линии закъснение, така че тя не може да реализирате своите поискано отлагане. Това е един основен проблем. Трябва да се намери някакъв друг начин (може би промяна регистър или евентуално DLL), за да генерира забавянето искате. Тези начални предупреждения изявление са обезсърчаващи. FPGA / CPLD * * въвежда най-първоначалните условия, но синтеза инструменти просто избират да ги игнорирате. Може би някой ден инструменти ще получат по-умни.
 
[Цитат = echo47]. Трябва да се намери някакъв друг начин (може би промяна регистър или евентуално DLL), за да генерира забавянето искате. [/ Цитат] Може ли да ми дадете някакъв пример за прилагане на модул ми! Благодаря ви много!
 
Не мога да дам полезни примери, защото те ще са силно зависими от съществуващите си дизайн, часовник, чип тип и колко далеч може да се отклоняват от този 45ns цел. Може би имате 20MHz часовник. Може би можете просто да дадете своя сигнал през един часовник D флопа, за да получите 50NS закъснение. Може би 50NS е достатъчно близо до 45ns. Може би вашето устройство съдържа DLLs. Може би можете да конфигурирате една от тях да генерира нов часовник, който е изкривено от твоя господар часовник от 45ns. Може би можете да го използвате, за да генерира забавено сигнал. Може би DLL трептене няма да предизвика никакви проблеми. Твърде много може би "-тата! Ще се опитам да редизайн на времето, така че всичко се случва хубаво и чисто по часовник ръбове. Това понякога изисква увеличаване на тактова честота.
 
Благодаря ви echo47 Знам ви означава! Аз просто искам да контролира SRAM за прочетен data.The SRAM ПРОЧЕТЕТЕ Timing ми изисква това забавяне, искам да използвам Xilinx спартански 2 прилагат моя дизайн! Мога да дам SRAM ПРОЧЕТЕТЕ ВРЕМЕ СЕ OE UB LB се контролира от държавната машина, така че аз просто използвайте DOUT информира данни е готова да получите, ако A = 17'bz_zzzz_zzzz_zzzz_zzzz (pre_ld_Frame_out!); Друг започне = адрес; / / при условие доволни дават адрес # 7 DOUT = 1'b1 / / при tOHA е над Dout информира данни готови # 45 A = 17'bz_zzzz_zzzz_zzzz_zzzz / / ясно адрес DOUT = 1'b0; / / ясно DOUT края
 
Аз съм любопитен, защо имате нужда да плаваш (SET до Z) автобус адрес. Споделяне на автобуса с други устройства? Ако ви SRAM е свързан само с FPGA, тогава може да се опитва твърде трудно да се направи вашите сигнали изглеждат точно като SRAM на информационния лист. Може да няма нужда да плаваш на автобуса адрес, или се притеснявате за tOHA или ясна DOUT до нула, или да изчака точно 45ns. Типичният начин да се чете от статично SRAM е да изведе адреса и контрол сигнали на един часовник, и след това резе четат данни на по-късна часовник (след TAA). Ако наистина имате нужда да плаваш на автобуса адрес, тогава можете да го направите в същото време, резе четат данни. Но обикновено това е само сигнал, че трябва да бъде флоатно е за трансфер на данни, така че можете да превключите от писмено четене.
 
Благодаря ви echo47 Искам да използвам моя FPGA контрол две SRAMs и същото време, когато един SRAM четеше друг SRAM пише! когато един кадър на изображението е сграбчен два функция SRAM'S промяна всеки друг [цитат] По типичен начин, от статични SRAM да изведе на адрес и контрол сигнали на едно часовник, и след това резе на чете данни на един по-късно часовника след TAA. Ако наистина имате нужда да плаваш на автобуса адрес, тогава можете да го направите в същото време, резе четат данни. Но обикновено това е само сигнал, че трябва да бъде флоатно е за трансфер на данни, така че можете да превключвате от писмено четене [/ цитат] Можете ли да ми даде някои примери?
 
Никога не съм виждал самостоятелен пример на интерфейс на SRAM. Memory цикъл е времето обикновено се сливат в цялостния дизайн на проекта, така че интерфейса на SRAM става почти нула реда код. Може би има урок някъде, че демонстрира основни четат / пишат концепции. Всеки, който виждал?
 
Hi echo47 цитат модул отгоре (CLK, clkout); параметър делител = 25000000 / 400 / / трябва да бъде четен брой вход CLK; рег. [15:00] брой = 0; изход рег. clkout = 0; Винаги @ (posedge CLK) започват броя
 
Моля изясни "е изгубена вълна clkout = STX". Кои "едно и също нещо" се случва? Ако аз разбирам промените: [код] модул отгоре (CLK, брой, clkout); параметър делител = 25000000 / 400 / / трябва да бъде четен брой вход CLK; изход рег. [15:00] брой = 0; изход рег. clkout = 0; Винаги @ (posedge CLK) започват броя
 
Благодарим Ви echo47 Нека се опитам отново! за брояч тече аз специално се считат за изход!
 
Виждам clkout промяна X. Това не се случва, когато симулират модул, който е публикувал преди няколко съобщения. Моят "броят" е изходен модул. Моля, опитайте ми модул, или да ни покаже кода си. Също така ни казват, че сроковете за симулация на вашата производителност - да я откърши JPEG. Ето първите няколко реда на моя пост по маршрута симулация. Първоначалната 100ns забавянето е породено от глобалната нулиране пулса на чипа.
 
Благодаря ви echo47 Знаех, какво не е наред с мен! Когато използвате 40ns на информация за часовник времето, така че получавам грешен резултат! когато използвам часовника, както вече ви обяснихме 10ns резултат същото право като вас! Срокове 1ns / 1PS използвани, но аз все още не знаете защо I стойност по подразбиране ще получите грешен резултат! За щастие, аз 146ns се прави резултат! благодаря ти много [/ цитат]
 

Welcome to EDABoard.com

Sponsor

Back
Top