Формирование высокоуровневых моделей цифровых ячеек с использованием веб-доступа Лялинский Алексей Анатольевич ИППМ РАН МЭС-2012 Подмосковье 8-12 октября 1 САПР и Интернет Два направления исследований по этой тематике представляют наибольший интерес : A. Построение систем с распределением вычислительных и программных ресурсов по сети компьютеров; B. Добавление нового доступа к системам проектирования через веб-страницы или вебпорталы. МЭС-2012 Подмосковье 8-12 октября 2 САПР и Интернет A. Построение систем с распределением вычислительных и программных ресурсов по сети компьютеров Сеть Пользо ватель Локальная часть МЭС-2012 Подмосковье 8-12 октября 3 САПР и Интернет B. Добавление нового доступа к системам проектирования через веб-страницы или веб-порталы Пользова тель 1 САПР локаль ный сервер Веб-сайт Интернет Пользователь 2 Локальная часть МЭС-2012 Подмосковье 8-12 октября 4 САПР на основе распределенных систем Программное обеспечение САПР (локальный сервер 1) Используемое ПО (10%-20%) Используемое ПО (10%-20%) Программное обеспечение САПР (локальный сервер 3) Программное обеспечение САПР (локальный сервер 2) Используемое ПО (10%-20%) Используемое ПО (10%-20%) Программное обеспечение САПР (локальный сервер n) МЭС-2012 Подмосковье 8-12 октября 5 САПР на основе распределенных систем Executable workflows Lavana H., Khetawat A., Brglez F., Kozminski K. Executable workflows: A paradigm for collaborative design on the Internet. 34th ACM-IEEE Design Automation Conference, ACM Press, Anaheim Convention Center, Anaheim, CA, pp. 553–558, June 9–13, 1997. ADAM (Advanced Design Automation System) David Knapp, Alice Parker. The ADAM design planning engine// in book “Artificial intelligence in engineering design (Vol. II)”. pp. 263 - 285: Academic Press Professional, Inc. San Diego, CA, USA ©1992. OASIS OASIS Users Guide and Reference Manual. MCNC, Research Triangle Park, NC, 1992. Cadweld ExPro Rastogi P., Koziki M., Golshani F. ExPro: An expert system based process management system. IEEE Trans. Semiconductor Manuf., 6(3): 207–218, 1993. WELD Chan F.L., Spiller M.D., Newton A.R. WELD — An environment for web-based electronic design. 35th ACM -IEEE Design Automation Conference, ACM Press, San Francisco, CA, pp. 146–151, June 1998. Daniell J., Director S.W. An Object Oriented Approach to CAD Tool Control. IEEE Trans. on CAD, vol.10, pp.698-713, June 1991 МЭС-2012 Подмосковье 8-12 октября 6 САПР на основе распределенных систем Проблема связь между блоками приходится организовывать не на уровне вызовов функций, а посредством обмена сообщениями через глобальную сеть, что и сложнее в плане программирования, и медленнее из-за связей между удаленными серверами. … x = func (a1, a2, … , an); … … $url = "http://www.cad.com/”; $lines = file($url); … Частичное решение Технологии «.NET Remoting» (часть пакета пакета «.NET Framework 1.0», и WCF (Windows Communication Foundation) (часть пакета «.NET Framework 3.0») позволяют приложению создать объект в другом процессе, который может быть расположен на другом компьютере, соединённом сетью с сервером основного процесса. МЭС-2012 Подмосковье 8-12 октября 7 САПР на основе распределенных систем Проблемы создания таких систем нежелание разработчиков САПР создавать параллельные версии одного и того же ПО (для локальной и распределенной версий) потенциально более низкая производительность таких систем, обусловленная необходимостью дополнительных временных затрат на обмен данными при интеграции в единое целое блоков от различных производителей возникают дополнительные проблемы с лицензированием программных продуктов разных фирм. МЭС-2012 Подмосковье 8-12 октября 8 Блоки САПР с веб-доступом Отличительная черта: использование канала связи для доступа клиента к удаленному приложению. Отличия Последствия ограничение по времени ожидания отклика должны использоваться асинхронные технологии клиент-сервер (типа AJAX) ограничение на объем передаваемых данных за одну транзакцию большая часть данных от клиента к серверу – команды МЭС-2012 Подмосковье 8-12 октября 9 Блоки САПР с веб-доступом Особенности веб-доступа: Преимущества практически неограниченный доступ к использованию системы нет проблем с распространением и регистрацией данного ПО упрощен учет запусков системы Недостатки возможные проблемы с доступом потенциальная опасность хакерских атак на сайт ограничение по времени исполнения задачи МЭС-2012 Подмосковье 8-12 октября 10 Блоки САПР с веб-доступом Разработка системы генерации HDL-моделей стандартных ячеек цифровых библиотек по заданной логической функции: Иерархия моделей сложные блок временных параметров простые порты входа-выхода логическое выражение, определяющее работу функции МЭС-2012 Подмосковье 8-12 октября 11 Блоки САПР с веб-доступом Структура графической оболочки: Блок задания логического выражения Блок генерации и оптимизации набора входных тестовых сигналов Блок визуализации кривых Блок генерации Verilog-моделей МЭС-2012 Подмосковье 8-12 октября 12 Блоки САПР с веб-доступом Структура системы генерации моделей: Блоки генерации Verilogмоделей Логическое выражение Spice-библиотеки PHP Простая Verilog-модель PHP Генерация тестов C Spice-моделирование Генерация сложной модели PHP Визуализация кривых Сложная Verilog-модель Verilog Временные параметры Verilog-AMS Примечание: Блоки, необходимые для генерации сложной модели, выделены темным фоном МЭС-2012 Подмосковье 8-12 октября 13 Блоки САПР с веб-доступом Структура высокоуровневых моделей Три основных блока информации интерфейсная часть (описание портов) поведенческая часть временные параметры • module nand2 (a, b, x); input a,b; output x; • assign x = ~(a&b); • specify (a => x) = (725, 535); (b => x) = (733, 512); endspecify МЭС-2012 Подмосковье 8-12 октября 14 Блоки САПР с веб-доступом Типы высокоуровневых моделей Четыре типа моделей Verilog-модели с временными параметрами без временных параметров 1 Простая Verilog-модель 2 Verilog 3 Verilog-AMS со стандартным оформлением параметров с оформлением параметров с помощью «paramset» 4 МЭС-2012 Подмосковье 8-12 октября 15 Блоки САПР с веб-доступом 1 Простая Verilog-модель Логическая функция: Модель: x = (~a&b) module nand2 (a, b, x); input a,b; output x; assign x = ~(a&b); endmodule МЭС-2012 Подмосковье 8-12 октября 16 Блоки САПР с веб-доступом 2 Verilog-модель с временными параметрами Логическая функция: x = (~a&b) Модель: файл модели: module nand2 (a, b, x); input a,b; output x; `include "nand2_par.v“ assign x = ~(a&b); endmodule файл параметров модели: localparam real vlow = 0; localparam real vhigh = 1; localparam real vth = 0.5; specify (a => x) = (725, 535); // ps (b => x) = (733, 512); // ps endspecify localparam real tt_x_rise = 633 ; // ps localparam real tt_x_fall = 417 ; // ps МЭС-2012 Подмосковье 8-12 октября 17 Блоки САПР с веб-доступом 3 Verilog-AMS модель Логическая функция: файл модели: `include "disciplines.vams" module nand2 (a, b, x); input a,b; output x; voltage a,b,x; integer _a,_b,_x; real tt; // transition time real td; // delay to start of output `include "nand2_par.vams" analog begin @(cross(V(a)-vth,0) or initial_step) begin if (V(a) > vth) begin _a = 1; if (V(x) > vth) td = td_a_x_rf; // rise a --> fall x x = (~a&b) Модель: else td = td_a_x_rr; // rise a --> rise x end else begin _a = 0; if (V(x) > vth) td = td_a_x_ff; // fall a --> fall x else td = td_a_x_fr; // fall a --> rise x end end @(cross(V(b)-vth,0) or initial_step) begin if (V(b) > vth) begin … end endmodule файл параметров модели: localparam localparam localparam localparam localparam localparam localparam localparam localparam real vlow = 0; real vhigh = 1; real vth = 0.5; real td_a_x_rf = 0.535705853; real td_b_x_fr = 0.733871322; real td_b_x_rf = 0.512686825; real td_a_x_fr = 0.725908179; real tt_x_rise = 0.633372761; real tt_x_fall = 0.417369735; МЭС-2012 Подмосковье 8-12 октября 18 Блоки САПР с веб-доступом 4 Verilog-AMS модель и «paramset» Логическая функция: файл модели: `include "disciplines.vams" module nand2 (a, b, x); input a,b; output x; voltage a,b,x; integer _a,_b,_x; real tt; // transition time real td; // delay to start of output `include "nand2_par.vams" analog begin @(cross(V(a)-vth,0) or initial_step) begin if (V(a) > vth) begin _a = 1; if (V(x) > vth) td = td_a_x_rf; // rise a --> fall x x = (~a&b) Модель: else td = td_a_x_rr; // rise a --> rise x end else begin _a = 0; if (V(x) > vth) td = td_a_x_ff; // fall a --> fall x else td = td_a_x_fr; // fall a --> rise x end end @(cross(V(b)-vth,0) or initial_step) begin if (V(b) > vth) begin … end endmodule файл параметров модели: paramset env nand2; .vlow = 0; .vhigh = 1; .vth = 0.5; .td_a_x_rf = 0.53570585377493; .td_b_x_fr = 0.73387132256361; .td_b_x_rf = 0.51268682565029; .td_a_x_fr = 0.72590817962035; localparam real tt_x_rise = 0.63337276161129; localparam real tt_x_fall = 0.417369735408; endparamset МЭС-2012 Подмосковье 8-12 октября 19 Сайт программы МЭС-2012 Подмосковье 20 8-12 октября Сайт программы Ввод логического выражения: можно выбрать одну из стандартных функций или задать произвольное выражение Отображение результатов spice-моделирования: МЭС-2012 Подмосковье 21 8-12 октября Выводы Разработано математическое и программное обеспечение системы автоматической генерации высокоуровневых моделей цифровых ячеек. Веб-доступ к системе можно получить на сайте http://www.ippm.ru/FastVerMod /. МЭС-2012 Подмосковье 8-12 октября 22 Это всё! Спасибо за внимание! МЭС-2012 Подмосковье 8-12 октября 23