«…лишь недалекие люди боятся конкуренции, а люди подлинного творчества ценят общение с каждым талантом…» А. Бек, Талант.

Проектирование цифровых систем на языках описания аппаратуры

Материал из Wiki
Версия от 01:32, 30 августа 2020; Yura (обсуждение | вклад)

Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск
Лекции ПЦСЯОА

Лекции

Практические

Доп. материалы

Цели и задачи курса

Изучение методов алгоритмического, функционального и структурного описа-ния цифровых систем на формальных языках проектирования, а также методов и компьютерных средств моделирования, верификации и схемной реализации проектов цифровых систем и устройств.

Маршрут проектирования ЦС

[svg]

Логическое проектирование

Этап описания логических схем (не учитывается технология, физические,электрические и другие характеристики). Описывается комбинационная логика, триггеры и связи между элементами схемы. Для описания используются такие языки, как VHDL, Verilog, SystemC. Результатом является логическая схема на уровне регистровых передач (RTL).

Верификация

Этап проверки соответствия описания логических схем спецификации. Для целей верификации часто используются такие языки как SystemVerilog, SystemC, VHDL, specman E. Для каждого из перечисленных языков существуют стандартные фреймворки (библиотеки).

  • SystemVerilog: VMM, OVM, UVM.
  • VHDL: OSVVM, UVVM.
  • SystemC: UVM.
  • Specman E: UVM.

Физическое проектирование

Этап построения топологии цифровой схемы (размещение логических элементов и проводников на поверхности кристалла) для конкретного технологического процесса с учётом всех производственных норм и характеристик Результатом является файл топологии интегральной схемы GDS II, который отправляется на фабрику.

Пример использования языков описания аппаратуры

Условное графическое представление одноразрядного сумматора
Одноразрядный сумматор

Описание однобитного сумматора на языке VHDL
entity add1 is
port (b1,b2 : in BIT;
      c1,s1 : out BIT);
end add1;
 
architecture struct_1 of add1 is
begin
    s1<= ((b1 and (not b2)) or ((not b1) and b2));
    c1<= b1 and b2;
end struct_1;
Описание однобитного сумматора на языке Verilog
module add1(input b1,b2;
            output c1,s1);
    assign    s1 = ((b1 & ~b2) | (~b1 & b2);
    assign    c1 = b1 & b2;
endmodule
































Обратная связь

  • (a) yurafreedom18@gmail.com

Маршрут проектирования ЦС

[svg]

[svg]