Go Down

Topic: [WORKFLOW RELEASE] Vidor sample projects are opensource! (Read 6579 times) previous topic - next topic

mbyington

Figured it out, thanks.

Had to open the projects/MKRVIDOR4000_peripherals_lite_sys project, open Settings, Files and click Add All (then remove non Lite version qsys file).

Re-ran build_all.sh and Arduino project now compiles successfully!

SergeiB

Hi,

what about video performance? As I read Cyclone 10 LP is pretty slow device. Spec sheet says 640 Mbps in LVDS mode while MIPI is up to 1Gbps pre lane.

Are HDMI max resolution and fps known?

Best regards, Sergei

Limba

Sorry for linking Xilinx appnote
https://www.xilinx.com/support/documentation/application_notes/xapp495_S6TMDS_Video_Interface.pdf

There you can find different display resolution vs needed bandwith in TMDS.

With 650 Mbps you can have XGA (1024x768@60fps 24b)

SergeiB


VStrakh

Hi.

Apparently, the port of Adafruit GFX for VidorBistream needs some adjustments.
The code for filling the primitives will mostly use writeVLine() function, while  SDRAM would much prefer the horizontal lines.

Limba

Hi.

Apparently, the port of Adafruit GFX for VidorBistream needs some adjustments.
The code for filling the primitives will mostly use writeVLine() function, while  SDRAM would much prefer the horizontal lines.
Also that's pretty slow if you have lite version NIOS II e. Recommend to use HW acceleration for H lines and BMP copy

VStrakh

What's the rules on using 'update_fw.sh' script?

I always get error from 'quartus_cdb' and 'quartus_asm', telling that I should run 'quartus_map' first with the top-level entity. Is it about the paths to database?
When I explicitly enter the /build subdir in the project, those steps are performed ok when done manually.
But then the entire 'update_fw.sh' won't run from within /build subdir.
Adding 'build/' path in front of $PROJECT_NAME in 'update_fw.sh' seemingly achieves the desired effect.

Limba

I think you have to call build_all.sh in project folder. you have to add scripts folder to path env variable.

VStrakh

I think you have to call build_all.sh in project folder. you have to add scripts folder to path env variable.
Well, the whole idea of 'update_fw.sh' is to update the data to be put in on-chip ram, without recompiling the entire fpga project.
Maybe it's not used by the devs at all, or wasn't adapted to the flow/environment that was published on github...

Limba


VStrakh

Yes, of course. There would be nothing to update if 'build_all.sh' run wasn't successfully completed at least once :)

arduardu999

Hello I am arduino/VHDL user, and I wanted more powerful camera for my project with parallel data connection, it can be used as bridge between my fpga and camera with standard 1080p, 480p in highspeed .

for this purpose i need to connect ov4689 camerachip with MIPI interface, is it possible to use this and how about source code in vhdl ? source code in vhdl which is MIPI to parallel data and HDMI output (to check whther it works or not )

can you provide all source codes free ?

Limba

Were you planning to use mipi_rx_st ip in another device than vidor?
Maybe study that that ip how mipi receiver is done and create your own ip. IP is done with System Verilog.

If you have C/C++/C# experience then System Verilog syntax is not that hard.

MIPI_RX_ST
Input: MIPI RX and MIPI CLK.
Ouput: Avalon steam master

Edit:
It also seems to do Bayer to RGB filtering. There's more info in wikipedia and it's commented in code.

Kergadon

Not sure if this is the place to do it but I can't seem to build the MKRVIDOR4000_template_mbox project

First of all the output looks completely different from when I try to compile MKRVIDOR4000_template_bare (which seems to work)

As far as I can figure out the issue seems to be this bit

2019.06.12.11:59:41 Info: Adding qspi [arduino_generic_quad_spi_controller2 18.1]
2019.06.12.11:59:41 Warning: qspi: Component type <b>arduino_generic_quad_spi_controller2</b> is not in the library


I also included the whole output in the case that is needed.

Code: [Select]

