Telegram Group & Telegram Channel
Нашел забавную ошибку в Вериляторе. При иерархической передаче строки в параметре модуля через два и более модуля строка может не дойти до конечного потребителя. Зависит это от того, указан ли, и где конкретно, тип параметра. Если во всей цепочке тип параметра отсутствует (выводится из дефолтного значения), то строка проходит. Если тип везде указан, то тоже проходит. А если во втором модуле тип не указать, то туда приходит строка той же длины, только заполненная пробелами. Причём, если её передать дальше, то она совсем обнулится.

Вот пример кода с багом:

module string_param_0 #(parameter S = "");
initial $display("S = '%s'", S);
endmodule

module string_param_1 #(parameter string S = "");
string_param_0 #(.S(S)) u_sp0();
endmodule

module test;
string_param_1 #(.S("Greetings from the old shoes")) u_sp1();

initial #1 $finish;
endmodule


Вывод такой:

S = '                            '


Если добавить тип параметра в первый модуль или убрать тип из второго, то вывод будет корректным:

S = 'Greetings from the old shoes'



group-telegram.com/enginegger/104
Create:
Last Update:

Нашел забавную ошибку в Вериляторе. При иерархической передаче строки в параметре модуля через два и более модуля строка может не дойти до конечного потребителя. Зависит это от того, указан ли, и где конкретно, тип параметра. Если во всей цепочке тип параметра отсутствует (выводится из дефолтного значения), то строка проходит. Если тип везде указан, то тоже проходит. А если во втором модуле тип не указать, то туда приходит строка той же длины, только заполненная пробелами. Причём, если её передать дальше, то она совсем обнулится.

Вот пример кода с багом:

module string_param_0 #(parameter S = "");
initial $display("S = '%s'", S);
endmodule

module string_param_1 #(parameter string S = "");
string_param_0 #(.S(S)) u_sp0();
endmodule

module test;
string_param_1 #(.S("Greetings from the old shoes")) u_sp1();

initial #1 $finish;
endmodule


Вывод такой:

S = '                            '


Если добавить тип параметра в первый модуль или убрать тип из второго, то вывод будет корректным:

S = 'Greetings from the old shoes'

BY Arnold Enginegger


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/enginegger/104

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Official government accounts have also spread fake fact checks. An official Twitter account for the Russia diplomatic mission in Geneva shared a fake debunking video claiming without evidence that "Western and Ukrainian media are creating thousands of fake news on Russia every day." The video, which has amassed almost 30,000 views, offered a "how-to" spot misinformation. The gold standard of encryption, known as end-to-end encryption, where only the sender and person who receives the message are able to see it, is available on Telegram only when the Secret Chat function is enabled. Voice and video calls are also completely encrypted. The Securities and Exchange Board of India (Sebi) had carried out a similar exercise in 2017 in a matter related to circulation of messages through WhatsApp. The Dow Jones Industrial Average fell 230 points, or 0.7%. Meanwhile, the S&P 500 and the Nasdaq Composite dropped 1.3% and 2.2%, respectively. All three indexes began the day with gains before selling off. READ MORE
from es


Telegram Arnold Enginegger
FROM American