UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer ballaw
Observer
8,647 Views
Registered: ‎02-19-2012

Question about project - composite video and VGA

Hello. I am trying to run this guy's project on my Spartan 3E and I have a few questions, mostly because I'm a nooboob.

 

Here is the project: http://retromaster.wordpress.com/a2601/#

 

First of all, in his top level design (A2601NoFlash.vhd) the audio and video outs have multiple pins. Why? Doesn't composite video and audio just use one pin? I'm not sure how to do a pin out.

 

Second, my FPGA only has VGA video capabilities. Is there some way I can convert vga to composite video. If so, how?

 

Lastly, and kind of unrelated I feel like there is so much stuff I need to learn but everywhere I look the only resources for FPGA stuff have to do with VHDL or Verilog. I just want books or resources that will give me thourough grounding in electrical, digital. and timing principles that everything seems to rely on. Any ideas for a poor noob like me?

 

I will appreciate any help offered. Thanks a bunch!

0 Kudos
15 Replies
Teacher eteam00
Teacher
8,644 Views
Registered: ‎07-21-2009

Re: Question about project - composite video and VGA

First of all, in his top level design (A2601NoFlash.vhd) the audio and video outs have multiple pins. Why? Doesn't composite video and audio just use one pin? I'm not sure how to do a pin out.

 

Read the linked design description page!

 

The video circuitry consists of an 8-bit R-2R resistor ladder DAC with a FMS6141 active SDTV video filter output stage. Similarly, the audio circuity is a 5-bit R-2R resistor ladder DAC plus a transistor buffer output stage.

 

Then check out board schematics for pinout information.

 

Second, my FPGA only has VGA video capabilities. Is there some way I can convert vga to composite video. If so, how?

 

VGA is a RGB component video interface with 3-5 signal connections.  Composite is a single-signal video interface with a different colour system and different encoding system.  Start with wikipedia articles, and proceed from there.

 

Lastly, and kind of unrelated I feel like there is so much stuff I need to learn but everywhere I look the only resources for FPGA stuff have to do with VHDL or Verilog. I just want books or resources that will give me thourough grounding in electrical, digital. and timing principles that everything seems to rely on. Any ideas for a poor noob like me?

 

Suggestions:

  • School
  • Work where you can learn on the job with help from experienced colleagues
  • Consider this your hobby, and learn in bits and pieces in your spare time.

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
Observer ballaw
Observer
8,640 Views
Registered: ‎02-19-2012

Re: Question about project - composite video and VGA

Thanks for the help. I have already done everything you said. I was hoping for something more specific.

 

I am in school and every class I have taken is unhelpful at best. I learn more from example, so I was hoping for links to examples.or articles. If I knew an experienced person I wouldn't be asking questions on internet forums.

0 Kudos
Observer ballaw
Observer
8,636 Views
Registered: ‎02-19-2012

Re: Question about project - composite video and VGA

Oh, and I assume telling me to read about it means that it is possible to convert from composite to VGA?
0 Kudos
Teacher eteam00
Teacher
8,629 Views
Registered: ‎07-21-2009

Re: Question about project - composite video and VGA

I have already done everything you said.

 

Then you understand the difference between VGA (RGB) and composite video?

From what you have read, what are the steps for converting RGB to encoded composite video?

Are you writing the code to implement this conversion?

 

Are you trying to port this design to an Atlys board?  If so, do you really want to mess around with composite video, when you can provide an HDMI output instead?  Converting VGA (RGB) to HDMI is much simpler than converting to composite video.  And this avoids the questions about R-2R DACs used for audio and video.

 

What courses are you taking (or have taken)?  Have you taken any courses in electronics?  Logic design?

 

I was hoping for something more specific.

 

OK.  Ask some specific questions, and we'll try to give you some specific answers.

 

If I knew an experienced person I wouldn't be asking questions on internet forums.

 

You would be amazed how many new users come to these forums hoping or expecting that this is their first option for learning electronics, logic hardware, logic theory and principles, and HDL -- to become an FPGA designer.

 

You said you are in school, but you haven't said why you aren't learning this stuff in school.  Are you taking the wrong courses, attending the wrong school, are your instructors not very helpful, or... ???

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
Observer ballaw
Observer
8,625 Views
Registered: ‎02-19-2012

