<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 使用LeonardoSpectrum綜合Xilinx FPGA的VHDL程序

          使用LeonardoSpectrum綜合Xilinx FPGA的VHDL程序

          作者:■和記奧普泰通信技術(shù)有限公司 蔡連峰 時間:2004-11-03 來源:電子設(shè)計應(yīng)用2003年第6期 收藏

          摘   要: 本文總結(jié)了使用綜合Xilinx 程序應(yīng)用,以及在中使用不同類型RAM的方法。
          關(guān)鍵詞: ;;
          是Mentor Graphics公司設(shè)計的功能強大的EPLD//ASIC綜合工具,支持大部分EPLD/FPGA廠商的產(chǎn)品。LeonardoSpectrum支持VHDL、Verilog、EDIF的綜合、優(yōu)化和定時分析,可以運行在Windows 98/2000/NT/XP和HP、SUN 的UNIX平臺上。
          LeonardoSpectrum通過名為exemplar的庫,可以在用HDL設(shè)計FPGA/EPLD時使用與原理圖設(shè)計相同的功能。LeonardoSpectrum對于Xilinx公司的EPLD/FPGA支持尤其完善,使得用HDL的設(shè)計在效率和功能上可以和原理圖的設(shè)計相當(dāng)。本文總結(jié)了使用LeonardoSpectrum過程一些有用的設(shè)計方法。

          本文引用地址:http://www.ex-cimer.com/article/3708.htm

          圖1 全局時鐘使用的map結(jié)果

          圖2 延遲鎖相環(huán)使用map結(jié)果

          圖3 塊狀RAM的map結(jié)果

          圖4 分布式RAM的map結(jié)果

          屬性的使用
          在LeonardoSpectrum中,可以在程序中對信號賦予屬性來對綜合結(jié)果進行控制。在使用LeonardoSpectrum綜合時,除了LeonardoSpectrum提供的屬性外,可以把Xilinx原理圖設(shè)計中的某些元件作為屬性來賦予信號,主要限于雙端口的元件,例如IBUFG,BUFG等等。LeonardoSpectrum所提供的屬性可以參看使用手冊。
          如果使用LeonardoSpectrum來綜合,建議調(diào)用exemplar庫,以獲得更多的功能支持,本文介紹的程序都需要使用exemplar庫。下面是對程序中一個信號通過賦予bufg的屬性而定義該信號為全局時鐘的例子。
          ......
          ARCHITECTURE rtl of bufg IS
          SIGNAL    clk :td_logic;
          attribute buffer_sig of clk: signal is "bufg";
          BEGIN
           clk<=clkin;
           clkout<=clk;
           process(clk)
           begin
          if(clk'event and clk='1') then
            end if;
           end process;
          END rtl;
          這個程序選用的芯片是Xilinx的spartanII 系列XC2S50-5QP208,經(jīng)LeonardoSpectrum綜合后,用Xilinx ISE5.1進行map后的結(jié)果如圖1所示,可以看到使用了1個全局時鐘。
          元件的引用
          在Xilinx的FPGA/EPLD的原理圖設(shè)計中需要用到元件庫,元件庫中包含一些特殊功能的元件,例如延遲鎖相環(huán)(DLL)、全局時鐘BUF、邊界掃描電路、數(shù)字時鐘管理器(DCM)、內(nèi)置SRAM等。LeonardoSpectrum提供的exemplar庫中的程序包使得設(shè)計者可以在VHDL程序中直接引用原理圖庫中所包含的元件。引用元件時,先調(diào)用exemplar庫,對要引用的元件按照原理圖庫中的描述進行聲明。引用元件時可以只使用其中一部分參數(shù),不必對元件所有的參數(shù)進行映射。
          下面是引用Xilinx的FPGA的延遲鎖相環(huán)〔DLL〕的例子。
          ............
          ARCHITECTURE rtl of pll IS
          SIGNAL  clk       :std_logic;
          component clkdll         --鎖相環(huán)
          port(clkin,clkfb,rst  :in std_logic;clk0,clk90, clk180,clk270,clkdv,locked  :out std_logic);
          end component;
          BEGIN
          CLK1: clkdll port map(clkin=>clkin,clkfb=>clk,rst=>'0', clk0=>clk,clk90=>clkout );
           process(clk)
           begin
          if(clk'event and clk='1') then
          data_out<=data_in;
          end if;
          end process;
          END rtl;
          這個程序也選用Xilinx的XC2S50-5QP208,經(jīng)LeonardoSpectrum綜合后,用Xilinx ISE5.1進行map后的結(jié)果如圖2所示,可以看到使用了一個DLL。

          RAM的綜合
          RAM設(shè)計是Xilinx FPGA的一個特色,按照在芯片內(nèi)的分布情況可以分為分布式RAM和塊狀RAM,分布式RAM分布在每個LC中,可以將一個LC作為16



          關(guān)鍵詞: FPGA LeonardoSpectrum VHDL

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();