VGA图像控制器的CPLD/FPGA设计与实现
发布时间:2008/5/28 0:00:00 访问次数:653
摘 要: 本文介绍了一种利用可编程器件cpld/fpga实现vga图像控制器的vhdl设计方案,并给出了一些重要模块的vhdl源程序。
关键词: vga;vhdl;cpld/fpga;仿真综合;eda
现代电子设计技术的核心是eda技术。eda技术依赖功能强大的计算机,在eda软件工具平台上,以硬件描述语言vhdl为系统逻辑描述的主要手段完成系统设计。
利用可编程器件cpld/fpga实现vga彩色显示控制器在工业现场中有许多实际应用。以硬件描述语言vhdl对可编程器件进行功能模块设计、仿真综合,可实现vga显示控制器显示各种图形、图像、文字,并实现了动画效果。
vga 接口及设计参数
vga接口是与显示器进行通信的唯一接口。通过cpld/fpga器件对rgb信号、行同步信号、场同步信号等信号的控制,并参照有关标准,可以实现对vga显示器的控制。由此可见,了解接口标准,控制时序和设定恰当的参数是系统设计的关键。
参照vga主要参数的工业标准,像素输出频率为25.175mhz;行频(线频率)为31.469khz;场频(刷新率)为59.94hz。参数设计原理以及行同步信号(ts)与显示信号(tdis)的关系如图1所示。
vga 图像控制器的设计方案
vga图像控制器是一个较大的数字系统。采用模块化设计原则,借鉴自顶而下的程序设计思想,进行功能分离并按层次设计。将vhdl硬件描述语言设计与原理图设计相结合,逐一对每个功能模块进行仿真,使顶层vga图像控制器的模块实体仿真综合得以顺利通过。vga控制器主要由以下模块组成:消隐模块,显示模块,分频模块,网格生成模块,汉字显示模块,图像控制模块,动画生成模块,lpm-rom调用模块,eeprom调用模块等。功能模块的vhdl设计如下。
消隐模块
消隐模块是整个显示控制器的关键部分,显示模块、汉字模块、彩条模块、网格模块、动画控制模块、lpm-rom调用模块等都由消隐模块控制,并且行同步信号(hs)和场同步信号(vs)都由该模块产生。
图2是消隐模块的仿真结果。由于clk频率相当高,像素速率也很高,为了观察hs、vs信号,适当缩小了波形比例。其中, c[9..0]为像素坐标值,l[8..0]为扫描线信号,也就是像素的横坐标。
显示模块
显示模块是整个显示控制器的重要组成部分。各个模块的输出数据都要经过该模块处理后送到显示器。显示模块在vga显示控制器中起着至关重要的作用。
显示模块的vhdl设计如下:
architecture behave of display is
signal grb: std_logic_vector(3 downto 1);
begin
grb(2)<=grbp(2) and hs and vs;
grb(3)<=grbp(3) and hs and vs;
grb(1)<=grbp(1) and hs and vs;
r<=grb(2);
g<=grb(3);
b<=grb(1);
end behave;
显示模块仿真波形如图3所示。
grbp为三原色数据信号,由模式控制模块产生;行同步信号hs由消隐模块产生;场同步信号vs由消隐模块产生。输出的r、g、b信号分别为红色、绿色、蓝色信号。
显示模块的输出信号直接连到vga接口,它是控制器与显示器进行通信的桥梁。该模块以vhdl语言实现,该模块中的结构体描述一共只用了6条语句。而要实现同样的功能,一般操作系统的视频卡驱动程序需要冗长的代码去描述。由此可见,vhdl语言具有很大的优越性。
汉字生成模块
汉字生成模块可实现在显示器上显示汉字、字符等。字模信息可以利用字模提取软件来获得,得到了汉字的字模信息后,可以通过屏幕上的横坐标和纵坐标按照字模信息定义像素的颜色,这样就可以显示任何字体、任何点阵的汉字,并根据需要决定汉字在屏幕上的位置。至于英文以及其他任何符号的显示原理与汉字显示的原理一样。
网格生成模块
网格生成模块用来编辑各种图形。网格生成模块的实现原理与汉字生成模块、彩条发生器类似,在像素的横坐标和纵坐标控制下,实现各种网格图形的生成。网格生成模块所产生的九种图形送显示器依次显示,所以可以看到网格由小到大逐渐变化,虽然不是动画效果,但每秒一帧画面的速度依然使图像连续变化呈现出动感。网格以及背景的颜色也可以随意设置。每帧图像的速率可由时钟来控制。
网格生成模块的主要功能是编辑各种图形,因此本模块可以按照设计方案生成各种各样的图形。网格的选择是一种比较简单的图像编辑,该部分虽然名为网格生成模块,但实际上可以编辑出多种彩色图像。
lpm-rom调用模块
lpm是参数可设置模块库。本设计中调用了三个lpm-rom,其中两个用来存放汉字信息,另一个用来存放动态彩条信息。调用lpm-rom模块,一个重要的问题就是*.mif文件的生成。这里文件生成借助字模提取软件和word编辑功能。设置好参数后,生成元件作为自定义元件库中的元件以供调用。
lpm-rom调用模块为不使用外挂rom而建立字库提供了条件,直接调用lpm模块,可以大大提高效率。通过lpm-rom可以在显示器上显示汉字、字符等。
eeprom调用模块
eeprom调用模块是设计的难点之一。该模块实现了对系统外挂的两个eeprom(w27e040和w
关键词: vga;vhdl;cpld/fpga;仿真综合;eda
现代电子设计技术的核心是eda技术。eda技术依赖功能强大的计算机,在eda软件工具平台上,以硬件描述语言vhdl为系统逻辑描述的主要手段完成系统设计。
利用可编程器件cpld/fpga实现vga彩色显示控制器在工业现场中有许多实际应用。以硬件描述语言vhdl对可编程器件进行功能模块设计、仿真综合,可实现vga显示控制器显示各种图形、图像、文字,并实现了动画效果。
vga 接口及设计参数
vga接口是与显示器进行通信的唯一接口。通过cpld/fpga器件对rgb信号、行同步信号、场同步信号等信号的控制,并参照有关标准,可以实现对vga显示器的控制。由此可见,了解接口标准,控制时序和设定恰当的参数是系统设计的关键。
参照vga主要参数的工业标准,像素输出频率为25.175mhz;行频(线频率)为31.469khz;场频(刷新率)为59.94hz。参数设计原理以及行同步信号(ts)与显示信号(tdis)的关系如图1所示。
vga 图像控制器的设计方案
vga图像控制器是一个较大的数字系统。采用模块化设计原则,借鉴自顶而下的程序设计思想,进行功能分离并按层次设计。将vhdl硬件描述语言设计与原理图设计相结合,逐一对每个功能模块进行仿真,使顶层vga图像控制器的模块实体仿真综合得以顺利通过。vga控制器主要由以下模块组成:消隐模块,显示模块,分频模块,网格生成模块,汉字显示模块,图像控制模块,动画生成模块,lpm-rom调用模块,eeprom调用模块等。功能模块的vhdl设计如下。
消隐模块
消隐模块是整个显示控制器的关键部分,显示模块、汉字模块、彩条模块、网格模块、动画控制模块、lpm-rom调用模块等都由消隐模块控制,并且行同步信号(hs)和场同步信号(vs)都由该模块产生。
图2是消隐模块的仿真结果。由于clk频率相当高,像素速率也很高,为了观察hs、vs信号,适当缩小了波形比例。其中, c[9..0]为像素坐标值,l[8..0]为扫描线信号,也就是像素的横坐标。
显示模块
显示模块是整个显示控制器的重要组成部分。各个模块的输出数据都要经过该模块处理后送到显示器。显示模块在vga显示控制器中起着至关重要的作用。
显示模块的vhdl设计如下:
architecture behave of display is
signal grb: std_logic_vector(3 downto 1);
begin
grb(2)<=grbp(2) and hs and vs;
grb(3)<=grbp(3) and hs and vs;
grb(1)<=grbp(1) and hs and vs;
r<=grb(2);
g<=grb(3);
b<=grb(1);
end behave;
显示模块仿真波形如图3所示。
grbp为三原色数据信号,由模式控制模块产生;行同步信号hs由消隐模块产生;场同步信号vs由消隐模块产生。输出的r、g、b信号分别为红色、绿色、蓝色信号。
显示模块的输出信号直接连到vga接口,它是控制器与显示器进行通信的桥梁。该模块以vhdl语言实现,该模块中的结构体描述一共只用了6条语句。而要实现同样的功能,一般操作系统的视频卡驱动程序需要冗长的代码去描述。由此可见,vhdl语言具有很大的优越性。
汉字生成模块
汉字生成模块可实现在显示器上显示汉字、字符等。字模信息可以利用字模提取软件来获得,得到了汉字的字模信息后,可以通过屏幕上的横坐标和纵坐标按照字模信息定义像素的颜色,这样就可以显示任何字体、任何点阵的汉字,并根据需要决定汉字在屏幕上的位置。至于英文以及其他任何符号的显示原理与汉字显示的原理一样。
网格生成模块
网格生成模块用来编辑各种图形。网格生成模块的实现原理与汉字生成模块、彩条发生器类似,在像素的横坐标和纵坐标控制下,实现各种网格图形的生成。网格生成模块所产生的九种图形送显示器依次显示,所以可以看到网格由小到大逐渐变化,虽然不是动画效果,但每秒一帧画面的速度依然使图像连续变化呈现出动感。网格以及背景的颜色也可以随意设置。每帧图像的速率可由时钟来控制。
网格生成模块的主要功能是编辑各种图形,因此本模块可以按照设计方案生成各种各样的图形。网格的选择是一种比较简单的图像编辑,该部分虽然名为网格生成模块,但实际上可以编辑出多种彩色图像。
lpm-rom调用模块
lpm是参数可设置模块库。本设计中调用了三个lpm-rom,其中两个用来存放汉字信息,另一个用来存放动态彩条信息。调用lpm-rom模块,一个重要的问题就是*.mif文件的生成。这里文件生成借助字模提取软件和word编辑功能。设置好参数后,生成元件作为自定义元件库中的元件以供调用。
lpm-rom调用模块为不使用外挂rom而建立字库提供了条件,直接调用lpm模块,可以大大提高效率。通过lpm-rom可以在显示器上显示汉字、字符等。
eeprom调用模块
eeprom调用模块是设计的难点之一。该模块实现了对系统外挂的两个eeprom(w27e040和w
摘 要: 本文介绍了一种利用可编程器件cpld/fpga实现vga图像控制器的vhdl设计方案,并给出了一些重要模块的vhdl源程序。
关键词: vga;vhdl;cpld/fpga;仿真综合;eda
现代电子设计技术的核心是eda技术。eda技术依赖功能强大的计算机,在eda软件工具平台上,以硬件描述语言vhdl为系统逻辑描述的主要手段完成系统设计。
利用可编程器件cpld/fpga实现vga彩色显示控制器在工业现场中有许多实际应用。以硬件描述语言vhdl对可编程器件进行功能模块设计、仿真综合,可实现vga显示控制器显示各种图形、图像、文字,并实现了动画效果。
vga 接口及设计参数
vga接口是与显示器进行通信的唯一接口。通过cpld/fpga器件对rgb信号、行同步信号、场同步信号等信号的控制,并参照有关标准,可以实现对vga显示器的控制。由此可见,了解接口标准,控制时序和设定恰当的参数是系统设计的关键。
参照vga主要参数的工业标准,像素输出频率为25.175mhz;行频(线频率)为31.469khz;场频(刷新率)为59.94hz。参数设计原理以及行同步信号(ts)与显示信号(tdis)的关系如图1所示。
vga 图像控制器的设计方案
vga图像控制器是一个较大的数字系统。采用模块化设计原则,借鉴自顶而下的程序设计思想,进行功能分离并按层次设计。将vhdl硬件描述语言设计与原理图设计相结合,逐一对每个功能模块进行仿真,使顶层vga图像控制器的模块实体仿真综合得以顺利通过。vga控制器主要由以下模块组成:消隐模块,显示模块,分频模块,网格生成模块,汉字显示模块,图像控制模块,动画生成模块,lpm-rom调用模块,eeprom调用模块等。功能模块的vhdl设计如下。
消隐模块
消隐模块是整个显示控制器的关键部分,显示模块、汉字模块、彩条模块、网格模块、动画控制模块、lpm-rom调用模块等都由消隐模块控制,并且行同步信号(hs)和场同步信号(vs)都由该模块产生。
图2是消隐模块的仿真结果。由于clk频率相当高,像素速率也很高,为了观察hs、vs信号,适当缩小了波形比例。其中, c[9..0]为像素坐标值,l[8..0]为扫描线信号,也就是像素的横坐标。
显示模块
显示模块是整个显示控制器的重要组成部分。各个模块的输出数据都要经过该模块处理后送到显示器。显示模块在vga显示控制器中起着至关重要的作用。
显示模块的vhdl设计如下:
architecture behave of display is
signal grb: std_logic_vector(3 downto 1);
begin
grb(2)<=grbp(2) and hs and vs;
grb(3)<=grbp(3) and hs and vs;
grb(1)<=grbp(1) and hs and vs;
r<=grb(2);
g<=grb(3);
b<=grb(1);
end behave;
显示模块仿真波形如图3所示。
grbp为三原色数据信号,由模式控制模块产生;行同步信号hs由消隐模块产生;场同步信号vs由消隐模块产生。输出的r、g、b信号分别为红色、绿色、蓝色信号。
显示模块的输出信号直接连到vga接口,它是控制器与显示器进行通信的桥梁。该模块以vhdl语言实现,该模块中的结构体描述一共只用了6条语句。而要实现同样的功能,一般操作系统的视频卡驱动程序需要冗长的代码去描述。由此可见,vhdl语言具有很大的优越性。
汉字生成模块
汉字生成模块可实现在显示器上显示汉字、字符等。字模信息可以利用字模提取软件来获得,得到了汉字的字模信息后,可以通过屏幕上的横坐标和纵坐标按照字模信息定义像素的颜色,这样就可以显示任何字体、任何点阵的汉字,并根据需要决定汉字在屏幕上的位置。至于英文以及其他任何符号的显示原理与汉字显示的原理一样。
网格生成模块
网格生成模块用来编辑各种图形。网格生成模块的实现原理与汉字生成模块、彩条发生器类似,在像素的横坐标和纵坐标控制下,实现各种网格图形的生成。网格生成模块所产生的九种图形送显示器依次显示,所以可以看到网格由小到大逐渐变化,虽然不是动画效果,但每秒一帧画面的速度依然使图像连续变化呈现出动感。网格以及背景的颜色也可以随意设置。每帧图像的速率可由时钟来控制。
网格生成模块的主要功能是编辑各种图形,因此本模块可以按照设计方案生成各种各样的图形。网格的选择是一种比较简单的图像编辑,该部分虽然名为网格生成模块,但实际上可以编辑出多种彩色图像。
lpm-rom调用模块
lpm是参数可设置模块库。本设计中调用了三个lpm-rom,其中两个用来存放汉字信息,另一个用来存放动态彩条信息。调用lpm-rom模块,一个重要的问题就是*.mif文件的生成。这里文件生成借助字模提取软件和word编辑功能。设置好参数后,生成元件作为自定义元件库中的元件以供调用。
lpm-rom调用模块为不使用外挂rom而建立字库提供了条件,直接调用lpm模块,可以大大提高效率。通过lpm-rom可以在显示器上显示汉字、字符等。
eeprom调用模块
eeprom调用模块是设计的难点之一。该模块实现了对系统外挂的两个eeprom(w27e040和w
关键词: vga;vhdl;cpld/fpga;仿真综合;eda
现代电子设计技术的核心是eda技术。eda技术依赖功能强大的计算机,在eda软件工具平台上,以硬件描述语言vhdl为系统逻辑描述的主要手段完成系统设计。
利用可编程器件cpld/fpga实现vga彩色显示控制器在工业现场中有许多实际应用。以硬件描述语言vhdl对可编程器件进行功能模块设计、仿真综合,可实现vga显示控制器显示各种图形、图像、文字,并实现了动画效果。
vga 接口及设计参数
vga接口是与显示器进行通信的唯一接口。通过cpld/fpga器件对rgb信号、行同步信号、场同步信号等信号的控制,并参照有关标准,可以实现对vga显示器的控制。由此可见,了解接口标准,控制时序和设定恰当的参数是系统设计的关键。
参照vga主要参数的工业标准,像素输出频率为25.175mhz;行频(线频率)为31.469khz;场频(刷新率)为59.94hz。参数设计原理以及行同步信号(ts)与显示信号(tdis)的关系如图1所示。
vga 图像控制器的设计方案
vga图像控制器是一个较大的数字系统。采用模块化设计原则,借鉴自顶而下的程序设计思想,进行功能分离并按层次设计。将vhdl硬件描述语言设计与原理图设计相结合,逐一对每个功能模块进行仿真,使顶层vga图像控制器的模块实体仿真综合得以顺利通过。vga控制器主要由以下模块组成:消隐模块,显示模块,分频模块,网格生成模块,汉字显示模块,图像控制模块,动画生成模块,lpm-rom调用模块,eeprom调用模块等。功能模块的vhdl设计如下。
消隐模块
消隐模块是整个显示控制器的关键部分,显示模块、汉字模块、彩条模块、网格模块、动画控制模块、lpm-rom调用模块等都由消隐模块控制,并且行同步信号(hs)和场同步信号(vs)都由该模块产生。
图2是消隐模块的仿真结果。由于clk频率相当高,像素速率也很高,为了观察hs、vs信号,适当缩小了波形比例。其中, c[9..0]为像素坐标值,l[8..0]为扫描线信号,也就是像素的横坐标。
显示模块
显示模块是整个显示控制器的重要组成部分。各个模块的输出数据都要经过该模块处理后送到显示器。显示模块在vga显示控制器中起着至关重要的作用。
显示模块的vhdl设计如下:
architecture behave of display is
signal grb: std_logic_vector(3 downto 1);
begin
grb(2)<=grbp(2) and hs and vs;
grb(3)<=grbp(3) and hs and vs;
grb(1)<=grbp(1) and hs and vs;
r<=grb(2);
g<=grb(3);
b<=grb(1);
end behave;
显示模块仿真波形如图3所示。
grbp为三原色数据信号,由模式控制模块产生;行同步信号hs由消隐模块产生;场同步信号vs由消隐模块产生。输出的r、g、b信号分别为红色、绿色、蓝色信号。
显示模块的输出信号直接连到vga接口,它是控制器与显示器进行通信的桥梁。该模块以vhdl语言实现,该模块中的结构体描述一共只用了6条语句。而要实现同样的功能,一般操作系统的视频卡驱动程序需要冗长的代码去描述。由此可见,vhdl语言具有很大的优越性。
汉字生成模块
汉字生成模块可实现在显示器上显示汉字、字符等。字模信息可以利用字模提取软件来获得,得到了汉字的字模信息后,可以通过屏幕上的横坐标和纵坐标按照字模信息定义像素的颜色,这样就可以显示任何字体、任何点阵的汉字,并根据需要决定汉字在屏幕上的位置。至于英文以及其他任何符号的显示原理与汉字显示的原理一样。
网格生成模块
网格生成模块用来编辑各种图形。网格生成模块的实现原理与汉字生成模块、彩条发生器类似,在像素的横坐标和纵坐标控制下,实现各种网格图形的生成。网格生成模块所产生的九种图形送显示器依次显示,所以可以看到网格由小到大逐渐变化,虽然不是动画效果,但每秒一帧画面的速度依然使图像连续变化呈现出动感。网格以及背景的颜色也可以随意设置。每帧图像的速率可由时钟来控制。
网格生成模块的主要功能是编辑各种图形,因此本模块可以按照设计方案生成各种各样的图形。网格的选择是一种比较简单的图像编辑,该部分虽然名为网格生成模块,但实际上可以编辑出多种彩色图像。
lpm-rom调用模块
lpm是参数可设置模块库。本设计中调用了三个lpm-rom,其中两个用来存放汉字信息,另一个用来存放动态彩条信息。调用lpm-rom模块,一个重要的问题就是*.mif文件的生成。这里文件生成借助字模提取软件和word编辑功能。设置好参数后,生成元件作为自定义元件库中的元件以供调用。
lpm-rom调用模块为不使用外挂rom而建立字库提供了条件,直接调用lpm模块,可以大大提高效率。通过lpm-rom可以在显示器上显示汉字、字符等。
eeprom调用模块
eeprom调用模块是设计的难点之一。该模块实现了对系统外挂的两个eeprom(w27e040和w