FPGARelated.com
Forums

hamsterworks + lauriVosandi + X = Error

Started by Unknown January 5, 2016
Hello i am new in vhdl, but try it,
I want to make pipe between OV7670 and monitor, best thing is to use code of Hamsterwork's with Lauri's edition
http://hamsterworks.co.nz/mediawiki/index.php/Zedboard_OV7670 and 
http://lauri.v�sandi.com/hdl/zynq/zybo-ov7670-to-vga.html and want to adopt it to ML402 for Virtex-4 XC4VSX35, it requires 8 bit for each color in RGB,and bram address can be only 18bit wide, i made edition but cannot get any picture, link to this video on youtube 
https://youtu.be/Tr-9UzEL-D8
code i modified, top_level, capture, vga, memory, clocking

http://download.files.namba.kg/files/147527022 pass :'123'

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

On 1/5/2016 6:44 AM, abirov@gmail.com wrote:
> Hello i am new in vhdl, but try it, > I want to make pipe between OV7670 and monitor, best thing is to use code of Hamsterwork's with Lauri's edition > http://hamsterworks.co.nz/mediawiki/index.php/Zedboard_OV7670 and > http://lauri.v�sandi.com/hdl/zynq/zybo-ov7670-to-vga.html and want to adopt it to ML402 for Virtex-4 XC4VSX35, it requires 8 bit for each color in RGB,and bram address can be only 18bit wide, i made edition but cannot get any picture, link to this video on youtube > https://youtu.be/Tr-9UzEL-D8 > code i modified, top_level, capture, vga, memory, clocking > > http://download.files.namba.kg/files/147527022 pass :'123' > > could someone help to check for video and code , what problem with which signal ?
Have you tried running this in a simulator? Did you create timing constraints and use the timing analysis tool? -- Rick
> Have you tried running this in a simulator? Did you create timing > constraints and use the timing analysis tool?
I do not know how to do it, I will route it and use oscilloscope
On 1/6/2016 1:35 AM, abirov@gmail.com wrote:
>> Have you tried running this in a simulator? Did you create timing >> constraints and use the timing analysis tool? > > I do not know how to do it, I will route it and use oscilloscope
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
On 06/01/16 06:35, abirov@gmail.com wrote:
>> Have you tried running this in a simulator? Did you create timing >> constraints and use the timing analysis tool? > > I do not know how to do it, I will route it and use oscilloscope
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.
 -------------------------------------------------------------------------------- 
 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> |   -0.277(R)|    0.670(R)|OV7670_PCLK_BUFGP |   0.000| 
 OV7670_D<1> |   -0.375(R)|    0.760(R)|OV7670_PCLK_BUFGP |   0.000| 
 OV7670_D<2> |   -0.277(R)|    0.670(R)|OV7670_PCLK_BUFGP |   0.000| 
 OV7670_D<3> |   -0.375(R)|    0.760(R)|OV7670_PCLK_BUFGP |   0.000| 
 OV7670_D<4> |   -0.375(R)|    0.760(R)|OV7670_PCLK_BUFGP |   0.000| 
 OV7670_D<5> |   -0.375(R)|    0.760(R)|OV7670_PCLK_BUFGP |   0.000| 
 OV7670_D<6> |   -0.375(R)|    0.760(R)|OV7670_PCLK_BUFGP |   0.000| 
 OV7670_D<7> |   -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<0> |    2.066(R)|clk25             |   0.000| 
 vga_blue<1> |    2.066(R)|clk25             |   0.000| 
 vga_blue<2> |    2.066(R)|clk25             |   0.000| 
 vga_blue<3> |    2.066(R)|clk25             |   0.000| 
 vga_blue<4> |    2.066(R)|clk25             |   0.000| 
 vga_blue<5> |    2.066(R)|clk25             |   0.000| 
 vga_blue<6> |    2.066(R)|clk25             |   0.000| 
 vga_blue<7> |    2.066(R)|clk25             |   0.000| 
 vga_green<0>|    2.066(R)|clk25             |   0.000| 
 vga_green<1>|    2.066(R)|clk25             |   0.000| 
 vga_green<2>|    2.066(R)|clk25             |   0.000| 
 vga_green<3>|    2.066(R)|clk25             |   0.000| 
 vga_green<4>|    2.066(R)|clk25             |   0.000| 
 vga_green<5>|    2.066(R)|clk25             |   0.000| 
 vga_green<6>|    2.066(R)|clk25             |   0.000| 
 vga_green<7>|    2.066(R)|clk25             |   0.000| 
 vga_hsync   |    2.066(R)|clk25             |   0.000| 
 vga_red<0>  |    2.066(R)|clk25             |   0.000| 
 vga_red<1>  |    2.066(R)|clk25             |   0.000| 
 vga_red<2>  |    2.066(R)|clk25             |   0.000| 
 vga_red<3>  |    2.066(R)|clk25             |   0.000| 
 vga_red<4>  |    2.066(R)|clk25             |   0.000| 
 vga_red<5>  |    2.066(R)|clk25             |   0.000| 
 vga_red<6>  |    2.066(R)|clk25             |   0.000| 
 vga_red<7>  |    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 
