• 方案介紹
  • 附件下載
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

EDA程序設計-數(shù)字電壓表設計

2024/11/26
2783
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

有需要資料的可了解一下.docx

共1個文件

一、前言

課題研究的背景

隨著信息技術獲得了突飛猛進的發(fā)展,信息技術滲透了我們生活的幾乎全部領域,改變著人類的生存狀態(tài)和思維模式。而我們的課題所涉及的電子設計自動化(EDA)技術就是在這種時代背景下產(chǎn)生的,并影響巨大。FPGA是新型的可編程邏輯器件,與傳統(tǒng) ASIC 相比,具有設計開發(fā)周期短、設計制造成本低、開發(fā)工具先進 等優(yōu)點,特別適合于產(chǎn)品的樣品開發(fā)和小批量生產(chǎn)。傳統(tǒng)的數(shù)字電壓表多以單片機為控制核心,芯片集成度不高,系統(tǒng)連線復雜,難以小型化,尤其在產(chǎn)品需求發(fā)生變化時,不得不重新布版、調試,增加了投資風險和成本。而采用 FPGA 進行產(chǎn)品開發(fā),可以靈活地進行模塊配置,大大縮短了開發(fā)周期,也有利于數(shù)字電壓表向小型化、集成化的方向發(fā)展。 隨著電子技術的發(fā)展,當前數(shù)字電子系統(tǒng)的設計正朝著速度快、容量大、體積小、重量輕的方向發(fā)展。推動該潮流發(fā)展的引擎就是日趨進步和完善的ASIC設計技術。目前數(shù)字系統(tǒng)的設計可以直接面向用戶需求,根據(jù)系統(tǒng)的行為和功能的要求,自上而下的完成相應的描述、綜合、優(yōu)化、仿真與驗證,直接生成器件。上述設計過程除了系統(tǒng)行為和功能描述以外,其余所有的設計幾乎都可以用計算機來自動完成,也就說做到了電子設計自動化(EDA)這樣做可以大大的縮短系統(tǒng)的設計周期,以適應當今品種多、批量小的電子市場的需求。

伴隨著集成電路(IC)技術的發(fā)展,電子設計自動化(EDA)逐漸成為重要的設計手段,己經(jīng)廣泛應用于模擬與數(shù)子電路系統(tǒng)等許多領域。目前電子技術的發(fā)展主要體現(xiàn)在EDA領域,數(shù)字系統(tǒng)的設計正朝著速度快、容量大、體積小、重量輕的方向發(fā)展。電子設計自動化是近幾年迅速發(fā)展起來的將計算機軟件、硬件、微電子技術交叉運用的現(xiàn)代電子設計學科。其中EDA設計語言中的VHDL語言是一種快速的電路設計工具,功能涵蓋了電路描述、電路合成、電路仿真等三大電路設計工作。本電壓表的電路設計正是用VHDL語言完成的。此次設計主要應用的軟件是美國ALTERA公司自行設計的Quartus II。

FPGA設計具有以下優(yōu)點:

(1)硬件設計軟件化

這是FPGA開發(fā)的最大優(yōu)勢。傳統(tǒng)硬件電路設計先要進行功能設計,然后進行電路板級設計并做稱電路板后進行調試,如果電路中有什么錯誤,整個電路板都將作廢,這是很不經(jīng)濟的。FPGA的開發(fā)在功能層面上可以完全脫離硬件而在EDA軟件上做軟仿真。當功能確定無誤后可以進行硬件電路板的設計。最后將設計好的,由EDA軟件生成的燒寫文件下載到配置設備中去,進行在線調試,如果這時的結果與要求不一致,可以立即更改設計軟件,并再次燒寫到配置芯片中而不必改動外接硬件電路。

(2)高度集成化,高工作頻率

一般的FPGA內(nèi)部都集成有上百萬的邏輯門,可以在其內(nèi)部規(guī)劃出多個與傳統(tǒng)小規(guī)模集成器件功能相當?shù)哪K。這樣將多個傳統(tǒng)器件集成在同一芯片內(nèi)部的方法不但可以改進電路板的規(guī)模,還可以減少PCB布線的工作。由于各個模塊都是集成在FPGA芯片內(nèi)部,這就很大程度地解決了信號的干擾問題,使得FPGA的工作頻率可以大幅度的提高。另外,一般的FPGA內(nèi)部都有PLL倍頻的時鐘,這進一步解決了電磁干擾電磁兼容問題。

