mttphreak 0 22 октября, 2012 Опубликовано 22 октября, 2012 · Жалоба Здравствуйте В проэкте нужно динамически подменять разные классы данных, чтобы создавать layered sequences и хорошенько прогружать логику. :smile3046: Нужно написать свою фабрику. Пример ниже не компилиться. Помогите найти ошибку или посоветуйте свою реализацию. Компилятор падает в месте, где выполняется this.my_car = new car_tank (); :laughing: Нужна именно custom factory, UVM/OVM/VMM не предлагать class car; // Common data memeber string ttype; // Common methods virtual function string get_type(); endfunction endclass class car_tank extends car; function new(); this.ttype = "car Tank"; endfunction function string get_type(); return this.ttype; endfunction : get_ttype endclass class car_bus extends car; function new(); this.ttype = "car Bus"; endfunction function string get_type(); return this.ttype; endfunction endclass class car_factory; car my_car; // Common methods function car get_car(int sel); if(sel == 1) this.my_car = new car_tank (); if(sel == 2) this.my_car = new car_bus (); return this.my_car; endfunction endclass Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Poluektovich 0 24 октября, 2012 Опубликовано 24 октября, 2012 · Жалоба Посмотрите в этой статье: Using-Parameterized-Classes-and-Factories-The-Yin-and-Yang-of-Object-Oriented-Verification А здесь написано в стиле C++, стандарт SV не предполагает такое создание безымянных классов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mttphreak 0 26 октября, 2012 Опубликовано 26 октября, 2012 · Жалоба Посмотрите в этой статье: Using-Parameterized-Classes-and-Factories-The-Yin-and-Yang-of-Object-Oriented-Verification А здесь написано в стиле C++, стандарт SV не предполагает такое создание безымянных классов. Спасибо за ссылку :beer: . Я в какой-то момент нашел эту статью, но сама реализация показалась мне уж слишком generic. Затем я порылся в OVM and UVM исходниках и обнаружил, что подобная реализация имплементирована и там. :laughing: В конце-концов, я остановился на более простом варианте, который нашел тут http://chipdesignmag.com/display.php?artic...&issueId=21 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться