摘 要:在此將VHDL語言設計的計數器應用于脈搏測量,精確的計量出脈搏跳動,并通過數碼管直觀地表示出來。顯示出VHDL語言設計數字系統與醫學的緊密聯系及其在醫療實踐中的巨大應用前景。實踐證明,將EDA技術與醫學相結合,不僅能促進EDA技術的深入發展,而且能夠極大地推動醫學的進步。
關鍵詞:VHDL; Max+Plus Ⅱ; 計數器; EDA技術
中圖分類號:TP311文獻標識碼:B
文章編號:1004-373X(2010)08-0070-03
Medical Application of EDA Technology Taking VHDL Language as Core
TAN Xiao-ling, DUAN Xin-wen
(Qinghai Normal University, Xining 810008, China)
Abstract: As a new hardware description language, VHDL is mainly used for the description, simulation and automatic design of digital circuits and systems. It is the core technology of current clectronic design automation (EDA) and can be more widely used in the medical speciality and other relative fields along with the development of information technology. In this study, the counter designed with VHDL was applied to human pulse measurement. Compared to the artificial method, the results measured by such counter is more accurate and can be displayed intuitively by the digital tubes. It shows the close contact between the digital system designed with VHDL and medicine, as well as its great prospects on the medical practice. It had proved that the combination of EDA and medicine not only promotes the further application of EDA technology, but also boosts the development of medicine greatly.
Keywords:VHDL; Max+Plus Ⅱ; counter; EDA technology
0 引 言
VHDL超高速集成電路硬件描述語言是隨著集成電路系統化和高度集成化逐步發展起來的,是一種用于數字系統設計、測試,面向多領域、多層次的IEEE標準硬件描述語言。它從20世紀70年代作為電路設計工具誕生于美國國防部至今,已經成為十分流行的硬件描述工具,并且為大多數EDA工具所支持\\。隨著電子技術的不斷進步,數字系統的設計正朝著高速度、大容量、小體積的方向發展。 傳統的自底而上的模式已不能滿足芯片和系統的設計要求。為了提高設計效率,能夠簡化設計流程,大幅降低設計難度的VHDL設計方法受到廣泛關注。VHDL與其他傳統集成電路描述語言相比,具有明顯優勢\\:
(1) 功能強大,描述力強。可用于門級、電路級甚至系統級的描述、仿真和設計。
(2) 可移植性好。對于設計和仿真工具及不同的平臺均可采用相同的描述。
(3) 研制周期短, 成本低。
(4) 可以延長設計的生命周期。
(5) 具有電路仿真與驗證功能,用戶甚至不必編寫相量測試即可進行源代碼級調試。設計者能夠跳過電路實驗,直接對各種方案進行比較和選擇,使設計效率得以提高。
(6) 對設計的描述具有相對獨立性。
(7) 語言標準、規范,易于共享和復用。
目前,VHDL滲透了電子技術及其相關的各個工業領域,在工業設計中發揮著日益重要的作用。在世界范圍內,關于VHDL在多個領域尤其在芯片,系統設計方面的應用研究已經取得眾多矚目成果。
而將VHDL與醫學相結合,勢必成為電子自動化設計(EDA)一個全新的研究方向,本文主要研究將EDA通過VHDL應用于醫學,以對脈搏的測量為例,以實現數字系統對人體多種生理活動及生理反應的直觀精確測量。
1 實驗設計
1.1 EDA技術在醫學教學中脈搏測量中的應用探討
在臨床診斷,護理學等中介紹脈搏的測量時認為脈搏很容易在手腕掌面外側跳動的橈動脈上摸到,也可測量頸部的頸動脈或腹股溝的股動脈。其測量方法是病員手臂放于舒適位置,用食指,中指,無名指的指腹端按壓在橈動脈表面,一般病員默數半分鐘,將所測的脈率乘以2便是一分鐘的脈數,異常病人測一分鐘。成年人的脈搏在安靜狀態下每分鐘是60~80次。如少于60次是心動過緩。但訓練有素的運動員,脈搏有時也在60次以下,這正是心臟健康有力的表現。如超過100次是心動過速。體力活動或情緒激動時,脈搏可暫時增快,發燒時脈搏也增快。一般是體溫每升高1 ℃,脈搏就增加10~20次。此法只能粗略計算脈搏跳動,如將VHDL語言應用其中,便可以通過EDA實驗箱中的七段數碼管直觀準確地看到一分鐘的計數結果,并與之前通過醫學教材講授方法測出結果相比對,從而判定測量的正確與否。
1.2 設計思路
將脈搏信號通過脈搏傳感器采集進入計算機,而后作為輸入信號,而此信號作為脈沖信號,即如時鐘信號一般,當輸入時計數器開始計數,如下面設計一個十進制計數器的VHDL描述便可用來對所采集的脈搏信號計數\\。
1.3 VHDL設計流程
VHDL流程設計\\如圖1所示。
圖1 VHDL流程設計圖
現在,計算機輔助工程軟件的供應商已把日益通用的硬件描述語言VHDL作為其CAD 或EDA 軟件輸入與輸出的標準, 其中ALTEKA公司提供的綜合工具Max+Plus Ⅱ,具有全面的邏輯設計能力, 從編輯、綜合、布線到仿真、下載都十分方便。
2 設計方案與結果分析
VHDL 語言設計十進制計數器的源程序\\:
library ieee;
use ieee.stdlogic1164.all;
use ieee.stdlogicunsigned.all;
entity jsq is
port(cp,rst:in stdlogic;
cp1:out stdlogic;
q:out stdlogicvector(3 downto 0));
end jsq;
architecture behave of jsq is
begin
process(cp,rst)
variable q1:stdlogicvector(3 downto 0);
begin
if rst=′1′ then q1:=(others=>′0′);
elsif cp′event and cp=′1′then
if q1<\"1001\" then q1:=q1+1;
else q1:=(others=>′0′);
end if;
q<=q1;
end if;
if q1=\"1001\" then cp1<=′1′;
else cp1<=′0′;
end if;
end process;
end behave;
在程序輸入完成后, 經Max+Plus Ⅱ中的Compiler編譯通過后,可用Stimulator進行仿真,查看仿真結果,如圖2所示。
圖2 經Max+Plus Ⅱ編譯,通過Stimulator得到的仿真結果
也可以加入七段顯示譯碼器的VHDL設計來通過實驗箱的七段數碼管掃描顯示計數結果\\仿真結果如圖3所示。
圖3 譯碼器的仿真結果
代碼如下:
library IEEE;
use ieee.stdlogic1164.all;
use ieee.stdlogicunsigned.all;
entity huay is
port( q1:in stdlogicvector(3 downto 0);
light:OUT stdlogicvector(6 downto 0));
end huay;
architecture behave of huay is
begin
process(q1)
begin
case q1 is
when\"0000\"=>light<=\"0111111\";
when\"0001\"=>light<=\"0000110\";
when\"0010\"=>light<=\"1011011\";
when\"0011\"=>light<=\"1001111\";
when\"0100\"=>light<=\"1100110\";
when\"0101\"=>light<=\"1101101\";
when\"0111\"=>light<=\"0000111\";
when\"1000\"=>light<=\"1111111\";
when\"1001\"=>light<=\"1101111\";
when others=>light<=\"0000000\";
end case;
end process;
end behave;
最終實現的頂層文件原理圖如圖4所示。
圖4 頂層文件原理圖
頂層文件設計如圖4所示,通過該文件可以實現譯碼,下載到EDA實驗箱時,便可于實驗箱的數碼管上讀出相應的脈搏數,如圖5所示。
圖5 通過數碼管得到的最終仿真圖
VHDL語言與醫學內容的結合,除了應用于脈搏的測量,還可應用于心跳及呼吸等的測量,以及受人體對聲、光刺激后的生理反應時間的測定\\等。電子自動化設計(EDA)及其相關技術,在醫學領域具有巨大的應用前景,有待進一步的研究和發掘。
3 結 語
VHDL是一種隨著電子技術的不斷發展,為滿足電路系統化和高度集成化要求而發展起來的一種新型硬件描述語言。VHDL具有廣泛的應用范圍,在芯片及電路系統設計等方面發揮著日益重要的作用\\。以VHDL為核心的EDA技術應用于醫學,能直觀準確的測量人體的脈搏心跳,呼吸等生理活動,以及受到外界刺激的生理反應等,在醫學領域存在廣闊的發展空間,隨著進一步的探索和實踐,必將對醫學的發展起到極大的推動作用。
參考文獻
[1]陳耀和. VHDL語言設計技術[M]. 北京: 電子工業出版社, 2004.
[2]汪國強. EDA技術及應用[M]. 北京: 電子工業出版社, 2006.
[3]潘澤強. VHDL語言在數字電路教學中的應用[J]. 科技資訊, 2008(35): 15.
[4]張順興. 數字電路與系統設計[M]. 南京: 東南大學出版社, 2004.
[5]余孟嘗. 數字電子技術簡明教程[M]. 3版. 北京: 高等教育出版社, 2006.
[6]朱正偉. EDA技術及應用[M]. 北京: 清華大學出版社, 2005.
[7]周政新. 電子設計自動化實踐與訓練[M]. 北京: 中國民航出版社, 1998.
[8]江曉安. 數字電子技術[M]. 西安: 西安電子科技大學出版社, 2002.
[9]劉玉英. 一種測量生理反應時間的電路設計[J].現代電子技術, 2008, 31(17): 171-173.
[10]徐志軍, 徐光輝. CPLD/FPGA的開發與應用[M]. 北京: 電子工業出版社, 2002.