{"id":28636,"date":"2021-10-19T14:23:01","date_gmt":"2021-10-19T21:23:01","guid":{"rendered":"https:\/\/www.digilent.com\/blog\/?p=28636"},"modified":"2021-10-19T14:23:01","modified_gmt":"2021-10-19T21:23:01","slug":"six-ways-vaxel-zero-benefits-fpga-engineers","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/six-ways-vaxel-zero-benefits-fpga-engineers\/","title":{"rendered":"Six Ways VAXEL ZERO Benefits FPGA Engineers"},"content":{"rendered":"<p>You may have heard about VAXEL ZERO, the FPGA configuration\/operation automation solution that runs on Windows PCs.<a href=\"https:\/\/vaxelinc.com\/\"> VAXEL ZERO<\/a> was developed by a group of seasoned RTL design verification engineers who wanted to take advantage of FPGA to speed up the simulation and test processes but did not want to be bothered by those cumbersome configurations and operations tasks FPGA usually entails.<\/p>\n<p>The single biggest value of VAXEL ZERO is its productivity optimization. It allows you to minimize the time you spend setting up, configuring, and operating our Zynq boards like the <a href=\"https:\/\/digilent.com\/shop\/zybo-z7-zynq-7000-arm-fpga-soc-development-board\/?utm_source=digilent+blog&amp;utm_medium=referral&amp;utm_campaign=partner&amp;utm_content=benefits+of+vaxel\">Zybo Z7<\/a> and <a href=\"https:\/\/digilent.com\/shop\/eclypse-z7-zynq-7000-soc-development-board-with-syzygy-compatible-expansion\/?utm_source=digilent+blog&amp;utm_medium=referral&amp;utm_campaign=partner&amp;utm_content=benefits+of+vaxel\">Eclypse Z7<\/a>. Thus, it maximizes the time you can devote to the actual design verification and testing of your logic.<\/p>\n<p>Below are the six main features of VAXEL ZERO.<\/p>\n<ol>\n<li><strong>Effortless setup of Zynq board with VAXEL ZERO (Windows PC):<\/strong> After <a style=\"font-size: 1rem; background-color: white;\" href=\"https:\/\/vaxelinc.com\/downloads\/\">downloading and installing the VAXEL ZERO package<\/a><span style=\"font-size: 1rem;\"> on your Windows PC, setting up VAXEL ZERO on your Zynq board takes zero effort. Everything is visible on the Setup screen as soon as you connect the Zynq board to your Windows PC with a standard USB cable and switch on the Zynq board.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-28644\" src=\"https:\/\/www.digilent.com\/blog\/wp-content\/uploads\/2021\/10\/vaxel-1.jpg\" alt=\"\" width=\"633\" height=\"396\" data-wp-pid=\"28644\" \/><\/span><\/li>\n<p><\/p>\n<li><strong>Easy preparation and configuration of Zynq processors such as clocks and buses:<\/strong> <span style=\"font-size: 1rem;\">While all engineers desire to focus on verification and testing of their RTL designs, using FPGA usually means they must allocate a frustrating amount of time to preparing and configuring the processors on board FPGA, such as the clocks and buses. As shown below, VAXEL ZERO provides a tool that allows you to be done with the Zynq processor configuration just by filling out a few parameters with GUI.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-28645\" src=\"https:\/\/www.digilent.com\/blog\/wp-content\/uploads\/2021\/10\/vaxel-2.jpg\" alt=\"\" width=\"581\" height=\"364\" data-wp-pid=\"28645\" \/><\/span><\/li>\n<p><\/p>\n<li><strong>Easy generation of PS and sending the bitstream to Programmable Logic:<\/strong> <span style=\"font-size: 1rem;\">Once the Zynq processor configuration has been completed, you are ready to generate the Zynq processor system (PS) portion with the VAXEL ZERO UI. When the PS portion is ready, you can package it with your bitstream for the programmable logic (PL) and transmit it to the Zynq board as shown in the screenshot below.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-28646\" src=\"https:\/\/www.digilent.com\/blog\/wp-content\/uploads\/2021\/10\/vaxel-3.jpg\" alt=\"\" width=\"583\" height=\"364\" data-wp-pid=\"28646\" \/><\/span><\/li>\n<p><\/p>\n<li><strong>Your logic control program and application program (C code) will be automatically uploaded to one of the ARM processors:<\/strong> Besides uploading the C application program onto one of the ARM processors on the Zynq board, VAXEL ZERO comes with a nice GUI that allows you to operate the application from a Windows PC but just sending the parameters.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-28647\" src=\"https:\/\/www.digilent.com\/blog\/wp-content\/uploads\/2021\/10\/vaxel-4.jpg\" alt=\"\" width=\"584\" height=\"363\" data-wp-pid=\"28647\" \/><\/li>\n<p><\/p>\n<li><strong>VCLI gives you a command line capability for managing resources internal to FPGA. Initial debugging is extremely productive:<\/strong> VCLI is a proprietary command line interface. It comes with a set of easy and intuitive commands for managing the FPGA resources.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-28648\" src=\"https:\/\/www.digilent.com\/blog\/wp-content\/uploads\/2021\/10\/vaxel-5.jpg\" alt=\"\" width=\"583\" height=\"364\" data-wp-pid=\"28648\" \/><\/li>\n<p><\/p>\n<li><strong>VAXEL ZERO&#8217;s existing Python library allows you to build and run some complex test scenarios that are written in Python:<\/strong> Today, Python is one of the most widely used programming languages globally. We decided to equip VAXEL ZERO with a Python library that allows any Python programs to be executed on FPGA from a Windows PC.<\/li>\n<p>\n<\/ol>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212; Sample code in Python &#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>def test_one( test ):<\/p>\n<p>print( &#8216;&#8212;- Test #{0} &#8212;-&#8216;.format( test[0] ) )<\/p>\n<p># Clear resources<\/p>\n<p>clear()<\/p>\n<p># Get PL base address<\/p>\n<p>pladdr = vxl.get_pladdr()<\/p>\n<p># Transfer test data<\/p>\n<p>write_file_to_uid( UID_INPUT_IMG, test[3], 0 )<\/p>\n<p>if len( test[4] ) &gt; 0 :<\/p>\n<p>write_file_to_uid( UID_LUT_R, test[4], pladdr+REG_IMGFLT_LUT_R )<\/p>\n<p>if len( test[5] ) &gt; 0 :<\/p>\n<p>write_file_to_uid( UID_LUT_G, test[5], pladdr+REG_IMGFLT_LUT_G )<\/p>\n<p>if len( test[6] ) &gt; 0 :<\/p>\n<p>write_file_to_uid( UID_LUT_B, test[6], pladdr+REG_IMGFLT_LUT_B )<\/p>\n<p># Run application<\/p>\n<p>print( &#8216;Run application&#8217; )<\/p>\n<p>vxl.run_app( test[1], test[2], 0 )<\/p>\n<p># Send trigger to finish application<\/p>\n<p>vxl.set_trig( TRIG_EXIT_APP, 1 ) # set trigger in advance<\/p>\n<p># Wait for finish signal<\/p>\n<p>while( vxl.stat_app()[0] &amp; vxl.VXL_STAT_EXIT ) == 0 :<\/p>\n<p>pass<\/p>\n<p>print( &#8216;Finish application&#8217; )<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/vaxelinc.com\/free-with-digilent\/\"><strong><em>Click here for a FREE 12-week trial (regular price $499\/year) through VAXEL&#8217;s site<\/em><\/strong><\/a><\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-28636 jlk' data-task='like' data-post_id='28636' data-nonce='8896bc70a6' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-28636 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-28636 jlk' data-task='unlike' data-post_id='28636' data-nonce='8896bc70a6' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-28636 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-28636 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>You may have heard about VAXEL ZERO, the FPGA configuration\/operation automation solution that runs on Windows PCs. VAXEL ZERO was developed by a group of seasoned RTL design verification engineers &hellip; <\/p>\n","protected":false},"author":50,"featured_media":28530,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4325,35],"tags":[],"ppma_author":[4502],"class_list":["post-28636","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-debug-validation-test","category-fpga"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2021\/07\/Screenshot-2021-07-28-151301.png","jetpack_sharing_enabled":true,"authors":[{"term_id":4502,"user_id":50,"is_guest":0,"slug":"davidh","display_name":"David Horn","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/917c337136844f075c76fcf4a0c3b94aa8c225366009ebf63c08fcb9ce6d0e52?s=96&d=mm&r=g","1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":"","10":""}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/28636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=28636"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/28636\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/28530"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=28636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=28636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=28636"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=28636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}