Haider

VGA Text for Papilio One (got error when trying to Implement)

7 posts in this topic

Hi,

 

last day I was interesting to implement VGA driver in FPGA using Papilio board there is a tutorial written by alvie about using ZPUINO to drive VGA LCD display, it's a great tutorial for newbie and beginner but it's like using Arduino with some line of c code to show hello world,

I want something written in VHDL, by the way I find this one

 

http://papilio.cc/index.php?n=Playground.VGAGenerator

 

 

VGA_Text_Generator1.jpg

 

written by Kevin Lindsey   after download the source code for Github, I try to implement the top module for VGA Text when I use Xilinx 14.5 when I open the vga_text.xise I got this message image.png

 

I choose Backup and Migrate   When I try to implement the top module I got this error

image.jpg

 

Why this error show to me also I want to ask some question about this source code because I want to understand the fundamentals of how it’s work Q1/ I  understand this file like font library for the character used to show on display  font_unit - font_rom - arch (font_rom.vhd) as example     

		-- code x32		"00000000", -- 0		"00000000", -- 1		"01111100", -- 2  *****		"11000110", -- 3 **   **		"00000110", -- 4      **		"00001100", -- 5     **		"00011000", -- 6    **		"00110000", -- 7   **		"01100000", -- 8  **		"11000000", -- 9 **		"11000110", -- a **   **		"11111110", -- b *******		"00000000", -- c		"00000000", -- d		"00000000", -- e		"00000000", -- f

  This code used to print 2 on screen but how to call it I mean the way to print number 2 by call “code x32” or what ? Can someone explain to me how to print hello world by using this code on screen and how to change its location or color

Share this post


Link to post
Share on other sites

Regarding the error message: I can't read it in your post, it just shows up as "?" for some reason.

 

Regarding how to "call" it:  The "Code x32" means "character code 0x32".  That is, when the value 50 (0x32) is found in the video_ram, the corresponding font data (what you quoted above) is displayed on the screen.  So the question for you is how to get the codes for "hello world" into the video_ram.

 

It looks like emitCharCodes.pl is part of that process.  I think it's used to generate a new video_ram.coe file, and then you build the whole thing using ISE.

Share this post


Link to post
Share on other sites

what about this error message

NgdBuild:604 - logical block 'font_gen_unit/frame_buffer_unit' with type 'video_ram' could not be resolved. A pin name misspelling can cause this, a missing edif or ngc file, case mismatch between the block name and the edif or ngc file name, or the misspelling of a type name. Symbol 'video_ram' is not supported in target 'spartan6'.

Share this post


Link to post
Share on other sites

Yeah, I can see that.  I don't know exactly what's causing the error but my guess is:  That 'video_ram' was meant for the Spartan-3 FPGA found in the Papilio One board, and not the Spartan-6 FPGA you're building it for.

 

A lot of Verilog or VHDL code is portable, but some things which use vendor primitives might not be.  And it looks like video_ram is one of those; see "https://github.com/thelonious/vga_generator/blob/master/vga_text/ipcore_dir/video_ram.v".

 

I see two options for fixing it:  (a) Use Xilinx's core generator to make one that will be suitable for Spartan-6; or (B) write one which can be inferred and therefore will be more portable.  I would usually choose (B) but I'm afraid neither (a) nor (B) is really easy.  (a) is explained in chapter 15 of the eBook linked here: 

http://forum.gadgetfactory.net/index.php?/page/articles.html/_/papilio/logicstart-megawing/intro-to-spartan-fpga-ebook-r34

Share this post


Link to post
Share on other sites

Thanks for explain , Now I see this much complicated than what I expect,

 

I have  Intro to Spartan FPGA eBook about FPGA, I print it on A4 paper  :lol:  and read 3 or 4 paper in home or work when I have time but till now I didn't done 15% of the book so I thing I'm still newbile to understand your answer, it's really different when someone move from MCU to FPGA but I'll continue try.

 

Thanks for helping Jaxartes.

Share this post


Link to post
Share on other sites

Hello Haider,

 

There are much easier solutions for writing text to VGA output on the Papilio using DesignLab. Please take a look at the VGA examples in the table of contents in DesignLab.

 

Also, here is some more information, it predates DesignLab but is still applicable.

http://papilio.cc/index.php?n=Papilio.VGAWingIntroduction

 

Jack.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now