(3)支持多種接口

FPGA芯片可支持多種標準的接口電平,可通過EDA開發(fā)工具來選定采用什么樣的接口標準,包括常用的TTL和差分輸入等。這便于后端各種不同接口電路的匹配。

FPGA設計流程

可編程邏輯器件的設計是利用EDA開發(fā)軟件和編程土具對器件開發(fā)的過程。它包括設計準備、設計輸入、功能仿真、設計處理、時序仿真和器件編程及測試等七個步驟。

1.設計準備

在系統(tǒng)設計之前,首先要進行方案論證、系統(tǒng)設計和器件選擇等準備工作。

一般采用自上而下的設計方法,也可采用傳統(tǒng)的自下而上的設計方法。

2.設計輸入

設計輸入將所設計的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表示出來,并送入計算機的過程稱為設計輸入。設計輸入通常有以下集中形式:

1)原理圖輸入方式

2)硬件描述語言輸入方式

3)波形輸入方式

3.功能仿真

功能仿真也叫做前仿真。用戶所設計的電路必須在編譯之前進行邏輯功能驗證,此時的仿真沒有延時信息,對于初步的功能檢測非常方便。仿真中如發(fā)現(xiàn)錯誤,則返回設計輸入中修改邏輯設計。

4.設計處理

設計處理是器件設計中的核心環(huán)節(jié)。在設計處理過程中,編譯軟件將對設計輸入文件進行邏輯化簡、綜合優(yōu)化和適配,最后產(chǎn)生編程用的編程文件。主要有:

1) 語法檢查和設計規(guī)則檢查

2)邏輯優(yōu)化和綜合

3)適配和分割

4)布局和布線

5.時序仿真

時序仿真又稱后仿真或延時仿真。由于不同器件的內(nèi)部延時不一樣,不同的布局布線方案也給延時造成不同的影響,因此在設計處理以后,對系統(tǒng)和各模塊進行時序仿真,分析其時序關系,估計設計的性能,以及檢查和消除竟爭冒險等是非常有必要的。

6.器件編程測試

時序仿真完成后,軟件就可產(chǎn)生供器件編程使用的數(shù)據(jù)文件。

VHDL語言描述

硬件描述語言(hardware description language,HDL)是電子系統(tǒng)硬件行為描述,結構描述,數(shù)據(jù)流描述的語言.目前,利用硬件描述語言可以進行數(shù)字電子系統(tǒng)的設計.隨著研究的深入,利用硬件描述語言進行模擬電子系統(tǒng)設計或混合電

子系統(tǒng)設計也正在探索中。

國外硬件描述語言種類很多,有的從Pascal發(fā)展而來,也有一些從C語言發(fā)展而來.有些HDL成為IEEE標準,但大部分是企業(yè)標準.VHDL來源于美國軍方,其他的硬件描述語言則多來源于民間公司.可謂百家爭鳴,百花齊放.這些不同的語言傳播到國內(nèi),同樣也引起了不同的影響.在我國比較有影響的有兩種硬件描述語言:VHDL語言和Verilog HDL語言.這兩種語言已成為IEEE標準語言。

VHDL語言的設計流程

采用VHDL語言設計硬件電路系統(tǒng)的設計流程一般可以分為以下幾個步驟。①硬件電路系統(tǒng)設計要求的定義。②編寫描述硬件電路系統(tǒng)功能的VHDL語言程序。③VHDL語言程序的模擬。④VHDL語言的綜合、優(yōu)化和布局布線。⑤布局布線后的設計模擬。⑥器件的編程。設計人員在從事硬件電路系統(tǒng)的合計過程中,編寫VHDL語言程序之前必須對硬件電路系統(tǒng)的設計目的和設計要求有一個非常明確的認識才行。

Quartus II開發(fā)平臺簡介??

