Научная статья на тему 'АНАЛИЗ СТИЛЕЙ ОПИСАНИЯ МОДУЛЕЙ VERILOG ДЛЯ ДИАГНОСТИКИ ТЯГОВЫХ ЭЛЕКТРОДВИГАТЕЛЕЙ ЭЛЕКТРОВОЗОВ'

АНАЛИЗ СТИЛЕЙ ОПИСАНИЯ МОДУЛЕЙ VERILOG ДЛЯ ДИАГНОСТИКИ ТЯГОВЫХ ЭЛЕКТРОДВИГАТЕЛЕЙ ЭЛЕКТРОВОЗОВ Текст научной статьи по специальности «Техника и технологии»

CC BY
4
1
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
Verilog / стили описания / диагностика / двигатели электровозов / RTL / Verilog / description styles / diagnostics / locomotive engines / RTL

Аннотация научной статьи по технике и технологии, автор научной работы — Кучеренко Александр Алексеевич, Сонина Светлана Дмитриевна, Новик Юлия Сергеевна

В данной работе анализируются стили описания модулей Verilog и их применение в проектировании систем диагностики двигателей электровозов. Рассматриваются функциональный, структурный и смешанный стили, а также их влияние на производительность и надежность систем. Приводятся примеры реализации 4-х разрядного сумматора, что иллюстрирует преимущества каждого подхода. Работа подчеркивает важность использования стиля описания на регистровом уровне передачи (RTL) для обеспечения эффективного моделирования и верификации проектируемых систем.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANALYSIS OF VERILOG MODULE DESCRIPTION STYLES FOR TRACTION MOTOR DIAGNOSTICS IN ELECTRIC LOCOMOTIVES

This paper analyzes the description styles of Verilog modules and their application in the design of diagnostic systems for locomotive engines. It examines functional, structural, and mixed styles and their impact on system performance and reliability. Examples of a 4-bit adder implementation illustrate the advantages of each approach. The study emphasizes the importance of using Register Transfer Level (RTL) description style to ensure effective modeling and verification of the designed systems.

Текст научной работы на тему «АНАЛИЗ СТИЛЕЙ ОПИСАНИЯ МОДУЛЕЙ VERILOG ДЛЯ ДИАГНОСТИКИ ТЯГОВЫХ ЭЛЕКТРОДВИГАТЕЛЕЙ ЭЛЕКТРОВОЗОВ»

УДК 004.423

Кучеренко А.А., Сонина С.Д., Новик Ю.С.

АНАЛИЗ СТИЛЕЙ ОПИСАНИЯ МОДУЛЕЙ VERILOG ДЛЯ ДИАГНОСТИКИ ТЯГОВЫХ ЭЛЕКТРОДВИГАТЕЛЕЙ ЭЛЕКТРОВОЗОВ

Kucherenko A.A., Sonina S.D., Novik Y.S.

ANALYSIS OF VERILOG MODULE DESCRIPTION STYLES FOR TRACTION MOTOR DIAGNOSTICS IN ELECTRIC LOCOMOTIVES

Введение

Рост интенсивности и скорости железнодорожного движения требует повышения стабильности и

эффективности работы тягового электропривода, который является одним из ключевых элементов электровоза. Однако традиционные методы диагностики тяговых

электродвигателей (ТЭД) отличаются значительными временными и трудовыми затратами, что затрудняет оперативное выявление скрытых неисправностей. Современные

технологии мониторинга, основанные на использовании датчиков для контроля различных параметров, обеспечивают более точное и своевременное определение технического состояния ТЭД и прогнозирование его отказов. В связи с этим разработка и внедрение автоматизированных систем

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

Разработка таких систем основывается на применении

современной элементной базы, в частности программируемых логических интегральных схем (ПЛИС). Данные устройства позволяют реализовывать

высокопроизводительные, компактные и параллельно функционирующие