$ I:/Downloads/VidorBitstream/TOOLS/scripts/build_all.sh
2019.06.12.12:10:48 Info: Saving generation log to I:/Downloads/VidorBitstream/projects/MKRVIDOR4000_template_mbox/build/MKRVIDOR4000_template_mbox_lite_sys/MKRVIDOR4000_template_mbox_lite_sys_generation.rpt
2019.06.12.12:10:48 Info: Starting: <b>Create HDL design files for synthesis</b>
2019.06.12.12:10:48 Info: qsys-generate I:\Downloads\VidorBitstream\projects\MKRVIDOR4000_template_mbox\build\MKRVIDOR4000_template_mbox_lite_sys.qsys --synthesis=VERILOG --output-directory=I:\Downloads\VidorBitstream\projects\MKRVIDOR4000_template_mbox\build\MKRVIDOR4000_template_mbox_lite_sys\synthesis --family="Cyclone 10 LP" --part=10CL016YU256C8G
2019.06.12.12:10:48 Info: Loading build/MKRVIDOR4000_template_mbox_lite_sys.qsys
2019.06.12.12:10:48 Info: Reading input file
2019.06.12.12:10:48 Info: Adding JTAG_BRIDGE_0 [JTAG_BRIDGE 1.0]
2019.06.12.12:10:48 Info: Parameterizing module JTAG_BRIDGE_0
2019.06.12.12:10:48 Info: Adding clk [clock_source 18.1]
2019.06.12.12:10:48 Info: Parameterizing module clk
2019.06.12.12:10:48 Info: Adding flash_clk [clock_source 18.1]
2019.06.12.12:10:48 Info: Parameterizing module flash_clk
2019.06.12.12:10:48 Info: Adding flash_spi [tiny_spi 1.0]
2019.06.12.12:10:48 Info: Parameterizing module flash_spi
2019.06.12.12:10:48 Info: Adding mb [MAILBOX 1.0]
2019.06.12.12:10:48 Info: Parameterizing module mb
2019.06.12.12:10:48 Info: Adding nina_spi [tiny_spi 1.0]
2019.06.12.12:10:48 Info: Parameterizing module nina_spi
2019.06.12.12:10:48 Info: Adding nios2_gen2_0 [altera_nios2_gen2 18.1]
2019.06.12.12:10:48 Info: Parameterizing module nios2_gen2_0
2019.06.12.12:10:48 Info: Adding onchip_memory2_0 [altera_avalon_onchip_memory2 18.1]
2019.06.12.12:10:48 Info: Parameterizing module onchip_memory2_0
2019.06.12.12:10:48 Info: Adding pex_pio [PIO 1.0]
2019.06.12.12:10:48 Info: Parameterizing module pex_pio
2019.06.12.12:10:48 Info: Adding qspi [arduino_generic_quad_spi_controller2 18.1]
2019.06.12.12:10:48 Warning: qspi: Component type <b>arduino_generic_quad_spi_controller2</b> is not in the library
2019.06.12.12:10:48 Info: Parameterizing module qspi
2019.06.12.12:10:48 Info: Adding sam_pio [PIO 1.0]
2019.06.12.12:10:48 Info: Parameterizing module sam_pio
2019.06.12.12:10:48 Info: Adding sam_pwm [PWM 1.0]
2019.06.12.12:10:48 Info: Parameterizing module sam_pwm
2019.06.12.12:10:48 Info: Adding sdram [altera_avalon_new_sdram_controller 18.1]
2019.06.12.12:10:48 Info: Parameterizing module sdram
2019.06.12.12:10:48 Info: Adding sysid_qsys_0 [altera_avalon_sysid_qsys 18.1]
2019.06.12.12:10:48 Info: Parameterizing module sysid_qsys_0
2019.06.12.12:10:48 Info: Adding timer_0 [altera_avalon_timer 18.1]
2019.06.12.12:10:48 Info: Parameterizing module timer_0
2019.06.12.12:10:48 Info: Adding wm_pio [PIO 1.0]
2019.06.12.12:10:48 Info: Parameterizing module wm_pio
2019.06.12.12:10:48 Info: Building connections
2019.06.12.12:10:48 Info: Parameterizing connections
2019.06.12.12:10:48 Info: Validating
2019.06.12.12:10:49 Info: Done reading input file
2019.06.12.12:10:51 Error: MKRVIDOR4000_template_mbox_lite_sys.qspi: Component <b>arduino_generic_quad_spi_controller2 18.1</b> not found or could not be instantiated
2019.06.12.12:10:51 Info: MKRVIDOR4000_template_mbox_lite_sys.sdram: SDRAM Controller will only be supported in Quartus Prime Standard Edition in the future release.
2019.06.12.12:10:51 Info: MKRVIDOR4000_template_mbox_lite_sys.sysid_qsys_0: System ID is not assigned automatically. Edit the System ID parameter to provide a unique ID
2019.06.12.12:10:51 Info: MKRVIDOR4000_template_mbox_lite_sys.sysid_qsys_0: Time stamp will be automatically updated when this component is generated.
2019.06.12.12:10:51 Warning: MKRVIDOR4000_template_mbox_lite_sys.JTAG_BRIDGE_0: Interrupt sender <b>JTAG_BRIDGE_0.irq</b> is not connected to an interrupt receiver
2019.06.12.12:10:51 Warning: MKRVIDOR4000_template_mbox_lite_sys.flash_spi: Interrupt sender <b>flash_spi.irq</b> is not connected to an interrupt receiver
2019.06.12.12:10:51 Warning: MKRVIDOR4000_template_mbox_lite_sys.nina_spi: Interrupt sender <b>nina_spi.irq</b> is not connected to an interrupt receiver
2019.06.12.12:10:51 Warning: MKRVIDOR4000_template_mbox_lite_sys.JTAG_BRIDGE_0: <b>JTAG_BRIDGE_0.event</b> must be connected to an Avalon-MM master
2019.06.12.12:10:51 Error: MKRVIDOR4000_template_mbox_lite_sys.qspi.avl_mem: Data width must be of power of two and between 8 and 4096
2019.06.12.12:10:51 Info: MKRVIDOR4000_template_mbox_lite_sys: Generating <b>MKRVIDOR4000_template_mbox_lite_sys</b> "<b>MKRVIDOR4000_template_mbox_lite_sys</b>" for QUARTUS_SYNTH
2019.06.12.12:10:53 Info: Interconnect is inserted between master JTAG_BRIDGE_0.avalon_master and slave mb.mst because the master has address signal 32 bit wide, but the slave is 9 bit wide.
2019.06.12.12:10:53 Info: Interconnect is inserted between master JTAG_BRIDGE_0.avalon_master and slave mb.mst because the master has waitrequest signal 1 bit wide, but the slave is 0 bit wide.
2019.06.12.12:10:53 Info: Interconnect is inserted between master JTAG_BRIDGE_0.avalon_master and slave mb.mst because the master has readdatavalid signal 1 bit wide, but the slave is 0 bit wide.
2019.06.12.12:10:55 Error: null


Thanks in advanced for any help or advice.

VStrakh

2019.06.12.11:59:41 Info: Adding qspi [arduino_generic_quad_spi_controller2 18.1]
2019.06.12.11:59:41 Warning: qspi: Component type <b>arduino_generic_quad_spi_controller2</b> is not in the library
Did you apply patches to Quartus? You need to do it once.

Run the NIOS II Command shell, move to the TOOLS/scripts directory of the VidorBistream repository, and launch the 'apply_quartus_patches.sh'

Go Up