Простая Verilog-модель

advertisement
Формирование
высокоуровневых моделей
цифровых ячеек
с использованием
веб-доступа
Лялинский Алексей Анатольевич
ИППМ РАН
МЭС-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
Download