алгоритмы диагностики ТЭД, обладающие адаптивностью к специфическим требованиям

железнодорожного транспорта.

Ключевым инструментом

проектирования подобных систем является язык описания аппаратуры Verilog, предоставляющий широкие возможности для создания эффективных и масштабируемых модулей на основе ПЛИС. Различные стили описания на Verilog оказывают значительное влияние на процесс разработки, обеспечивая гибкость и оптимизацию как на архитектурном уровне, так и на этапе реализации. При этом выбор конкретного стиля проектирования напрямую влияет на

производительность, надежность и адаптивность создаваемой системы.

Анализ последних исследований и публикаций

Исследования, посвящённые

языкам описания аппаратуры, таким как Verilog и VHDL, подтверждают значимость выбора стиля

программирования при моделировании и синтезе аппаратных систем, поскольку он напрямую влияет на их эффективность и адаптивность [3].

Интеграция Verilog с

высокоуровневыми языками

программирования, например, C++, предоставляет разработчикам

возможность совмещать преимущества обеих технологий. Такой подход способствует упрощению процесса проектирования и тестирования аппаратных систем, позволяя создавать более сложные модели при сокращении временных затрат. Современные методы верификации языков описания аппаратуры (HDL) играют важнейшую роль в повышении надёжности разрабатываемых систем. Применение ассерций и формальных методов верификации способствует раннему обнаружению ошибок, что значительно снижает затраты на их исправление на последующих этапах разработки. Эти технологии не только ускоряют процесс проектирования, но и обеспечивают высокое качество конечного устройства.

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

производительности проектируемых устройств. Эффективное применение методов оптимизации позволяет существенно улучшить характеристики конечного продукта и открывает новые направления для дальнейших

исследований в данной области.

Цель работы

Выбор стиля описания на языках Verilog и VHDL играет ключевую роль в процессе проектирования аппаратных систем, определяя их эффективность, масштабируемость и адаптивность [1].

Непрерывное развитие данных языков, а также их интеграция с высокоуровневыми языками

программирования расширяют

возможности инженеров в области разработки цифровых устройств. Однако, это также актуализирует вопросы, связанные с оптимизацией кода и верификацией, требующие

дальнейших исследований.

Настоящая работа посвящена анализу различных стилей описания модулей на языке Verilog и их практическому применению в автоматизированных системах

диагностики тяговых электродвигателей (ТЭД) электровозов. В ходе исследования рассматриваются

особенности различных подходов к описанию аппаратуры, приводятся программные примеры, а также разрабатывается структура 4-разрядного сумматора в RTL-представлении.

Основная часть

Язык описания аппаратуры Уеп1о§ предоставляет разработчикам цифровых систем широкие возможности для описания аппаратуры на различных уровнях абстракции. Его популярность в индустрии обусловлена высокой гибкостью, поддержкой современных средств синтеза и верификации, а также способностью эффективно

адаптироваться к задачам различной сложности.

Наиболее распространёнными стилями описания в Verilog являются:

• функциональное (поведенческое);

• структурное;

• смешанное.

Каждый из этих подходов имеет свои преимущества и особенности применения, которые будут рассмотрены ниже.

1. Функциональное

(поведенческое) описание

Первый пример (листинг 1) описывает поведение модуля 4-х разрядного сумматора с использованием конструкций высокого уровня языка Verilog.

Заметим, что порты sum и zero были объявлены регистрами. Это сделано, чтобы функциональный оператор always мог присваивать им значение. В этом описании есть два функциональных элемента: один элемент initial и один элемент always.

Конструкция always @ (inl or in2) заставляет моделирование ждать, пока один из входов in1 или in2 не изменит свое последнее значение. Без этой конструкции цикл always всегда бы выполнялся с одними и теми же значениями входов, и модельное время никогда не продвинется.

Заметим, блок always можно также запрограммировать как блок initial, используя управляющую структуру forever, как показано в листинге 2.