On Wednesday, January 6, 2016 at 4:09:15 PM UTC+6, Tom Gardner wrote:
> On 06/01/16 06:35, abirov@gmail.com wrote: > >> Have you tried running this in a simulator? Did you create timing > >> constraints and use the timing analysis tool? > > > > I do not know how to do it, I will route it and use oscilloscope > > 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.
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> | -0.277(R)| 0.670(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D<1> | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D<2> | -0.277(R)| 0.670(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D<3> | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D<4> | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D<5> | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D<6> | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| OV7670_D<7> | -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<0> | 2.066(R)|clk25 | 0.000| vga_blue<1> | 2.066(R)|clk25 | 0.000| vga_blue<2> | 2.066(R)|clk25 | 0.000| vga_blue<3> | 2.066(R)|clk25 | 0.000| vga_blue<4> | 2.066(R)|clk25 | 0.000| vga_blue<5> | 2.066(R)|clk25 | 0.000| vga_blue<6> | 2.066(R)|clk25 | 0.000| vga_blue<7> | 2.066(R)|clk25 | 0.000| vga_green<0>| 2.066(R)|clk25 | 0.000| vga_green<1>| 2.066(R)|clk25 | 0.000| vga_green<2>| 2.066(R)|clk25 | 0.000| vga_green<3>| 2.066(R)|clk25 | 0.000| vga_green<4>| 2.066(R)|clk25 | 0.000| vga_green<5>| 2.066(R)|clk25 | 0.000| vga_green<6>| 2.066(R)|clk25 | 0.000| vga_green<7>| 2.066(R)|clk25 | 0.000| vga_hsync | 2.066(R)|clk25 | 0.000| vga_red<0> | 2.066(R)|clk25 | 0.000| vga_red<1> | 2.066(R)|clk25 | 0.000| vga_red<2> | 2.066(R)|clk25 | 0.000| vga_red<3> | 2.066(R)|clk25 | 0.000| vga_red<4> | 2.066(R)|clk25 | 0.000| vga_red<5> | 2.066(R)|clk25 | 0.000| vga_red<6> | 2.066(R)|clk25 | 0.000| vga_red<7> | 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???
On Fri, 08 Jan 2016 19:50:49 -0800, abirov wrote:

> On Wednesday, January 6, 2016 at 4:09:15 PM UTC+6, Tom Gardner wrote: >> On 06/01/16 06:35, abirov@gmail.com wrote: >> >> Have you tried running this in a simulator? Did you create timing >> >> constraints and use the timing analysis tool? >> > >> > I do not know how to do it, I will route it and use oscilloscope >> >> 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. > > Could someone help to me ??????????? Guys???
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
On 1/8/2016 10:50 PM, abirov@gmail.com wrote:
> On Wednesday, January 6, 2016 at 4:09:15 PM UTC+6, Tom Gardner wrote: >> On 06/01/16 06:35, abirov@gmail.com wrote: >>>> Have you tried running this in a simulator? Did you create timing >>>> constraints and use the timing analysis tool? >>> >>> I do not know how to do it, I will route it and use oscilloscope >> >> 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. > > 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> | -0.277(R)| 0.670(R)|OV7670_PCLK_BUFGP | 0.000| > OV7670_D<1> | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| > OV7670_D<2> | -0.277(R)| 0.670(R)|OV7670_PCLK_BUFGP | 0.000| > OV7670_D<3> | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| > OV7670_D<4> | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| > OV7670_D<5> | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| > OV7670_D<6> | -0.375(R)| 0.760(R)|OV7670_PCLK_BUFGP | 0.000| > OV7670_D<7> | -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<0> | 2.066(R)|clk25 | 0.000| > vga_blue<1> | 2.066(R)|clk25 | 0.000| > vga_blue<2> | 2.066(R)|clk25 | 0.000| > vga_blue<3> | 2.066(R)|clk25 | 0.000| > vga_blue<4> | 2.066(R)|clk25 | 0.000| > vga_blue<5> | 2.066(R)|clk25 | 0.000| > vga_blue<6> | 2.066(R)|clk25 | 0.000| > vga_blue<7> | 2.066(R)|clk25 | 0.000| > vga_green<0>| 2.066(R)|clk25 | 0.000| > vga_green<1>| 2.066(R)|clk25 | 0.000| > vga_green<2>| 2.066(R)|clk25 | 0.000| > vga_green<3>| 2.066(R)|clk25 | 0.000| > vga_green<4>| 2.066(R)|clk25 | 0.000| > vga_green<5>| 2.066(R)|clk25 | 0.000| > vga_green<6>| 2.066(R)|clk25 | 0.000| > vga_green<7>| 2.066(R)|clk25 | 0.000| > vga_hsync | 2.066(R)|clk25 | 0.000| > vga_red<0> | 2.066(R)|clk25 | 0.000| > vga_red<1> | 2.066(R)|clk25 | 0.000| > vga_red<2> | 2.066(R)|clk25 | 0.000| > vga_red<3> | 2.066(R)|clk25 | 0.000| > vga_red<4> | 2.066(R)|clk25 | 0.000| > vga_red<5> | 2.066(R)|clk25 | 0.000| > vga_red<6> | 2.066(R)|clk25 | 0.000| > vga_red<7> | 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???
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
Solved, problem was in ov7670, camera board was broken or smth else, when i change it, it starts to work.