Re: Question about project - composite video and VGA


@eteam00 wrote:

I have already done everything you said.

 

Then you understand the difference between VGA (RGB) and composite video?

From what you have read, what are the steps for converting RGB to encoded composite video?

Are you writing the code to implement this conversion?

 


What I mean is I have been doing reading and Wikipedia is great but at my level, more guidance is useful.

 


 

What courses are you taking (or have taken)?  Have you taken any courses in electronics?  Logic design?

 

I was hoping for something more specific.

 

OK.  Ask some specific questions, and we'll try to give you some specific answers.

 

If I knew an experienced person I wouldn't be asking questions on internet forums.

 

You said you are in school, but you haven't said why you aren't learning this stuff in school.  Are you taking the wrong courses, attending the wrong school, are your instructors not very helpful, or... ???


Specifically, are there resources for learning how to do video conversion that do not assume a lot of experience?
I have taken a circuits course and a digital design course that taught logic and how to put stuff on an FPGA, but it sugarcoated so much of it and only covered the simplest possible things. That's why I say it was unhelpful. The instructors are helpful but the material covered in class is simple and I don't know where to start when it comes to doing something real world like video conversion.
I also have been reading books on digital design and HDLs but they are usually a bunch of contrived examples that help make your software more elegant but don't cover useful things outside of the ideal world of a programming language.
0 Kudos
Historian
Historian
8,624 Views
Registered: ‎02-25-2008

Re: Question about project - composite video and VGA


@ballaw wrote:

Hello. I am trying to run this guy's project on my Spartan 3E and I have a few questions, mostly because I'm a nooboob.

 

Here is the project: http://retromaster.wordpress.com/a2601/#


 

 

A word of warning -- that guy's code is awful. Don't emulate his style. 

 

Bob's answers are, of course, excellent.

----------------------------Yes, I do this for a living.
0 Kudos
Historian
Historian
8,619 Views
Registered: ‎02-25-2008

Re: Question about project - composite video and VGA


@ballaw wrote:

 

Lastly, and kind of unrelated I feel like there is so much stuff I need to learn but everywhere I look the only resources for FPGA stuff have to do with VHDL or Verilog. I just want books or resources that will give me thourough grounding in electrical, digital. and timing principles that everything seems to rely on. Any ideas for a poor noob like me?



My first introduction to this stuff was in my undergraduate program, mostly through a junior-year course in computer architecture and various labs. The scary thing was that even though the school is a highly-regarded engineering university, none of the courses I took ever mentioned the three magic words, "Synchronous logic design."

 

So first things first. An HDL is an implementation tool, as is a schematic. This means that you need to learn the fundamentals of logic design -- this is the usual stuff, like logic minimization, registers, synchronous logic, etc. A recent undergraduate textbook may help here. See, the thing is that you really need to understand what you're trying to implement.

 

The "electrical" stuff, by which you likely mean the voltages that correspond to logic levels, edge rates, current-sourcing ability, termination, signal integrity, power consumption, all of that ... I was able to learn a lot of that stuff from TI and Motorola and National app notes and data books. See, back when Dinosaurs walked the earth, the chip makers published this big books which really were goldmines of information. That's probably the best place to start; a lot of that stuff is all online.

There's no free lunch; a lot of what I know comes from doing this stuff for 20-some-odd years, and working with more senior engineers who were mentors.

 

Good luck.

----------------------------Yes, I do this for a living.
Teacher eteam00
Teacher
8,618 Views
Registered: ‎07-21-2009

it's tough love time...

ballaw,

 

I have nothing against you, and I want to see you succeed...  but I get the impression that you are into this design "way over your head".

 

Without some basic knowledge of electronics (e.g. R-2R DAC), no experience with HDL, little if any experience in logic design, etc. etc you will very likely end up frustrated, discouraged, and mad in very short order.  This is too big a project for your "starter" design.

 

You have an Atlys board, and there's a great deal you can learn with this board if you are patient, and if you are willing to learn one or two things at a time.

 

The worst thing you can do is spend months toiling over this design, starting with code which bassman has already determined to be "toxic", and the odds of initial success are infinitessimally small.  Much of design engineering is learning how to debug designs, using (primarily) techniques and approaches which are developed through experience.  What will you do when you turn the thing on and it does nothing?

 