Листинг 1. Функциональное описание 4-х разрядного сумматора.

module adder4 (in1, in2, sum, zero);

input [3:0] in1;

input [3:0] in2;

output [4:0] sum;

output zero;

reg [4:0] sum;

regzero;

initial

begin

sum = 0;

zero = 1;

end

always @ (in1 or in2) begin

sum = in1 + in2; if (sum = = 0) zero = 1;

else

zero = 0;

end

endmodule

На рис. 1 представлены результаты синтеза по коду листинга 1.

Следующий пример является модификацией примера листинга 1, он моделирует adder4, используя непрерывное присваивание.

Здесь zero является проводом, а не регистром. Когда изменяется sum после регистра, zero перевычисляется, используя третичную операцию "?:" , которая имеет тот же смысл, что и в языке С, и является выражением, эквивалентным оператору если-то-иначе.

Рис. 1. Структура 4-х разрядного сумматора в RTL-представлении

Объявление zero проводом и его записать в один оператор следующим непрерывное присваивание можно образом:

assignzero = (sum = = 0) ? 1 : 0; Фрагмент модернизации кода листинга 1 через initial-forever, вместо always:

initial begin forever begin

always @ (in1 or in2) begin

sum = in1 + in2; if (sum = = 0) zero = 1;

else

zero = 0; end end end

В результате получим листинг 2. Листинг 2. Использование непрерывного присваивания.

moduleadder4 (in1, in2, sum, zero);

input [3:0] in1;

input [3:0] in2;

output [4:0] sum;

reg [4:0] sum;

output zero;

assign zero = (sum = = 0) ? 1 : 0; initial sum = 0; always @ (in1 or in2) sum = in1 + in2;

endmodule

Результаты синтеза по коду листинга 2 полностью идентичны рис 1. 2. Структурное описание В листинге 3 показана реализация модуля 4-х разрядного сумматора как структуры, состоящей из субмодулей одноразрядного полного сумматора и вентилей.

Листинг З.Структурное описание 4-х разрядного сумматора

module adder4 (in1, in2, sum, zero);

input [3:0] in1;

input [3:0] in2;

output [4:0] sum;

output zero;

fulladdu1 (in1[0], in2[0], 0, sum[0],

c0);

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

fulladdu2 (in1[1], in2[1], c0, sum[1],

c1);

fulladdu3 (in1[2], in2[2], c1, sum[2],

c2);

fulladd u4 (in1[3], in2[3], c2, sum[3], sum[4]);

nor u5 (zero, sum[0], sum[1], sum[2], sum[3], sum[4]);

endmodule

В этом примере 4-х разрядный сумматор состоит из четырех элементов модулей одноразрядного сумматора (fulladd) и одного элемента модуля вентиля НЕ-ИЛИ. В этой реализации описывается аппаратная структура и есть однозначное соответствие со схемотехникой. Она использует два типа модулей более низкого уровня: fulladd и nor. Хотя модуль fulladd определен пользователем, а nor - это примитив языка Verilog, оба используются одинаковым способом.

Следует отметить, что при структурном описании автоматически объявляются три провода: с0, с1 и с2. Эти сигнальные линии обеспечивают передачу разрядов переноса между последовательными ступенями модуля fulladd. В языке Verilog допускается неявное объявление одиночных разрядов в виде проводов, однако для межсоединений, представляющих собой многобитные шины, требуется явное указание их разрядности, например:

wire [3:0] databus;

Кроме того, при использовании модулей критически важен порядок подключения входных и выходных портов. В частности, модуль верхнего уровня adder4 должен корректно связываться с соответствующими портами модуля нижнего уровня fulladd. В листинге 4 представлена базовая реализация модуля fulladd.

Листинг 4. Функциональное описание 1 -разрядного полного сумматора

modulefulladd (in1, in2, сarryin, sum, carryout);

