ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
摘 要: 本文总结了利用LeonardoSpectrum综合Xilinx FPGA的VHDL步伐应用,以及在VHDL中利用差别范例RAM的要领。
关键词: LeonardoSpectrum;FPGA;VHDL
LeonardoSpectrum 是Mentor Graphics公司计划的成果强大的EPLD/FPGA/ASIC综合东西,支持大部分EPLD/FPGA厂商的产品。LeonardoSpectrum支持VHDL、Verilog、EDIF的综合、优化和定时阐发,可以运行在Windows 98/2000/NT/XP和HP、SUN 的UNIX平台上。
LeonardoSpectrum通过名为exemplar的库,可以在用HDL计划FPGA/EPLD时利用与原理图计划雷同的成果。LeonardoSpectrum对付Xilinx公司的EPLD/FPGA支持尤其美满,使得用HDL的计划在服从和成果上可以和原理图的计划相称。本文总结了利用LeonardoSpectrum进程一些有效的计划要领。
图1 全局时钟利用的map结果
图2 耽误锁相环利用map结果
图3 块状RAM的map结果
图4 散布式RAM的map结果
属性的利用
在LeonardoSpectrum中,可以在步伐中对信号付与属性来对综合结果举行控制。在利用LeonardoSpectrum综适时,除了LeonardoSpectrum提供的属性外,可以把Xilinx原理图计划中的某些元件作为属性来付与信号,重要限于双端口的元件,比方IBUFG,BUFG等等。LeonardoSpectrum所提供的属性可以参看利用手册。
要是利用LeonardoSpectrum来综合,发起调用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,经LeonardoSpectrum综合后,用Xilinx ISE5.1举行map后的结果如图1所示,可以看到利用了1个全局时钟。
元件的引用
在Xilinx的FPGA/EPLD的原理图计划中必要用到元件库,元件库中包括一些特别成果的元件,比方耽误锁相环(DLL)、全局时钟BUF、边界扫描电路、数字时钟办理器(DCM)、内置SRAM等。LeonardoSpectrum提供的exemplar库中的步伐包使得计划者可以在VHDL步伐中直接引用原理图库中所包括的元件。引用元件时,先调用exemplar库,对要引用的元件根据原理图库中的形貌举行声明。引用元件时可以只利用此中一部分参数,不必对元件全部的参数举行映射。
下面是引用Xilinx的FPGA的耽误锁相环〔DLL〕的例子。
............
ARCHITECTURE rtl of pll IS
SIGNAL clk :std_logic;
component clkdll --锁相环
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,经LeonardoSpectrum综合后,用Xilinx ISE5.1举行map后的结果如图2所示,可以看到利用了一个DLL。
RAM的综合
RAM计划是Xilinx FPGA的一个特色,根据在芯片内的散布环境可以分为散布式RAM和块状RAM,散布式RAM散布在每个LC中,可以将一个LC作为16×1的同步RAM利用,也可以将两个LC连合起来作为16×2、32×1的同步RAM大概16×1的双口RAM利用,块状RAM是专用的散布FPGA边沿的RAM块。RAM利用时又可以作为ROM,单口RAM、双口RAM等。要是是原理图计划,可以在选择元件时选择差别的元件来选择差别范例的RAM,但是对付用形貌语言来举行RAM计划时,就必要综合东西的支持,差别的综合东西,对雷同的语句,大概就综合成差别范例的RAM。LeonardoSpectrum对VHDL的支持到达相称的高度,除了提供属性的要领来利用散布式RAM和块状RAM外,还可以在计划时利用差别的形貌语句来孕育产生散布式RAM和块状RAM。下面是一个综合成块状RAM的例子。
......
ARCHITECTURE rtl of blockram IS
TYPE RAM IS ARRAY ( 0 TO 127 ) OF STD_LOGIC_VECTOR( 7 DOWNTO 0 );
SIGNAL testram :ram;
SIGNAL cc1,cc2 :std_logic_vector(6 downto 0);
SIGNAL addr1,addr2 :integer range 0 to 127;
BEGIN
......
process(clkout) --从RAM中读出数据
begin
if(clkout'event and clkout='1') then
data_out<=testram(addr2);
end if;
end process;
END rtl;
该步伐也选用Xilinx的XC2S50-5QP208,经LeonardoSpectrum综合后,用Xilinx ISE5.1举行map后的结果如图3所示,可以看到天生了块状RAM。
下面步伐是综称身散布式RAM的例子。
......
ARCHITECTURE rtl of disram IS
TYPE RAM IS ARRAY ( 0 TO 127 ) OF STD_LOGIC_VECTOR( 7 DOWNTO 0 );
SIGNAL testram :ram;
SIGNAL cc1,cc2 :std_logic_ vector(6 downto 0);
SIGNAL addr1,addr2 :integer range 0 to 127;
BEGIN
......
process(clkout) --从RAM中读出数据
begin if(clkout'event and clkout='1') then
if(ramsel='1') then data_out<=testram(addr2); end if; end if;
end process;
END rtl;
选用XC2S50-5QP208,经LeonardoSpectrum综合后,用Xilinx ISE5.1举行map后的结果如图4所示,可以看到天生了散布式双口RAM。
比较上面两段步伐,可以看到它们的差别就在于生身散布式RAM的步伐中,数据输出时有一个selram信号,也便是说,要是直接用时钟读出RAM中的数据,就综合成块状RAM;要是是用带使能的方法输出RAM中的数据,就综称身散布式RAM。
结语
综上所述, LeonardoSpectrum对付用VHDL写的用于Xilinx FPGA的步伐支持黑白常到位的,可以充分利用Xilinx的上风,用语言计划出与原理图计划相称成果的步伐。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号