Вопросы по теме 'specman'

разбиение строки на список в specman
Предположим, у меня есть строка: str = “ab,cd,ef” и я хочу разбить его на список lst = [“ab”,”cd”,ef”] Как я могу сделать это наилучшим образом, предполагая, что я не знаю заранее, сколько элементов содержится в строке? В...
665 просмотров
schedule 04.04.2024

Получение имени переменной для печати в specman
Я хочу сделать следующее в Specman: my_task() is { var my_var : int; my_var = 5; message(LOW,appendf("%s=[%d]",my_var.to_name(),my_var)); }; В данный момент ищу внутреннее задание to_name() . Я не хочу создавать структуру для...
718 просмотров
schedule 02.09.2022

Макрос Specman DAC: как определить 2 входа разного типа (uint и string)?
в моей среде проверки у меня есть разные типы регистров с почти одинаковым именем, которое отличается только индексом, например: timer_load_0 , timer_load_1 и т. д.. Я пытаюсь создать макрос, который получает 2 параметра: string («имя» регистра...
283 просмотров
schedule 06.12.2022

Поддерживает ли Specman необязательные параметры метода?
Я хотел бы добавить новый ввод в существующий метод, но не изменять все предыдущие вызовы метода. Поддерживает ли Specman необязательные параметры метода? Как в С++: void cpp_func(int bla, int foo = 0) { //do something ... }; и тогда вы...
439 просмотров
schedule 12.01.2023

хороший способ ограничить сумму различных экземпляров
У меня есть структура (например, mystruct_s), в которой есть несколько структур одного типа (например, package_s) в разных иерархиях. struct packet_s { size:uint; active:bool; }; struct mystruct_s { // packet struct paths: // p //...
79 просмотров
schedule 02.06.2022

ограничение типа между двумя разными полями определителя
Я прочитал тему ограничений типа в e . Я увидел, что можно ограничить типы полей структуры, как в этом примере: extend DATA packet { keep type header is a COP header; }; Это означает, что всякий раз, когда я имею дело с пакетом DATA ,...
184 просмотров
schedule 25.04.2024

Specman - Как дождаться, пока событие произойдет несколько раз
У меня есть события: event clk_e is rise (smp.port_uart_clk$) @sim; event async_16_clk_e is rise (smp.port_br_clk_16$) @sim; *uart clk быстрее, чем br_clk_16 update_int()@clk_e is { while TRUE { if...
362 просмотров
schedule 11.03.2024

Получить значение сброса поля в vr_ad (specman) или просто сбросить поле
Я запускаю последовательность, в которой мне нужно временно записать в определенное поле в регистре, и через некоторое время я хочу сбросить его до значения сброса. Я не хочу сбрасывать весь регистр с помощью функции reset() , я хочу только сбросить...
61 просмотров
schedule 13.10.2022

Specman e: keep type .. не может уточнить тип поля
У меня есть следующий код в моей среде проверки: // seq_file.e extend SPECIFIC_TYPE sequence { keep type driver is a SPECIFIC_TYPE sequence_driver; event some_event is @driver.as_a(SPECIFIC_TYPE sequence_driver).some_event; }; extend...
52 просмотров
schedule 15.01.2023

Specman - инициировать значение параметра внутренней последовательности (выполнить из другой последовательности) непосредственно из теста
У меня есть последовательность (например, последовательность SANITY_TEST), которая выполняет другую последовательность (например, последовательность BOOT). BOOT seq содержит следующий параметр: index_v : uint(bits:4) ; У меня есть следующий...
36 просмотров
schedule 27.08.2022