input in1, in2, carryin; output sum, carryout; assign {carryout, sum} = in1 + in2 + carryin;

endmodule

В листинге 5 показана реализация модуля 4-х разрядного сумматора как структуры, состоящей из субмодуля одноразрядных полных сумматоров adder4_3 и модуля экземпляра этого сумматора fulladd.

Листинг 5.Структурное описание 4-х разрядного сумматора

module adder4_3 (in1, in2, sum,

zero);

input [3:0] in1; input [3:0] in2; output [4:0] sum; output zero;

fulladd u1 (in1[0], in2[0], 0, sum[0],

c0);

fulladd u2 (in1[1], in2[1], c0, sum[1],

c1);

fulladd u3 (in1[2], in2[2], c1, sum[2],

c2);

fulladd u4 (in1[3], in2[3], c2, sum[3], sum[4]);

nor u5 (zero, sum[0], sum[1], sum [2], sum[3], sum[4]);

endmodule

module fulladd

(in1, in2, cin, sum, cout); inputcin, in1, in2; output sum, cout; assign sum = in1 A in2 A cin; assigncout = (in1 & in2) | (in1 a in2) &cin;

endmodule

На рис 2 представлены результаты синтеза по коду листинга 5.

3. Смешанное представление Последний пример в листинге 6 показывает adder4 как комбинацию структурных и функциональных элементов.

Этот модуль вычисляет выход sum посредством структурных элементов -модулей fulladd, а выход zero вычисляется с использованием функционального элемента (always).

Листинг 6. Смешанное

представление.

moduleadder4 (in1, in2, sum, zero);

input [3:0] in1;

input [3:0] in2;

output [4:0] sum;

output zero;

reg zero;

fulladd u1 (in1[0], in2[0], 0, sum[0],

c0);

fulladd u2 (in1[1], in2[1], c0, sum[1],

c1);

fulladd u3 (in1[2], in2[2], c1, sum[2],

c2);

fulladd u4 (in1[3], in2[3], c2, sum[3], sum[4]);

always @ sum if (sum = = 0) zero = 1;

else

zero = 0;

endmodule

Рис. 2. Структура 4-х разрядного сумматора в RTL-представлении

для листинга 5

Выбор стиля описания кода определяется как спецификой поставленной задачи, так и предпочтениями разработчика.

Дополнительно на этот процесс могут влиять ограничения и параметры конкретной версии системы

автоматизированного проектирования (САПР).

Регистрово-транзисторный уровень (RTL) представляет собой метод проектирования цифровых интегральных схем, в котором поведение системы описывается последовательностью

логических операций, выполняемых над цифровыми сигналами [1]. Этот подход обеспечивает эффективное

моделирование функциональности

устройств и широко применяется на

этапах проектирования, верификации и аппаратной реализации. Согласно исследованиям, описания на RTL-уровне могут быть преобразованы в низкоуровневые аппаратные структуры, что делает их особенно удобными для использования в программируемых логических интегральных схемах (ПЛИС) и других цифровых системах. Кроме того, отмечается ключевая роль RTL-описаний в процессе разработки, так как они служат фундаментом для создания надежных и

высокоэффективных аппаратных

решений.

Выводы

Для разработки систем

диагностики двигателя электровоза наиболее целесообразно использовать стиль описания на регистровом уровне передачи (RTL). Он позволяет четко разделять управление и обработку данных, обеспечивая точное

моделирование работы системы.

Применение комбинационных и синхронных схем в Verilog способствует оперативному реагированию на

Список литературы

1. Соловьёв, В.В. Основы языка проектирования цифровой аппаратуры Verilog: учеб. пособие. - 2-е изд. -Москва: Горячая линия - Телеком, 2024. - 284 с.

2. Цифровой синтез: практический курс / под общ. ред. А.Ю. Романова, Ю.В. Панчула. - Москва: ДМК Пресс, 2020. - 556 с.

