hamsterworks + lauriVosandi + X = Error

Hello i am new in vhdl, but try it, I want to make pipe between OV7670 and monitor, best thing is to use code o f Hamsterwork's with Lauri's edition

formatting link
and

pt it to ML402 for Virtex-4 XC4VSX35, it requires 8 bit for each color in R GB,and bram address can be only 18bit wide, i made edition but cannot get a ny picture, link to this video on youtube

formatting link
code i modified, top_level, capture, vga, memory, clocking

formatting link
pass :'123'

could someone help to check for video and code , what problem with which si gnal ?

Reply to
abirov
Loading thread data ...

Have you tried running this in a simulator? Did you create timing constraints and use the timing analysis tool?

--

Rick
Reply to
rickman

I do not know how to do it, I will route it and use oscilloscope

Reply to
abirov

You need to learn how to design FPGAs properly. A simulator is not hard to use. Most of the work is in writing a VHDL test bench to properly exercise your design.

The timing analysis tool lets you specify the timing required in your design such as clock cycle times, time from signal input to the clock and from the clock to signal outputs. Trying to do this with an oscilloscope is nearly impossible for any internal signals. The timing analysis tool lets you do this as part of your design process without loading the design onto your board.

--

Rick
Reply to
rickman

If you haven't tested the design before routing then there is no reason to believe your circuit does what you would like it to do.

If you haven't tested the design after place and route then there is no reason to believe you specified your system requirements correctly, nor that the tool satisfied the unstated requirements (naturally!), nor even that it was able to satisfy the stated requirements.

Reply to
Tom Gardner