Here's another approach...  It isn't easy, but it isn't doomed to failure.

 

  • Start by learning simple things...  flip flops, gates, counters.  Gain some understanding (and confidence) in the basic building blocks.
  • Then try simple filters -- keyboard debouncers, for example.
  • Next, learn some interface protocols.  Async serial and SPI are simple and useful to learn on the Atlys board.
  • Learn to read schematics and component datasheets, as you access SPI memory and/or DRAM.

At each step you will gain new skills and confidence (in yourself) with using the design tools (ISE, VHDL/Verilog) and with the Atlys board.

 

Does this make sense?  I am not trying to annoy you, but it is better to have this conversation sooner rather than later.

 

UPDATE:  Everything bassman wrote -- I agree 100%.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
Observer ballaw
Observer
8,592 Views
Registered: ‎02-19-2012

Re: it's tough love time...

I really appreciate the advice and help. I will get to work on the things you have suggested. I have actually been trying for over a month to build up skill with basic projects, but the resources available for learning are scarce. All the documentation assumes I know what everything means and I can't seem to find tutorials online meant strictly for learning.

 

As for my project, isn't all I need to make it work a composite to VGA convertor since his code, however bad it may be, will work. Further down the road when I'm more experienced I will do it from scratch but for now it seems there is only the hurdle of video output.

0 Kudos
Teacher eteam00
Teacher
5,583 Views
Registered: ‎07-21-2009

Re: it's tough love time...

I have actually been trying for over a month to build up skill with basic projects, but the resources available for learning are scarce.

 

I think there are abundant resources available for learning basic projects.  Perhaps "basic project" means something different to you and me.  If you are working at this part-time, "over a month" isn't very long.  Even if you are studying FPGA design full-time, "over a month" is not very long.

 

All the documentation assumes I know what everything means and I can't seem to find tutorials online meant strictly for learning.

 

Technical learning is often incremental. If you want to learn video, learn video from the beginning (and not the middle). It's a very broad subject, and there is an abundance of information available.

 

As for my project, isn't all I need to make it work a composite to VGA convertor since his code, however bad it may be, will work. Further down the road when I'm more experienced I will do it from scratch but for now it seems there is only the hurdle of video output.

 

You have nothing to lose by trying, except time. Without understanding video or the underlying design, however, it will be difficult to troubleshoot a non-working or partially working design. You won't know if the problem is in the copied code or something you added, or both. An oscilloscope is a necessity for analogue video work.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
Observer ballaw
Observer
5,576 Views
Registered: ‎02-19-2012

Re: it's tough love time...

I think there are abundant resources available for learning basic projects.

 

Want to point me in the right direction?

0 Kudos
Teacher eteam00
Teacher
5,574 Views
Registered: ‎07-21-2009

Re: it's tough love time...

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
Observer ballaw
Observer
5,562 Views
Registered: ‎02-19-2012

Re: it's tough love time...

The first link was mean. Ask noob question get noob answers, I guess.

 

Thanks and cheers!

0 Kudos
Teacher eteam00
Teacher
5,557 Views
Registered: ‎07-21-2009

Re: it's tough love time...

The first link was mean. Ask noob question get noob answers, I guess.

 

How is that mean?

You are an aspiring FPGA designer, smart enough to be in school, and yet you ask others to search the web for you?  How desperate do you need to be to try a web search or three?

 

The first suggestions to search the forums and the web are in the New Users Forum README, and in the "signature" which is appended to every one of my posts, but you didn't take the hints.

 

In your career as a design engineer, you will suffer much worse -- and I say that based on personal experience.

The gracious response is:  Duhhh!  I know that!

 

Go forth, learn, and never stop searching!

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
5,525 Views
Registered: ‎04-09-2012

Re: it's tough love time...

Get a copy of the book the Art of Electronics and get the student manual and work through it .

Build the circuits, then write an explanation of how they work as if you are trying to teach someone.

Do the same with a few vhdl or verilog books.

Building circuits , debugging them , testing and analyzing them to work out how they work or why they aren't working as expected .
Start simple and build up in complexity applies to analog and digital and don't forget to comment ( not just your code).


0 Kudos