Quartus II是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界最大可編程邏輯器件供應商之一。Quartus II在21世紀初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX+plus II的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。在Quartus II上可以完成設計輸入、HDL綜合、布線布局(適配)、仿真和下載和硬件測試等流程,它提供了一種與結構無關的設計環(huán)境,使設計者能方便地進行設計輸入、快速處理和器件編程。

本次所設計的電壓表的測量范圍是0~5V,精度為0.01V。此電壓表的設計特點為:通過軟件編程下載到硬件實現(xiàn),設計周期短,開發(fā)效率高。

關鍵字:電子設計自動化(EDA);FPGA;VHDL;A/D;數(shù)字電壓表。

二、設計任務與要求

要求利用FPGA控制模塊數(shù)轉換器對外部輸入的模擬信號進行采樣,獲取當前電壓值,并在數(shù)碼管上顯示。

傳統(tǒng)的數(shù)字電壓表設計通常以大規(guī)模ASIC(專用集成電路)為核心器件,輔以少量中規(guī)模集成電路及顯示器件構成。ASIC完成從模擬量的輸入到數(shù)字量的輸出,是數(shù)字電壓表的心臟,這種電壓表的設計簡單、精確度高,但是這種設計方法由于采用了ASIC器件使得的它欠缺靈活性,其系統(tǒng)功能固定,難以更新擴展,。后來發(fā)展起來的微處理器(單片機)控制通用A/D轉換器件的數(shù)字電壓表的設計的靈活性有所提高,系統(tǒng)功能的擴展性變得簡單,但是由于微處理機的引腳數(shù)量有限,其控制轉換速度和靈活性還是不能滿足日益發(fā)展的電子工業(yè)的需求。而應以EDA技術及FPGA,其集成度高、速度快、性能十分可靠、用戶可自由編程且編程語言通俗易懂、系統(tǒng)工程擴展非常方便。采用FPGA芯片控制通用A/D轉換器可是速度、靈活性大大優(yōu)于微處理器和通用A/D轉換器構成的數(shù)字電壓表。

a,能夠實現(xiàn)一個通道的采樣控制;

b,產(chǎn)生ADC0809工作所需的各種控制信號;

c,計算轉換后的數(shù)字電壓信號,并以BCD碼方式表示。

  • 總體框圖

方案一:

本利用ADC0809作為電壓采樣端口,F(xiàn)PGA作為系統(tǒng)的核心器件,用LED進行數(shù)碼顯示,把讀取的8位二進制數(shù)據(jù)轉換成便利于輸出3位十進制BCD碼送給數(shù)碼管。

采用FPGA芯片作為系統(tǒng)的核心器件,負責ADC0809的A/D轉換的啟動、地址鎖存、輸入通道的選擇、數(shù)據(jù)的讀取。同時,把讀取的8位二進制數(shù)據(jù)轉換成便于輸出3位十進制的BCD碼送給數(shù)碼管,以顯示當前測量電壓值。這些工作由ADC0809轉換控制模塊、數(shù)據(jù)轉換模塊、譯碼模塊完成。

 ale:out std_logic;
     start:out std_logic;
     add:out std_logic_vector(2 downto 0));
end ad;
architecture one of ad is
type states is(st0,st1,st2,st3,st4);
signal current_state,next_state:states:=st0;
signal temp:std_logic_vector(7 downto 0);
signal lock:std_logic;
begin
  add<="001";
  dataout<=temp;
  process(current_state,eoc)
begin
  case current_state is
    when st0=>ale<='0';start<='0';oe<='0';lock<='0';
     next_state<=st1;
    when st1=>ale<='1';start<='1';oe<='0';lock<='0';
     next_state<=st2;
    when st2=>ale<='0';start<='0';oe<='0';lock<='0';
      if (eoc='1')then next_state<=st3;
       else next_state<=st2;
      end if;
    when st3=>ale<='0';start<='0';oe<='1';lock<='1';
       next_state<=st4;
    when st4=>ale<='0';start<='0';oe<='1';lock<='1';
     next_state<=st0;
   end case;
 end process;
process(clk)
begin
  if(clk 'event and clk='1') then current_state<=next_state;
  end if;
end process;
process(lock)
begin
  if lock='1' and lock 'event then temp<=datain;
   end if;
  • 有需要資料的可了解一下.docx
    下載

相關推薦