-------------------------------------------------------------------------------- Release 14.7 Trace (nt64) Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. D:\xilinx_core\14.7\ISE_DS\ISE\bin\nt64\unwrapped\trce.exe -intstyle ise -v 3 -s 12 -n 3 -fastpaths -xml ov7670_top_preroute.twx ov7670_top_map.ncd -o ov7670_top_preroute.twr ov7670_top.pcf -ucf constraint.ucf Design file: ov7670_top_map.ncd Physical constraint file: ov7670_top.pcf Device,package,speed: xc4vsx35,ff668,-12 (PRODUCTION 1.71 2013-10-13, STEPPING level 1) Report level: verbose report Environment Variable Effect -------------------- ------ NONE No environment variables were set -------------------------------------------------------------------------------- INFO:Timing:2698 - No timing constraints found, doing default enumeration. INFO:Timing:3412 - To improve timing, see the Timing Closure User Guide (UG612). INFO:Timing:2752 - To get complete path coverage, use the unconstrained paths option. All paths that are not constrained will be reported in the unconstrained paths section(s) of the report. INFO:Timing:3284 - This timing report was generated using estimated delay information. For accurate numbers, please refer to the post Place and Route timing report. INFO:Timing:3339 - The clock-to-out numbers in this timing report are based on a 50 Ohm transmission line loading model. For the details of this model, and for more information on accounting for different loading conditions, please see the device datasheet. Data Sheet report: ----------------- All values displayed in nanoseconds (ns) Setup/Hold to clock OV7670_PCLK ------------+------------+------------+------------------+--------+ |Max Setup to|Max Hold to | | Clock | Source | clk (edge) | clk (edge) |Internal Clock(s) | Phase | ------------+------------+------------+------------------+--------+ OV7670_D | -0.277(R)| 0.670(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.277(R)| 0.670(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.277(R)| 0.670(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_HREF | -0.353(R)| 0.912(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_VSYNC| 0.259(R)| 0.852(R)|OV7670_PCLK_BUFGP | 0.000| ------------+------------+------------+------------------+--------+ Setup/Hold to clock clk100 ------------+------------+------------+------------------+--------+ |Max Setup to|Max Hold to | | Clock | Source | clk (edge) | clk (edge) |Internal Clock(s) | Phase | ------------+------------+------------+------------------+--------+ btn | 2.830(R)| -2.133(R)|clk50 | 0.000| ------------+------------+------------+------------------+--------+ Clock clk100 to Pad ------------+------------+------------------+--------+ | clk (edge) | | Clock | Destination | to PAD |Internal Clock(s) | Phase | ------------+------------+------------------+--------+ Nblank | 2.358(R)|clk25 | 0.000| OV7670_SIOC | 2.066(R)|clk50 | 0.000| OV7670_SIOD | 2.358(R)|clk50 | 0.000| OV7670_XCLK | 2.066(R)|clk50 | 0.000| led | 2.358(R)|clk50 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_hsync | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_vsync | 2.066(R)|clk25 | 0.000| ------------+------------+------------------+--------+ Clock to Setup on destination clock OV7670_PCLK ---------------+---------+---------+---------+---------+ | Src:Rise| Src:Fall| Src:Rise| Src:Fall| Source Clock |Dest:Rise|Dest:Rise|Dest:Fall|Dest:Fall| ---------------+---------+---------+---------+---------+ OV7670_PCLK | 1.543| | | | ---------------+---------+---------+---------+---------+ Clock to Setup on destination clock clk100 ---------------+---------+---------+---------+---------+ | Src:Rise| Src:Fall| Src:Rise| Src:Fall| Source Clock |Dest:Rise|Dest:Rise|Dest:Fall|Dest:Fall| ---------------+---------+---------+---------+---------+ clk100 | 3.571| | | | ---------------+---------+---------+---------+---------+ Pad to Pad ---------------+---------------+---------+ Source Pad |Destination Pad| Delay | ---------------+---------------+---------+ clk100 |clkout | 1.808| ---------------+---------------+---------+ Analysis completed Wed Jan 06 16:51:22 2016 -------------------------------------------------------------------------------- Trace Settings: ------------------------- Trace Settings Peak Memory Usage: 330 MB

Reply to
abirov

On Wednesday, January 6, 2016 at 4:09:15 PM UTC+6, Tom Gardner wrote:

All values displayed in nanoseconds (ns) Setup/Hold to clock OV7670_PCLK ------------+------------+------------+------------------+--------+ |Max Setup to|Max Hold to | | Clock | Source | clk (edge) | clk (edge) |Internal Clock(s) | Phase | ------------+------------+------------+------------------+--------+ OV7670_D | -0.277(R)| 0.670(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.277(R)| 0.670(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D | -0.277(R)| 0.670(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_HREF | -0.353(R)| 0.912(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_VSYNC| 0.259(R)| 0.852(R)|OV7670_PCLK_BUFGP | 0.000| ------------+------------+------------+------------------+--------+ Setup/Hold to clock clk100 ------------+------------+------------+------------------+--------+ |Max Setup to|Max Hold to | | Clock | Source | clk (edge) | clk (edge) |Internal Clock(s) | Phase | ------------+------------+------------+------------------+--------+ btn | 2.830(R)| -2.133(R)|clk50 | 0.000| ------------+------------+------------+------------------+--------+ Clock clk100 to Pad ------------+------------+------------------+--------+ | clk (edge) | | Clock | Destination | to PAD |Internal Clock(s) | Phase | ------------+------------+------------------+--------+ Nblank | 2.358(R)|clk25 | 0.000| OV7670_SIOC | 2.066(R)|clk50 | 0.000| OV7670_SIOD | 2.358(R)|clk50 | 0.000| OV7670_XCLK | 2.066(R)|clk50 | 0.000| led | 2.358(R)|clk50 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_blue | 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_green| 2.066(R)|clk25 | 0.000| vga_hsync | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_red | 2.066(R)|clk25 | 0.000| vga_vsync | 2.066(R)|clk25 | 0.000| ------------+------------+------------------+--------+ Clock to Setup on destination clock OV7670_PCLK ---------------+---------+---------+---------+---------+ | Src:Rise| Src:Fall| Src:Rise| Src:Fall| Source Clock |Dest:Rise|Dest:Rise|Dest:Fall|Dest:Fall| ---------------+---------+---------+---------+---------+ OV7670_PCLK | 1.543| | | | ---------------+---------+---------+---------+---------+ Clock to Setup on destination clock clk100 ---------------+---------+---------+---------+---------+ | Src:Rise| Src:Fall| Src:Rise| Src:Fall| Source Clock |Dest:Rise|Dest:Rise|Dest:Fall|Dest:Fall| ---------------+---------+---------+---------+---------+ clk100 | 3.571| | | | ---------------+---------+---------+---------+---------+ Pad to Pad ---------------+---------------+---------+ Source Pad |Destination Pad| Delay | ---------------+---------------+---------+ clk100 |clkout | 1.808| ---------------+---------------+---------+ Analysis completed Wed Jan 06 16:51:22 2016 -------------------------------------------------------------------------------- Trace Settings: ------------------------- Trace Settings Peak Memory Usage: 330 MB

Could someone help to me ??????????? Guys???

Reply to
abirov

You have already been given helpful advice. Simulate, get it working in simulation.

It's your choice to use or ignore that advice, that's not our problem.

-- Brian

Reply to
Brian Drummond

Others have explained that you will debug the logic of your design much more easily in a simulation than on the bench. Debugging in the chip is hard because you need to bring signals out to see what his happening. The simulator allows you to view any signal at any time. You can get waveform displays, or probe signals in a list showing the current value. You can even walk through the code with breakpoints if that is how you like to do it (I never use this but others do).

Then, once you have the logic working correctly you can deal with timing issues. To use the timing analysis you need to create timing constraints. These constraints consist of clock period (or frequency), input clock setup times and output delay times. If you don't understand what these timing constraints mean then you need to ask questions. Just posting part of a timing report and saying "help" isn't the way to get useful help.

Here is a pointer. In your previous post the tool gives you one very important error message....

INFO:Timing:2698 - No timing constraints found, doing default enumeration.

--

Rick
Reply to
rickman

Solved, problem was in ov7670, camera board was broken or smth else, when i change it, it starts to work.

Reply to
abirov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.