Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800670

.pdf
Скачиваний:
4
Добавлен:
01.05.2022
Размер:
25.75 Mб
Скачать

окно, изображенное на рис. 5, где предоставляется выбрать пациента.

Рис. 5. Выбор пациента

При нажатии кнопки «ввести нового пациента» открывается окно, изображенное на рис. 6. После введения данных о пациенте производится их сохранение и переход к диагностике.

В случае нажатия кнопки «получить пациента из бызы» открывается база, которая содержит данные о пациентах, их клинические и лабораторны признаки, данные УЗИ (рис. 7).

Когда полученные результаты исследования больного занесены в карту, путём нажатия на подпункты «Диагноз с использованием нейронной сети 1» и «Диагноз с использованием нейронной сети 2» ставятся диагнозы.

Решающий диагноз можно получить, воспользовавшись кнопкой «Окончательный диагноз» (рис. 8). Если недостаточно данных для постановки диагноза, появляется окно с рекомендациями, изображенное на рис. 9. Рекомендации формируются на основе разработанной имитационной модели. После постановки диагноза, при нажатии кнопки «печать результатов» можно получить все данные о больном в удобной форме и при необходимости распечатать.

31

Рис. 6. Добавление нового пациента

Рис. 7. База данных с пациентами

32

Рис. 8. Диагностикаболезни

Рис. 9. Окно с рекомендациями

При необходимости, нажав на кнопку: «печать результатов» можно получить результат обследования в удобной форме, как изображено на рис. 10, и при необходимости распечатать.

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

33

Рис. 10. Результаты обработки

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

Воронежский государственный технический университет

34

УДК 621.9

Ю.С. Балашов, К.А. Митрофанов

СОЗДАНИЕ ТЕСТОВОГО ОКРУЖЕНИЯ ДЛЯ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ БЛОКА ЧАСОВ РЕАЛЬНОГО ВРЕМЕНИ ДЛЯ МИКРОКОНТРОЛЛЕРА НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ VERILOG

Статья посвящена вопросам проведения имитационного моделирования при создании RTL-кода в функциональном проектировании интегральных схем для подтверждения правильности созданной модели

Блок счетчика реального времени для микроконтроллера обеспечивает набор свойств цифровых часов. Обычно, он используется для реализации либо часов реального времени, либо счётчика жизненного цикла, отсчитывающего время от момента последнего сброса системы [1].

Основной составляющей блока часов реального времени для микроконтроллера является асинхронный шестнадцати битный счетчик импульсов опорной синхронизации CNT_B, на основе которого происходит счет секунд, минут и часов. Также в состав функциональной схемы (рис. 1) входят следующие регистры: CNT_B, TEMP, perCNT_B, cnt3B, S, M, dM, H, dH.

Основной структурной единицей проекта на языке Verilog является модуль [2]. Пример его объявления для счетчика реального времени приведен на рис. 2 (полный программный код можно найти в статье «Создание RTL-модуля блока часов реального времени для микроконтроллера на языке программирования VERILOG»).

После написания RTL-кода устройства его необходимо проверить в ходе имитационного моделирования. Для верификации модели создается тестовое окружение – модуль верхнего уровня, в котором на испытываемое устройство подаются входные воздействия [3].

35

Рис. 1. Функциональная схема блока счетчика реального времени для микроконтроллера

01 module RTC (OutRTC,data_in,wr,clk_A,clk_B,reset);

…..…….

05 output OutRTC;

06 input clk_A,clk_B,wr,reset,data_in;

…… …….

09wire reset,wr,clk_A,clk_B;

10wire [15:0] OutRTC;

11reg [15:0] TEMP;

12………

…… always@(posedge clk_A or posedge reset)

23begin

24if (reset)

25begin

26TEMP<=15'b0;

27end

28else if (wr)

29begin

30TEMP<=data_in;

….. ………

160 endmodul

Рис. 2. Объявление модуля блока часов реального времени Рассмотрим поэтапно и более подробно модуль верхнего

36

уровня test.

Так же как и в модуле в тестовом окружении происходит присвоение названия блока, присвоение типов сигналов входам и выходам (рис. 3).

01 module test;

02

03 wire [15:0] OutRTC;

04 reg clk_A,clk_B;

05 reg reset,write;

06 reg [15:0] data_in;

.... …….

Рис. 3. Присвоение названия тестового окружения и присвоение типов сигналов входам и выходам

На рис. 4 отображены блоки initial.

Впервом блоке initial происходит присвоение сигналам значения 0 и происходит вывод информации с помощью системной функции $monitor.

Во втором блоке initial происходит формирование сигнала сброса reset на время #1000, что эквивалентно 1000 нс.

Втретьем блоке initial происходит присвоение значения 0 шине данных data_in в начальный момент времени, затем с задержкой #2600, что эквивалентно 2600 нс., осуществляется присвоение значения в двоичной системе счисления 1110 на время

1000 нс.

Вчетвертом блоке initial происходит присвоение значения «1» сигналу записи write с задержкой 2600 нс., и через 1000нс. осуществляется присвоение значения 0.

На рис. 5 отображен процесс формирование тактового сигнала системной синхронизации с частотой 1 МГц clk_A и тактового сигнала опорной синхронизации с частотой 32768 Гц clk_B.

Для подключения RTL – модуля в среду тестового окружения применяется конструкция, представленная на рис. 6.

37

…… …. 08 initial

09begin

10clk_A=0;

11clk_B=0;

12reset=0;

13write=0;

14$monitor($time,,write,,reset,,data_in);

15end

17initial

18begin

19reset=1'b1;

20#1000 reset=1'b0;

21end

23initial

24begin

25data_in=15'b0;

26#2600 data_in=15'b1110;

27#1000 data_in=15'b0;

28end

30initial

31begin

32#2600 write=1'b1;

34#1000 write=1'b0;

35end

…..…..

Рис. 4. Блоки initial в тестовом окружении

….. ……

37always #500 clk_A=~clk_A;

38always #15259 clk_B=~clk_B; ….. ……

Рис. 5. Формирование тактовых сигналов clk_A и clk_B

38

……

RTC

40C1(.OutRTC(OutRTC),.clk_A(clk_A),.clk_B(clk_B),.wr(write),.res

41et(reset),.data_in

…..(data_in)); …..

Рис. 6. Подключение RTL – модуля по имени

Проверка реакции на входные воздействия достигается в ходе анализа работы моделируемого блока.

Симулятор при моделировании выполняет следующие этапы: -компиляция (симулятор считывает Verilog-описание, обрабатывает директивы и строит иерархию проекта. Этот шаг разделяется на два этапа: собственно компиляцию и проработку

(elaboration));

-инициализация (инициализируются параметры модуля, соответствующие переменные (reg, integer) устанавливаются в неизвестное состояние – х);

-симуляция (симулятор обрабатывает все события, расписанные на текущий момент времени моделирования, затем увеличивает время и продолжает вычисления. Моделирование останавливается, когда в очереди больше нет событий).

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

Рис. 7. Иллюстрация записи данных в регистр TEMP

39

Рис. 8. Иллюстрация работы регистра cnt3B

Рис. 9. Иллюстрация начала работы счетчика секунд S

Рис. 10. Иллюстрация начала работы счетчика минут M

40