3. Поляков, А.К. Языки VHDL и Verilog в проектировании цифровой аппаратуры: учебное пособие. - Москва: СОЛОН - Пресс, 2003. - 313 с.

Аннотации:

В данной работе анализируются стили описания модулей Verilog и их применение в проектировании систем диагностики двигателей электровозов. Рассматриваются

функциональный, структурный и смешанный стили, а также их влияние на производительность и надежность систем. Приводятся примеры реализации 4-х разрядного сумматора, что иллюстрирует преимущества каждого подхода. Работа подчеркивает важность использования стиля описания на регистровом уровне передачи (RTL) для обеспечения эффективного моделирования и верификации проектируемых систем.

Ключевые слова: Verilog, стили описания,

изменения состояний, что критически важно для надежности диагностики [2].

Дополнительно, высокая

читаемость RTL-кода и наличие мощных инструментов симуляции упрощают верификацию системы на ранних этапах проектирования. Таким образом, RTL-описание сочетает надежность, удобство тестирования и эффективность моделирования.

References

1. Solovyov, V.V. Fundamentals of the Verilog Hardware Design Language: Textbook. - 2nd ed. - Moscow: Goryachaya Liniya - Telekom, 2024. -284 p.

2. Digital Synthesis: Practical Course / Edited by A.Yu. Romanov, Yu.V. Panchula. - Moscow: DMK Press, 2020. - 556 p.

3. Polyakov, A.K. VHDL and Verilog Languages in Digital Hardware Design: Textbook. - Moscow: SOLON Press, 2003. - 313 p.

диагностика, двигатели электровозов, RTL.

This paper analyzes the description styles of Verilog modules and their application in the design of diagnostic systems for locomotive engines. It examines functional, structural, and mixed styles and their impact on system performance and reliability. Examples of a 4-bit adder implementation illustrate the advantages of each approach. The study emphasizes the importance of using Register Transfer Level (RTL) description style to ensure effective modeling and verification of the designed systems.

Keywords: Verilog, description styles, diagnostics, locomotive engines, RTL.

Сведения об авторах

Кучеренко Александр Алексеевич

Федеральное государственное

бюджетное образовательное учреждение высшего образования «Донецкий институт железнодорожного

транспорта» (ДОНИЖТ), кафедра «Автоматика, телемеханика, связь и вычислительная техника», кандидат технических наук, доцент, e-mail: kaa- [email protected]

Сонина Светлана Дмитриевна

Федеральное государственное

бюджетное образовательное учреждение высшего образования «Донецкий институт железнодорожного

транспорта» (ДОНИЖТ), кафедра «Автоматика, телемеханика, связь и вычислительная техника», старший преподаватель, e-mail: soninadonigt@yandex .com

Новик Юлия Сергеевна

Федеральное государственное

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

бюджетное образовательное учреждение высшего образования «Донецкий институт железнодорожного

транспорта» (ДОНИЖТ), магистр по направлению «Информатика и вычислительная техника», e-mail: [email protected]

Information about the authors

Kucherenko Alexander Alekseevich

Federal State-Funded Educational Institution of Higher Education "Donetsk Railway Transport Institute" (DRTI), Department 'Automation, Telemechanics, Communications and Computer Engineering',

Candidate of Technical Sciences, Associate Professor, e-mail: kaa- [email protected]

Sonina Svetlana Dmitrievna

Federal State-Funded Educational Institution of Higher Education "Donetsk Railway Transport Institute" (DRTI), Department 'Automation, Telemechanics, Communications and Computer Engineering', Senior Lecturer

e-mail: [email protected]

Novik Yuliya Sergeevna

Federal State-Funded Educational Institution of Higher Education "Donetsk Railway Transport Institute" (DRTI), Master's student in area of studies «Computer Science and Computer Engineering», e-mail: [email protected]

i Надоели баннеры? Вы всегда можете отключить рекламу.