Дали това е бъг на Design Compiler?

J

jinruan

Guest
има такъв код в моя дизайн, но когато се синтезира код, да намеря резултат не е наред. Какъв е проблемът? Дали това е проблем на моя код или това е бъг на DC? целта библиотека е slow/CSM25. кода: (! rst_n) винаги @ (posedge CLK или negedge rst_n), ако dout
 
Hi Jinruan, Бъдете търпение и следа чрез логика. И двете са едни и същи. Помислете за резултат от Synopsys, и да разгледа случая, когато DIN == 0 и DIN == 1, и ще видите колко е умен Synospsy е! Между другото, инструментът използва сканиране FF за прилагане на логика. Това не може да бъде добра идея, ако искате да вмъкнете сканиране по-късно, или някъде времето от пътя SI може да изненада (например много дълго време за настройка). С уважение, инж. Хан
 
но когато "DIN" достигат клетката по-бавно от "EN" или когато DIN е "х" състояние понякога, динамична симулация показват, че dout винаги ще бъде в "х" състояние.
 
Hi Jinruan,>> но когато "DIN" достигат клетката по-бавно от "EN" Ако това е случай, че вашият дизайн работи твърде бавно за тактова честота. Има причина защо DC създаване на логиката, че това. Най-вероятно верига е по-малък / по-бързо се сравни с тази, която се очаква.>> когато DIN е "х" състояние понякога, ако имате този проблем, трябва да се подобри модел за FF. Ако "ан" е "X", но както на другите 2 входовете на MUX и двете са "0" или "1", а след това на изхода трябва да е стойността на входа. Възможно е да се модел на това поведение с помощта на порта (макар че аз не мога да си спомня от ръка). пожелания, инж. Хан
 
>> Но когато "DIN" достигат клетката по-бавно от "EN? Това няма значение" DIN "или" EN "сигнал достигне първо място, толкова дълго, тъй като и двете от тях са стабилни преди CLK (часовник) нараства край. Така че, ако си синтез отговаря на времето, тогава не трябва да видите "Х" (неизвестен) се появи в dout (изход). ------------------------- -------------------------------------------------- ------------>> има такъв код в моя дизайн, но когато се синтезира код, да намеря резултат не е наред. Между другото, това може би по-добре да се направи проверка логика еквивалентност от инструмент, а не го ръчно. (Изх. Conformal-LEC или формалност, могат да направят това добре.) и направете STA (статичен анализ на времето), за да се уверете, че вратата на ниво netlist и съответните SDF (стандартно закъснение формат) файл отговаря на времето. И накрая, ако все още има порта ниво симулация проблеми съществуват в проектирането, след което ги сравнете симулация резултат (може би крива) между "очаква" резултат и "неправилно" едно, за да разберете причината. ----- -------------------------------------------------- --------------------------------- Надявам се по-горе информация може да помогне на повече или по-малко.
 
Hi инж. Хан, моля прости моето невежество. Имам едно съмнение относно изявление SDFFRX1 (SI (EN), Швеция (DIN), D (1'b0), СК (CLK), RN (rst_n), Q (dout)......); == SDFFRX1 (SI (DIN), Швеция (EN), D (1'b0), СК (CLK), RN (rst_n), Q (dout)......); Според RTL, когато EN == 1'b1 dout
 
Винаги @ (posedge CLK или negedge rst_n), ако (! rst_n) dout
 
аз имам синтезира код с три кодиране стил, и е установено, че резултатът е същият.
 
Мисля, че можете да се опитате да използвате: (! Rst_n) / / synopsys async_set_reset "rst_n" / / synopsys sync_set_reset "EN" Винаги @ (posedge CLK или negedge rst_n), ако dout
 
Можете ли да поставите модел на поведение SDFFRX1 във вашата библиотека? Имам същия пъзел с ManojG
 

Welcome to EDABoard.com

Sponsor

Back
Top