Simtera. Новости продукта и новый функционал
Добрый день!
Сегодня мы начинаем цикл рассказов о HDL- симуляторе Simtera, входящим в систему Delta Design. За прошедший год Simtera шагнула вперед и нам есть о чем рассказать.
Что такое Simtera?
Что же такое HDL - симулятор? HDL, или Hardware Description Language - язык описания аппаратуры. Широко распространены два языка описания - Verilog и VHDL.Они создавались в 80-ых годах прошлого столетия для описания логических схем. Нужно было, чтобы схемы строились иерархически и складывались в блоки, модули и системы. Такая иерархия легко поддается моделированию на любом из уровней. HDL-языки позволяют не только описывать работу логических схем, но и на них создается программное обеспечение для ПЛИС, благодаря синтезируемому подмножеству языков. Simtera является удобным инструментом для проверки кода на наличие ошибок перед "прошивкой" интегральных схем, позволяет моделировать работу таких устройств.
Simtera вчера и сегодня?
Вот уже больше года прошло с того момента как запустили первую версию Simtera. К выходу предыдущей версии мы демонстрировали проект симуляции работы операционной системы FX-RTOS. Процессор был написан на VHDL и после демонстрации работы симулятора мы сконфигурировали ПЛИС и убедились в том, что работа кода в симуляторе и в реальном устройстве совпадает. На тот момент единственным языком, который «понимала» Simtera был VHDL. В новом же релизе добавлена работа с Verilog, и поддержка мультиязычных VHDL/Verilog проектов. Это не просто расширение возможностей. Мы добились того, что над одним проектом могут совместно работать как Verilog, так и VHDL разработчики.
Мы и наши конкуренты
Основными аналогами Simtera на рынке являются - ModelSim (Mentor Graphics, США) и Active-HDL (Aldec, США). Сводная таблица сравнения первой версии Simtera с ModelSim-Altera 10.1 и Aldec Active-HDL 8.2 Expert Edition приведена тут. Основными причинами использования именного нашего продукта является:
- Simtera является "золотой серединой" между ModelSim и Active-HDL. Simtera поддерживает VHDL и Verilog спецификации и осуществляет моделирование быстрее чем ModelSim (ModelSim - работает точно, но медленно). В то же время результаты моделирования точнее, чем у Active-HDL, который позволяет быстро получить результаты моделирования, которые, тем не менее, обладают большими погрешностями,
- Удобство работы в графическом интерфейсе, т.к. Simtera не только симулятор, но и среда разработки. В систему входит текстовой редактор с подсветкой синтаксиса, удобный интерактивный осциллограф. Много внимания уделяется моментам, позволяющим упростить работу HDL - разработчику, и тому, чтобы работать с Simter'ой было удобно и приятно,
- В стандартом пакете поставки продукта возможно использование совместно и Verilog, и VHDL. В то время как ModelSim в стандартном пакете предоставляет компиляцию проектов, выполненных лишь на одном из языков.
Примеры работы в программном пакете Simtera
Для начала простой пример Verilog и VHDL
Для демонстрации работы в текстовом редакторе и осциллографе Simtera мы приведем несложные проекты, написанные на Verilog и VHDL. В листинге приведен пример, в котором по положительному фронту тактового сигнала (clk) идет приращение счетчика (cnt) :
Verilog | VHDL |
module top(); parameter fr = 10000000; // t = 10 ns; F = 100 MHz reg clk = 1; reg [7:0] cnt = 0; always begin #(fr) clk = 1; #(fr) clk = 0; end always @(posedge clk) begin cnt <= cnt + 1; end endmodule |
library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity top is end entity; architecture top of top is signal clk : std_logic := '1'; signal cnt : unsigned(7 downto 0) := to_unsigned(0,8); begin process begin wait for 10 ns; clk <= '0'; wait for 10 ns; clk <= '1'; end process; process (clk) begin if (rising_edge(clk)) then cnt <= cnt + to_unsigned(1,8); end if; end process; end architecture; |
Ниже представлена работа в текстовом редакторе и в осциллографе Simtera. В баре отображения окон - 4 вкладки. 2 вкладки - тесты программ на Verilog и VHDL (приведены выше), 2 вкладки - осциллограммы к проектам.
Как видно, в списке отображения данных открыты 4 окна. Слева направо: HDLProject33/t00042.vhd, OSC [осциллограф для VHDL проекта], HDLProject32/t00042.v, OSC[осциллограф для Verilog проекта]. В файлах HDLProject33/t00042.vhd и HDLProject32/t00042.v - VHDL и Verilog код, представленный в листинге (см. Спойлер №1). В осциллографах же можно наблюдать что по переднему фронту сигнала clk идет инкрементация счетчика cnt.
На gif изображении также демонстрируется текстовой редактор (выделение переменных, выделение текста), демонстрируется работа в осциллографе (побитовая развертка шины данных, перевод данных из одной системы отсчета в другую).
В следующей статье мы рассмотрим как в Simtera создать проект, как система выявляет синтаксические и семантические ошибки. Также одну из статей из серии обязательно посвятим мультиязычным и многомодульным проектам.
Следите за новостями проекта.
С уважением, Никита Малышев.
Другие записи
-
Читать далее03808.07.2025
-
Читать далее014726.06.2025