230 likes | 370 Views
Формирование высокоуровневых моделей цифровых ячеек с использованием веб-доступа. Лялинский Алексей А натольевич ИППМ РАН. САПР и Интернет. САПР и Интернет. A. Построение систем с распределением вычислительных и программных ресурсов по сети компьютеров. Сеть. Пользователь.
E N D
Формирование высокоуровневых моделей цифровых ячеек с использованием веб-доступа Лялинский Алексей Анатольевич ИППМ РАН
САПР и Интернет • A. Построение систем с распределением вычислительных и программных ресурсов по сети компьютеров Сеть Пользователь Локальная часть
САПР и Интернет • B. Добавление нового доступа к системам проектирования через веб-страницы или веб-порталы Интернет САПР локальный сервер Веб-сайт Пользователь 1 Пользователь 2 Локальная часть
САПР на основе распределенных систем Программное обеспечение САПР (локальный сервер 2) Программное обеспечение САПР (локальный сервер 1) Используемое ПО (10%-20%) Используемое ПО (10%-20%) Используемое ПО (10%-20%) Используемое ПО (10%-20%) Программное обеспечение САПР (локальный сервер 3) Программное обеспечение САПР (локальный сервер n)
САПР на основе распределенных систем … $url = "http://www.cad.com/”; $lines = file($url); … … x = func (a1, a2, … , an); … Частичное решение Технологии «.NET Remoting» (часть пакета пакета «.NET Framework 1.0», и WCF (Windows Communication Foundation)(часть пакета «.NET Framework 3.0») позволяют приложению создать объект в другом процессе, который может быть расположен на другом компьютере, соединённом сетью с сервером основного процесса.
САПР на основе распределенных систем Проблемы создания таких систем
Блоки САПР с веб-доступом Отличительная черта: использование канала связи для доступа клиента к удаленному приложению.
Блоки САПР с веб-доступом Особенности веб-доступа:
Блоки САПР с веб-доступом Разработка системы генерации HDL-моделей стандартных ячеек цифровых библиотек по заданной логической функции: Иерархия моделей сложные • блок временных параметров простые • порты входа-выхода • логическое выражение, определяющее работу функции
Блоки САПР с веб-доступом Структура графической оболочки:
Блоки САПР с веб-доступом Структура системы генерации моделей: Блоки генерации Verilog-моделей Логическое выражение Spice-библиотеки PHP Простая Verilog-модель PHP Генерация тестов C Spice-моделирование Генерация сложной модели PHP Визуали-зация кривых Сложная Verilog-модель Временные параметры Verilog Verilog-AMS Примечание: Блоки, необходимые для генерации сложной модели, выделены темным фоном
Блоки САПР с веб-доступом Структура высокоуровневых моделей Три основных блока информации
Блоки САПР с веб-доступом Типы высокоуровневых моделей Четыре типа моделей 2 1 3 4
Блоки САПР с веб-доступом Простая Verilog-модель 1 Логическая функция: x = (~a&b) Модель: module nand2 (a, b, x);input a,b;output x;assign x = ~(a&b);endmodule
Блоки САПР с веб-доступом Verilog-модель с временными параметрами 2 Логическая функция: 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); // psendspecifylocalparam real tt_x_rise = 633 ; // pslocalparam real tt_x_fall = 417 ; // ps
Блоки САПР с веб-доступом Verilog-AMS модель 3 Логическая функция: x = (~a&b) Модель: файл модели: файл параметров модели: `include "disciplines.vams"module nand2 (a, b, x);input a,b;output x;voltage a,b,x;integer _a,_b,_x;real tt; // transition timereal td; // delay to start of output`include "nand2_par.vams"analog begin@(cross(V(a)-vth,0) or initial_step) beginif (V(a) > vth) begin_a = 1;if (V(x) > vth)td = td_a_x_rf; // rise a --> fall xelsetd = td_a_x_rr; // rise a --> rise xend else begin_a = 0;if (V(x) > vth)td = td_a_x_ff; // fall a --> fall xelsetd = td_a_x_fr; // fall a --> rise xendend@(cross(V(b)-vth,0) or initial_step) beginif (V(b) > vth) begin…endendmodule localparam real vlow = 0;localparam real vhigh = 1;localparam real vth = 0.5;localparam real td_a_x_rf = 0.535705853;localparam real td_b_x_fr = 0.733871322;localparam real td_b_x_rf = 0.512686825;localparam real td_a_x_fr = 0.725908179;localparam real tt_x_rise = 0.633372761;localparam real tt_x_fall = 0.417369735;
Блоки САПР с веб-доступом Verilog-AMS модель и «paramset» 4 Логическая функция: x = (~a&b) Модель: файл модели: файл параметров модели: `include "disciplines.vams"module nand2 (a, b, x);input a,b;output x;voltage a,b,x;integer _a,_b,_x;real tt; // transition timereal td; // delay to start of output`include "nand2_par.vams"analog begin@(cross(V(a)-vth,0) or initial_step) beginif (V(a) > vth) begin_a = 1;if (V(x) > vth)td = td_a_x_rf; // rise a --> fall xelsetd = td_a_x_rr; // rise a --> rise xend else begin_a = 0;if (V(x) > vth)td = td_a_x_ff; // fall a --> fall xelsetd = td_a_x_fr; // fall a --> rise xendend@(cross(V(b)-vth,0) or initial_step) beginif (V(b) > vth) begin…endendmodule 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
Сайт программы Ввод логического выражения:можно выбрать одну из стандартных функций или задать произвольное выражение Отображение результатов spice-моделирования:
Это всё! Спасибо за внимание!