{"id":17596,"date":"2020-01-12T16:37:55","date_gmt":"2020-01-12T21:37:55","guid":{"rendered":"https:\/\/gpsites.co\/agency\/?page_id=17596"},"modified":"2025-12-22T14:13:03","modified_gmt":"2025-12-22T14:13:03","slug":"test","status":"publish","type":"page","link":"https:\/\/fpganow.com\/index.php\/test\/","title":{"rendered":"Home &#8211; Backup &#8211; Dec"},"content":{"rendered":"<div class=\"gb-container gb-container-422c35ce\"><div class=\"gb-inside-container\">\n<ul class=\"wp-block-latest-posts__list has-dates has-author is-style-stacked wp-block-latest-posts\"><li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2026\/03\/05\/labview-fpga-on-amd-versal-yes\/\">LabVIEW FPGA on AMD Versal? Yes<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2026-03-05T14:43:58-05:00\" class=\"wp-block-latest-posts__post-date\">March 5, 2026<\/time><div class=\"wp-block-latest-posts__post-excerpt\">LabVIEW FPGA has an IP Export tool that you can use to bring vi&#8217;s from LabVIEW in to your custom design in Vivado.\u00a0 One constraint is that you can only use LabVIEW FPGA primitives, or put another way &#8211; logic that stays inside the FPGA, meaning you cannot write to DRAM or access some other IO pins on the NI board you are developing your LabVIEW FPGA IP for. The other constraint is that the FPGA that your LabVIEW FPGA project lives in has to be of the same family as the board you intend to bring the IP to. &#8230; <a title=\"LabVIEW FPGA on AMD Versal? Yes\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2026\/03\/05\/labview-fpga-on-amd-versal-yes\/\" aria-label=\"Read more about LabVIEW FPGA on AMD Versal? Yes\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2026\/01\/01\/end-of-year-start-of-year\/\">End of Year, Start of Year<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2026-01-01T21:47:01-05:00\" class=\"wp-block-latest-posts__post-date\">January 1, 2026<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I normally do not like the idea of New Years Resolutions as I think that every day is Day One of any plan, not January 1st of the next year.\u00a0 But it just so coincides that I have freed up some time to be able to spend more time on FPGANow.com again.\u00a0 So I went ahead and removed the menus at the top and simplified this site with just an about and a home\/blog page. I will look into re-adding all the Pages back but with updated \/\u00a0 better versions of each.\u00a0 Otherwise, here is a list of things I &#8230; <a title=\"End of Year, Start of Year\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2026\/01\/01\/end-of-year-start-of-year\/\" aria-label=\"Read more about End of Year, Start of Year\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2021\/10\/17\/part-4-orderbook-now-published\/\">Part 4 &#8211; OrderBook Now Published<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2021-10-17T23:43:23-04:00\" class=\"wp-block-latest-posts__post-date\">October 17, 2021<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Part 4 of the Smart FPGA Nic, dealing with the OrderBook has been published. Go here to see more: https:\/\/fpganow.com\/index.php\/part-4-order-book\/ Related source code: https:\/\/github.com\/fpganow\/arty_bats\/tree\/main\/labview\/arty\/orderbook As I make updates to the code, mainly to make it prettier and easier for others to follow, I will make new a post for each change detailing all changes. \u00a0<\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2021\/03\/22\/how-to-parse-bats-market-data-messages\/\">How to Parse BATS Market Data Messages<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2021-03-22T02:59:18-04:00\" class=\"wp-block-latest-posts__post-date\">March 22, 2021<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I just created a &#8216;Page&#8217; as opposed to a WordPress &#8216;Post&#8217; documenting how I was able to parse BATS Market Data messages. This new style or format will be much better than my writing multiples posts.\u00a0 Easier for the reader to find, and easier for me to find and to update an article. Anyway, look above, under the &#8220;SMART &#8216;FPGA-NIC&#8217;&#8221; menu above to find Part 2: Parse BATS Messages in an FPGA. (I never made a Page for Part 1, but I did implement everything required for it &#8211; Part 1 is supposed to be about Parsing UDP\/IP in an &#8230; <a title=\"How to Parse BATS Market Data Messages\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2021\/03\/22\/how-to-parse-bats-market-data-messages\/\" aria-label=\"Read more about How to Parse BATS Market Data Messages\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2021\/02\/20\/xilinx-vivado-and-source-control\/\">Xilinx Vivado and Source Control<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2021-02-20T21:53:31-05:00\" class=\"wp-block-latest-posts__post-date\">February 20, 2021<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Related Source Repository: https:\/\/github.com\/fpganow\/vivado_scm Xilinx Vivado does not come with built-in source control.&nbsp; If you are a Visual Studio user, or a IntelliJ IDEA or eclipse user, you may be familiar with using some sort of IDE-related source code control. Vivado has a different paradigm for source control: Export commands to re-generate the project as a tcl script. Add tcl and all related files to source-control After I tried following a lot of guides that I found on the internet for using source control, I was only successful after I did the following: Create a branch new project in folder &#8230; <a title=\"Xilinx Vivado and Source Control\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2021\/02\/20\/xilinx-vivado-and-source-control\/\" aria-label=\"Read more about Xilinx Vivado and Source Control\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2021\/02\/19\/dealing-with-the-vivado-drc-inbb-3-black-box-instances-issue\/\">Dealing with the Vivado [DRC INBB-3]&#8217; Black Box Instances&#8217; issue<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2021-02-19T14:39:43-05:00\" class=\"wp-block-latest-posts__post-date\">February 19, 2021<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So my workflow is as follows: Create IP in NI LabVIEW FPGA Export via FPGA IP Export Tool Creates a VHDL wrapper (.vhd) Places IP in Design Checkpoint (.dcp) file Open my Vivado Block Design Use or update the VHDL wrapper that uses the Design Checkpoint Synthesis, Implementation, and Run The NI LabVIEW FPGA IP Export utility provides you with 2 files, a design checkpoint and a wrapper file to use for instantiating your IP using VHDL. A wrapper file is a very simple vhdl file, it contains the following interface to your design: entity NiFpgaIPWrapper_fpga_top isport (&nbsp; &nbsp; &nbsp; &#8230; <a title=\"Dealing with the Vivado [DRC INBB-3]&#8217; Black Box Instances&#8217; issue\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2021\/02\/19\/dealing-with-the-vivado-drc-inbb-3-black-box-instances-issue\/\" aria-label=\"Read more about Dealing with the Vivado [DRC INBB-3]&#8217; Black Box Instances&#8217; issue\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2021\/02\/06\/okay-parsing-udp-in-labview-fpga-works\/\">Okay, Parsing UDP in LabVIEW FPGA Works<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2021-02-06T00:01:11-05:00\" class=\"wp-block-latest-posts__post-date\">February 6, 2021<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I got something working &#8211; with live hardware plugged in to my network. I used the larger version of the Arty Artix-7 board, which cost $250 USD, and made my own custom reader for the LabVIEW FPGA Network library.\u00a0 I did not implement network writing features, nor do anything with the payload.\u00a0 Nevertheless, this is a Proof-of-Concept and can be used to make a nice FPGA accelerated network application. Anyway, follow these instructions if you are Savvy enough with LabVIEW and you can examine the code. But first, a crude diagram of what is going on: Hardware used: Arty A7: &#8230; <a title=\"Okay, Parsing UDP in LabVIEW FPGA Works\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2021\/02\/06\/okay-parsing-udp-in-labview-fpga-works\/\" aria-label=\"Read more about Okay, Parsing UDP in LabVIEW FPGA Works\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/11\/19\/vivado-error-opt-31-67-and-how-i-fixed-it\/\">Vivado Error [Opt 31-67], and How I Fixed It.<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-11-19T01:15:46-05:00\" class=\"wp-block-latest-posts__post-date\">November 19, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So I am dealing with the following scenarios: Scenario 1 &#8211; Genesys Zynq with SYZYGY SFP I have the Genesys Zynq UltraScale+ MPSoC 3EG board that does not provide direct access to the PHY pins, but has a SYZYGY port that I have plugged in to the SZG-DUALSFP module with an SFP connector. Scenario 2 &#8211; Arty A7 Artix-7 with 10\/100 Mbit PHY I have the Arty A7 Artx-7 FPGA Development Board that gives me direct access to the pins of a 10\/100 Mbit PHY. All I want to do is connect directly to a PHY so I can implement &#8230; <a title=\"Vivado Error [Opt 31-67], and How I Fixed It.\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/11\/19\/vivado-error-opt-31-67-and-how-i-fixed-it\/\" aria-label=\"Read more about Vivado Error [Opt 31-67], and How I Fixed It.\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/11\/11\/plans-using-arty-artix-7\/\">Plans Using Arty Artix-7<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-11-11T18:19:51-05:00\" class=\"wp-block-latest-posts__post-date\">November 11, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Here is the new plan: Step 1 &#8211; Create a design using a MicroBlaze processing system, enable a UART connection and listen on an AXI FIFO and dump packets to the screen as they are received in chunks of X bytes. Step 2 &#8211; Insert some LabVIEW FPGA code to send one packet of data every second. Step 3 &#8211; Replace this LabVIEW FPGA code to listen to the MII Ethernet interface pins and to dump some data to the screen as before. Step 4 &#8211; Insert the LabVIEW FPGA UDP\/IP library that is included with LabVIEW Now if you &#8230; <a title=\"Plans Using Arty Artix-7\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/11\/11\/plans-using-arty-artix-7\/\" aria-label=\"Read more about Plans Using Arty Artix-7\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/11\/09\/and-another-alternative\/\">And Another Alternative<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-11-09T22:05:39-05:00\" class=\"wp-block-latest-posts__post-date\">November 9, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I no longer have to look into figuring out how to code up or wire up the SZG-DUALSFP daughter board to the Digilent Genesys Zynq UltraScale MPSoC+ board. Why? Because I have a really old board that cost only $99 dollars that gives me direct access to the pins of an old 10\/100 MBit PHY! That&#8217;s the Arty Artix-35T mini board! Anyway&#8230; I found a corresponding NI &#8220;no longer national instruments&#8221; board that targets the same family of FPGAs so I can get started. What that means is: Create a LabVIEW FPGA project that targets the CompactRIO 9053 board Use &#8230; <a title=\"And Another Alternative\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/11\/09\/and-another-alternative\/\" aria-label=\"Read more about And Another Alternative\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/11\/08\/rebuilding-genesys-zynq-ultrascale-mpsoc-out-of-box-demo\/\">Rebuilding Genesys Zynq UltraScale MPSoC+ Out of Box Demo<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-11-08T22:35:05-05:00\" class=\"wp-block-latest-posts__post-date\">November 8, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So I spent some time to rebuild the out-of-box demo for the Genesys Zynq UltraScale MPSoC+ board.\u00a0 Not everything worked for me right away, so I made this post to include all the things I did to get it to work.: My system: Windows 10 Windows Subsystem for Linux 2 Ubuntu 18.04 (&lt;= Ubuntu 20 does not work unless you make a lot of changes) References: Schematics https:\/\/reference.digilentinc.com\/_media\/reference\/programmable-logic\/genesys-zu\/genesys_zu-3eg_sch_public.pdf Official Documentation from Digilent Official Getting Started Guide on Digilent website https:\/\/reference.digilentinc.com\/reference\/programmable-logic\/genesys-zu\/getting-started https:\/\/reference.digilentinc.com\/reference\/programmable-logic\/genesys-zu\/start Genesys Zynq UltraScale MPSoC+ Reference Manual https:\/\/reference.digilentinc.com\/reference\/programmable-logic\/genesys-zu\/reference-manual Purchase Link https:\/\/store.digilentinc.com\/genesys-zu-zynq-ultrascale-mpsoc-development-board\/ PetaLinux Tools Documentation https:\/\/www.xilinx.com\/support\/documentation\/sw_manuals\/xilinx2018_3\/ug1144-petalinux-tools-reference-guide.pdf Processing System 7 v5.,5 Documentation &#8230; <a title=\"Rebuilding Genesys Zynq UltraScale MPSoC+ Out of Box Demo\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/11\/08\/rebuilding-genesys-zynq-ultrascale-mpsoc-out-of-box-demo\/\" aria-label=\"Read more about Rebuilding Genesys Zynq UltraScale MPSoC+ Out of Box Demo\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/10\/28\/szg-dualsfp-update\/\">SZG-DUALSFP Update<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-10-28T20:31:45-04:00\" class=\"wp-block-latest-posts__post-date\">October 28, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I went to the Opal Kelly website again and noticed that there are a lot of menu options that I previously did not notice at the top menu. I found a sample board that uses their SZG-DUALSFP board: XEM7320 So now I can read the documentation for this board and be on my way! I also had some fun reading the specification documents for the SYZYGY specification, the SZG-DUALSFP board, and for the Finisar Tranceiver (Model #FTLF8524P2BNV) And I also discovered a Community Forum as well, where I could post any questions as well as any of my findings: https:\/\/forums.opalkelly.com\/ &#8230; <a title=\"SZG-DUALSFP Update\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/10\/28\/szg-dualsfp-update\/\" aria-label=\"Read more about SZG-DUALSFP Update\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/10\/22\/szg-dualsfp-howto\/\">SZG-DUALSFP Howto?<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-10-22T03:40:00-04:00\" class=\"wp-block-latest-posts__post-date\">October 22, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So I have the Genesys Zynq UltraScale + MPSoC board, I bought the SZG-DUALSFP from Opel Kelly, and I want to figure out how to wire this thing up. What pin goes where? I dunno.\u00a0 I spent some time reading the SFP+ specification.\u00a0 Everything makes sense.\u00a0 Then I read through the SYZYGY specification.\u00a0 Again, things make sense. So what does the interface look like? Anybody know? One though is to look at a sample from a similar board that uses an FMC based SFP connector. And then I was reminded of the book &#8220;How Would You Move Mount Fuji&#8221; &#8211; &#8230; <a title=\"SZG-DUALSFP Howto?\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/10\/22\/szg-dualsfp-howto\/\" aria-label=\"Read more about SZG-DUALSFP Howto?\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/10\/02\/zynqberry-board-pause\/\">Zynqberry Board Pause<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-10-02T00:25:35-04:00\" class=\"wp-block-latest-posts__post-date\">October 2, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">After my previous post showing how to use the NI LabVIEW FPGA IP Export Utility to run LabVIEW FPGA code on a Zynqberry (http:\/\/fpganow.com\/index.php\/2020\/09\/28\/zynqberry-with-breakout-board-and-labview\/), I continued following the examples I could find on the internet and was able to connect to the board by using the PS (Processing System) built-int UART, and to communicate to the GPIO by using C code. Then I wanted to access the PHY or the ETH pins directly and to map them to some LabVIEW IP have that can function as an Ethernet MAC with some IP and UDP\/TCP processing. After stumbling upon this post &#8230; <a title=\"Zynqberry Board Pause\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/10\/02\/zynqberry-board-pause\/\" aria-label=\"Read more about Zynqberry Board Pause\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/09\/28\/zynqberry-with-breakout-board-and-labview\/\">Zynqberry with Breakout Board and LabVIEW<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-09-28T01:00:22-04:00\" class=\"wp-block-latest-posts__post-date\">September 28, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Source Code: https:\/\/github.com\/fpganow\/Blink_LEDS Introduction There is a saying out there that goes &#8216;what are you going to do with an FPGA, blink a bunch of LEDs?&#8217; Well&#8230; that saying is true.\u00a0 Today I purchased a breakout board for the Zynberry and found an excellent guide on how to do just that: https:\/\/svenssonjoel.github.io\/writing\/blinkledzynq.pdf But I am different and I am going to do more than just &#8216;blink a bunch of LEDs&#8217;.\u00a0 I am going to do something useful.\u00a0 &lt;= It&#8217;s a joke&#8230; hahaha&#8230; Okay, not only am I going to blink a bunch of LEDs by using an FPGA, I am &#8230; <a title=\"Zynqberry with Breakout Board and LabVIEW\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/09\/28\/zynqberry-with-breakout-board-and-labview\/\" aria-label=\"Read more about Zynqberry with Breakout Board and LabVIEW\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/08\/16\/zynqberry-update\/\">Zynqberry Update<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-08-16T16:14:17-04:00\" class=\"wp-block-latest-posts__post-date\">August 16, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So I followed the Zynqberry tutorial here: https:\/\/www.knitronics.com\/the-zynqberry-patch\/getting-started-with-the-zynqberry-in-vivado-2018-2 And was able to get a basic Xilinx SDK application working on my Zynqberry, but with a twist&#8230; I used the NI LabVIEW IP Export tool to incorporate some LabVIEW code.\u00a0 For now a simple adder that just adds 2 8-bit unsigned integers and outputs a 16-bit unsigned integer. Anyway, the key takeaways are: Follow the tutorial exactly and re-read it in case you have any confusion Wrap up the default block design using my wrapper<\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/08\/11\/parse-fix-messages-part-1\/\">Parse FIX Messages Part 1<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-08-11T00:58:53-04:00\" class=\"wp-block-latest-posts__post-date\">August 11, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">For those unfamiliar with the FIX protocol, see: https:\/\/en.wikipedia.org\/wiki\/Financial_Information_eXchange https:\/\/www.fixtrading.org\/ The FIX Protocol transfers data uncompressed and in ASCII form.\u00a0 The following data types are transferred like so: Integer Value To send the Integer 1,423, the TCP stream would look like this: Index ASCII Hex 0 &#8216;1&#8217; 0x31 1 &#8216;4&#8217; 0x34 2 &#8216;2&#8217; 0x32 3 &#8216;3&#8217; 0x33 Date Time Value To send the Date Time value pair &#8220;June 4th, 1998 2:58:48 PM&#8221;, the TCP stream would look like this: Index ASCII Hex 0 &#8216;1&#8217; 0x31 1 &#8216;9&#8217; 0x39 2 &#8216;9&#8217; 0x39 3 &#8216;8&#8217; 0x38 4 &#8216;0&#8217; 0x30 5 &#8216;6&#8217; 0x36 &#8230; <a title=\"Parse FIX Messages Part 1\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/08\/11\/parse-fix-messages-part-1\/\" aria-label=\"Read more about Parse FIX Messages Part 1\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/07\/14\/ordered-10-gigabit-configuration\/\">[Updated] Ordered 10 Gigabit Configuration<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-07-14T20:41:40-04:00\" class=\"wp-block-latest-posts__post-date\">July 14, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">[Updated]: It turns out there are 2 editions of this board, and it looks like the premium one with a 10 Gigabit SFP+ connector is not yet available in the USA.\u00a0 However, I did some research and the lesser version of this board &#8211; the 3EV &#8211; has a SYZYGY connector, which supports SFP+ peripherals. So I ordered these 2 accessories and am awaiting a response from the manufacturer in case they actually do have one of the premium boards available: https:\/\/opalkelly.com\/products\/szg-dualsfp\/ ($79.95) https:\/\/www.radwell.com\/en-US\/Buy\/FINISAR\/FINISAR\/FTLF8524P2BNV ($27.28) If you have a bigger budget than that of a hobbyist, or are a hobbyist &#8230; <a title=\"[Updated] Ordered 10 Gigabit Configuration\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/07\/14\/ordered-10-gigabit-configuration\/\" aria-label=\"Read more about [Updated] Ordered 10 Gigabit Configuration\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/07\/12\/how-tcp-on-an-fpga-looks-like\/\">How TCP on an FPGA Looks Like<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-07-12T18:18:04-04:00\" class=\"wp-block-latest-posts__post-date\">July 12, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I did some research looking for existing TCP\/IP FPGA Cores.\u00a0 There are two basic types &#8211; 10 Gigabit and non-10 Gigabit.\u00a0 There is also a range of free and commercial solutions out there, and I&#8217;m sure the usual caveats apply.\u00a0 Free = no documentation or support, Commercial = super expensive.\u00a0 Anyway, here is what I discovered: The most important thing is that data comes in using an AXI4-Lite or similar interface.\u00a0 What is an AXI4-Lite interface? Here is the official Xilinx documentation: https:\/\/www.xilinx.com\/products\/intellectual-property\/axi_lite_ipif.html You can also simply think of it like this, on each clock cycle your FPGA reads the &#8230; <a title=\"How TCP on an FPGA Looks Like\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/07\/12\/how-tcp-on-an-fpga-looks-like\/\" aria-label=\"Read more about How TCP on an FPGA Looks Like\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/07\/08\/zynqberry-ordered\/\">Zynqberry Ordered<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-07-08T22:12:56-04:00\" class=\"wp-block-latest-posts__post-date\">July 8, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I stumbled upon a board called the &#8220;Zynqberry&#8221; which is supposed to mimic a Raspberry Pi but with a Xilinx Zyn-7000 FPGA board present. This board aims to be an FPGA-enabled version of the Raspberry Pi and comes with a 100MBit connector.\u00a0 Unfortunately it does not support 10 Gigabit.\u00a0 I mean, how could it with such a small footprint? Anyway, this board will be perfect for me to demonstrate certain things that will make FPGA programming accessible to a hobbyist not willing to shell out thousands of dollars and to a student on a limited budget. Here is a link &#8230; <a title=\"Zynqberry Ordered\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/07\/08\/zynqberry-ordered\/\" aria-label=\"Read more about Zynqberry Ordered\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/06\/25\/possible-configurations-starter-boards\/\">Possible Configurations &#8211; Starter Boards<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-06-25T18:35:01-04:00\" class=\"wp-block-latest-posts__post-date\">June 25, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">If you are more of a hobbyist or doing this on the side, here are some possible board configurations that you can use to experiment with a 10 Gigabit connection. Remember, a SFP+ connection is synonymous with a 10 Gigabit connection. Zynq ZedBoard Zynq-7000 ARM\/FPGA SoC Development Board If you are a student, you can apply for a free one through the Xilinx University Program. FPGA: Zynq-7000 AP SoC XC7Z020-CLG484 $449.00 https:\/\/store.digilentinc.com\/zedboard-zynq-7000-arm-fpga-soc-development-board\/ Genesis ZU: Zynq Ultrascale+ MPSoC Development Board Has 1 SFP+ Connector suitable for a 10 Gigabit connection. FPGA: Zynq Ultrascale+ (XCZU3EG-SFVC784-1-E) Pros: You can put the board on &#8230; <a title=\"Possible Configurations &#8211; Starter Boards\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/06\/25\/possible-configurations-starter-boards\/\" aria-label=\"Read more about Possible Configurations &#8211; Starter Boards\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/27\/labview-fpga-everywhere\/\">LabVIEW FPGA Everywhere<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-05-27T14:09:57-04:00\" class=\"wp-block-latest-posts__post-date\">May 27, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Now you can run LabVIEW FPGA on the hardware of your choice with the new &#8220;LabVIEW FPGA IP Export Utility&#8221;.\u00a0 That sounds great, but what&#8217;s that got to do with me? (quoting Rambo 3) Step 1 &#8211; Pick a non-National Instruments FPGA Board You will have to pick a non-National Instruments FPGA board that has an FPGA that uses Vivado (7 Series devices and above) and has a corresponding LabVIEW FPGA board that uses a device of the same family.\u00a0 What does same family mean? Well, a Virtex-7 chip such as the VX485T has the same family as the VX690T. &#8230; <a title=\"LabVIEW FPGA Everywhere\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/27\/labview-fpga-everywhere\/\" aria-label=\"Read more about LabVIEW FPGA Everywhere\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/24\/getting-started-with-the-labview-fpga-ip-export-utility\/\">Getting Started with the LabVIEW FPGA IP Export Utility<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-05-24T22:09:16-04:00\" class=\"wp-block-latest-posts__post-date\">May 24, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Okay, so what now? For starters, you should know that\u00a0LabVIEW 2020 FPGA uses Vivado 2019.1. And we are going to start with the currently available version\/mode &#8211; IP Export to Netlist.\u00a0 (The Source Code option requires you to email them to get it unlocked) What does this mean? It means that you can only use this utility on FPGAs that are in the Xilinx 7 Series or above.\u00a0 This means: Virtex-7 Kintex-7 Kintex-Ultrascale Zynq-7000 Artix-7 (I do not know of any National Instruments boards that use this family) See AR#53109 on Xilinx.com: https:\/\/www.xilinx.com\/support\/answers\/53109.html After installing this utility, you can find &#8230; <a title=\"Getting Started with the LabVIEW FPGA IP Export Utility\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/24\/getting-started-with-the-labview-fpga-ip-export-utility\/\" aria-label=\"Read more about Getting Started with the LabVIEW FPGA IP Export Utility\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/18\/the-game-changer\/\">The Game Changer<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-05-18T21:16:17-04:00\" class=\"wp-block-latest-posts__post-date\">May 18, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Going to investigate what will be the biggest game changer for LabVIEW, FPGA&#8217;s and you. Okay, so the National Instruments website (http:\/\/www.ni.com) is pretty hard to navigate.\u00a0 I somehow saw the following under the &#8216;RELATED PRODUCTS&#8217; section on some page that I have since been unable to find: Then I was finally told by my brother to just search for it. Here is the direct link: https:\/\/www.ni.com\/en-us\/support\/downloads\/software-products\/download.labview-fpga-ip-export-utility.html#345666 Here is the online version of the readme: http:\/\/www.ni.com\/pdf\/manuals\/378241a.html And please note&#8230; the description clearly says &#8216;export&#8217; \u2026 &#8216;third-party hardware&#8217;.\u00a0 This means we can take all of my strategies and knowledge for using &#8230; <a title=\"The Game Changer\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/18\/the-game-changer\/\" aria-label=\"Read more about The Game Changer\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/14\/get-your-identity-right-the-first-time\/\">Get your identity right the first time.<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-05-14T11:10:24-04:00\" class=\"wp-block-latest-posts__post-date\">May 14, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">When it comes down to your business identity, consistency is a key. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut placerat orci nulla pellentesque dignissim enim sit amet venenatis eget velit aliquet satis id consectetur purus. Pretium fusce id velit ut tortor pretium viverra suspendisse. Sed augue lacus viverra vitae congue eu consequent. Id donec ultrices tincidunt arcu. Dolor sit amet consectetur adipiscing elit pellentesque habitant morbi. Lectus nulla at volutpat diam. Elementum curabitur vitae nunc sed velit dignissim sodales ut eu. At imperdiet dui accumsan sit amet &#8230; <a title=\"Get your identity right the first time.\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/14\/get-your-identity-right-the-first-time\/\" aria-label=\"Read more about Get your identity right the first time.\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/14\/get-your-identity-right-the-first-time-2\/\">Get your identity right the first time.<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-05-14T11:10:22-04:00\" class=\"wp-block-latest-posts__post-date\">May 14, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">When it comes down to your business identity, consistency is a key. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut placerat orci nulla pellentesque dignissim enim sit amet venenatis eget velit aliquet satis id consectetur purus. Pretium fusce id velit ut tortor pretium viverra suspendisse. Sed augue lacus viverra vitae congue eu consequent. Id donec ultrices tincidunt arcu. Dolor sit amet consectetur adipiscing elit pellentesque habitant morbi. Lectus nulla at volutpat diam. Elementum curabitur vitae nunc sed velit dignissim sodales ut eu. At imperdiet dui accumsan sit amet &#8230; <a title=\"Get your identity right the first time.\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/14\/get-your-identity-right-the-first-time-2\/\" aria-label=\"Read more about Get your identity right the first time.\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/14\/get-your-identity-right-the-first-time-3\/\">Get your identity right the first time.<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-05-14T11:10:18-04:00\" class=\"wp-block-latest-posts__post-date\">May 14, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">When it comes down to your business identity, consistency is a key. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut placerat orci nulla pellentesque dignissim enim sit amet venenatis eget velit aliquet satis id consectetur purus. Pretium fusce id velit ut tortor pretium viverra suspendisse. Sed augue lacus viverra vitae congue eu consequent. Id donec ultrices tincidunt arcu. Dolor sit amet consectetur adipiscing elit pellentesque habitant morbi. Lectus nulla at volutpat diam. Elementum curabitur vitae nunc sed velit dignissim sodales ut eu. At imperdiet dui accumsan sit amet &#8230; <a title=\"Get your identity right the first time.\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/14\/get-your-identity-right-the-first-time-3\/\" aria-label=\"Read more about Get your identity right the first time.\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/14\/get-your-identity-right-the-first-time-4\/\">Get your identity right the first time.<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-05-14T10:45:39-04:00\" class=\"wp-block-latest-posts__post-date\">May 14, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">When it comes down to your business identity, consistency is a key. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut placerat orci nulla pellentesque dignissim enim sit amet venenatis eget velit aliquet satis id consectetur purus. Pretium fusce id velit ut tortor pretium viverra suspendisse. Sed augue lacus viverra vitae congue eu consequent. Id donec ultrices tincidunt arcu. Dolor sit amet consectetur adipiscing elit pellentesque habitant morbi. Lectus nulla at volutpat diam. Elementum curabitur vitae nunc sed velit dignissim sodales ut eu. At imperdiet dui accumsan sit amet &#8230; <a title=\"Get your identity right the first time.\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/05\/14\/get-your-identity-right-the-first-time-4\/\" aria-label=\"Read more about Get your identity right the first time.\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2020\/04\/08\/corona-time\/\">Corona Time<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2020-04-08T12:39:33-04:00\" class=\"wp-block-latest-posts__post-date\">April 8, 2020<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So with the Coronavirus, the markets have been seeing increased volatility, and all the high frequency traders are making a lot of money, or losing a lot of money&#8230; I scrolled through the list of repositories on the fpganow github org and found a relevant project that deals with the parsing of market data only &#8211; without any regard to the TCP\/IP portion. I will resurrect this repo and see what needs to be done in order to use it. Now&#8230; if you are an HFT person, I recommend you look into LabVIEW FPGA, because sooner or later you will &#8230; <a title=\"Corona Time\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2020\/04\/08\/corona-time\/\" aria-label=\"Read more about Corona Time\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2019\/07\/10\/what-hardware-am-i-using\/\">What Hardware Am I Using?<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2019-07-10T17:23:19-04:00\" class=\"wp-block-latest-posts__post-date\">July 10, 2019<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I received an email from a reader asking me what controller I am using, so I figure I would make a new post with this information: (All links open in a new tab) PXIe-8105 Embedded Controller https:\/\/www.ni.com\/en-us\/support\/model.pxie-8105.html PXIe-1062Q https:\/\/www.ni.com\/en-us\/support\/model.pxie-1062q.html PXIe-6592R https:\/\/www.ni.com\/en-us\/support\/model.pxie-6592.html And a picture (why not?): \u00a0<\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2019\/04\/11\/more-details-about-tcp\/\">More Details About TCP<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2019-04-11T12:04:32-04:00\" class=\"wp-block-latest-posts__post-date\">April 11, 2019<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So first off, I have merged my code to master, see it here: https:\/\/github.com\/fpganow\/MicroBlaze_lwIP And while I work on updating the README.md file, here are 2 slides for you to look at: So, if you have the appropriate NI hardware, you can clone down this repository and run 1 TCP and 1 UDP session to your FPGA! Do you have an existing FPGA solution? If you follow the Vivado Project that is exported from LabVIEW FPGA, you can probably import your existing FPGA solution to National Instruments hardware, plug in the lwip TCP\/IP code that I have running on a &#8230; <a title=\"More Details About TCP\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2019\/04\/11\/more-details-about-tcp\/\" aria-label=\"Read more about More Details About TCP\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2019\/03\/07\/tcp-is-now-working-as-well\/\">TCP is Now Working as Well!<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2019-03-07T15:57:46-05:00\" class=\"wp-block-latest-posts__post-date\">March 7, 2019<\/time><div class=\"wp-block-latest-posts__post-excerpt\">As I was traversing my mental decision tree using a depth-first search model of digger deeper and deeper in to the lwip TCP\/IP source code, I thought to myself that I should go back up the decision tree and take a deeper look at the tcpdump output. It turns out I was setting the source and destination IP addresses to the same value. Once I set the source IP address to NULL, the TCP\/IP stack auto-binded it to the IP address of the MAC and all communications started working. Now I will do some code cleanup, will push to github &#8230; <a title=\"TCP is Now Working as Well!\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2019\/03\/07\/tcp-is-now-working-as-well\/\" aria-label=\"Read more about TCP is Now Working as Well!\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2019\/02\/11\/milestone-reached-udp-end-to-end\/\">Milestone Reached! UDP end to end<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2019-02-11T11:40:35-05:00\" class=\"wp-block-latest-posts__post-date\">February 11, 2019<\/time><div class=\"wp-block-latest-posts__post-excerpt\">What I have working right now: A UDP packet enters the FPGA via the 10 Gigabit PHY that is connected to the FPGA. The 10 Gigabit Ethernet MAC running on the FPGA consumes the Ethernet Frame and passes it in to a c++ application running inside the MicroBlaze Processor. The MicroBlaze Processor is running a version of the open-source TCP\/IP stack &#8220;lwip&#8221; which processes the UDP datagram, extracts the pertinent information and passes this information to a specific callback function that is implemented by the user. In this case that would be me. My implementation of this callback function sends &#8230; <a title=\"Milestone Reached! UDP end to end\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2019\/02\/11\/milestone-reached-udp-end-to-end\/\" aria-label=\"Read more about Milestone Reached! UDP end to end\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/12\/28\/install-xilinx-vivado-tools-on-fedora-27\/\">Install Xilinx Vivado Tools on Fedora 27<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-12-28T22:54:05-05:00\" class=\"wp-block-latest-posts__post-date\">December 28, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">The National Instruments &#8220;LabVIEW 2018 FPGA Module Xilinx Compilation Tool for Vivado 2017.2 &#8211; Linux&#8221; is only officially supported on Red Hat Enterprise Linux and CentOS. CentOS is basically a clone of Red Hat Enterprise Linux, also known as RHEL. I like to joke and call it R-HELL. The reason is valid, Red Hat Enterprise Linux has a longer release cycle, which means that a new package won&#8217;t just show up and break a lot of your code, or more importantly will not introduce Security Flaws in to your system just because you ran a system update. But what about &#8230; <a title=\"Install Xilinx Vivado Tools on Fedora 27\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/12\/28\/install-xilinx-vivado-tools-on-fedora-27\/\" aria-label=\"Read more about Install Xilinx Vivado Tools on Fedora 27\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/06\/30\/update\/\">Update<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-06-30T22:23:04-04:00\" class=\"wp-block-latest-posts__post-date\">June 30, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So it appears to me that Monero\/CryptoNote mining has gained a lot of popularity lately, and this has led many people to this website.\u00a0 Let me note that LabVIEW FPGA is a proprietary tool that comes with a 30-day Evaluation.\u00a0 After that, you have to spin up a new virtual machine and reinstall LabVIEW to keep your installation alive.\u00a0 However, when it comes to FPGA development, LabVIEW is the best tool out there. Sure, it may not support the latest board from Xilinx or Digilent or whoever, but what it does support it supports well. Take the PXIe-6592 board.\u00a0 I &#8230; <a title=\"Update\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/06\/30\/update\/\" aria-label=\"Read more about Update\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/06\/06\/network-connectivity-established-via-microblaze-and-pxi-6592\/\">Network Connectivity Established via MicroBlaze and PXI-6592<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-06-06T13:11:59-04:00\" class=\"wp-block-latest-posts__post-date\">June 6, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So after some serious debugging, editing, and regenerating of the bitstream, I was able to send out an ARP response from the FPGA to my linux server, and for my linux server to send a UDP packet in to the MicroBlaze.\u00a0 This was all verified via UART debug statements. Now while I work on cleaning this all up, you can actually use this code in your project, but only if you have enough knowledge of LabVIEW and Xilinx.\u00a0 My job is to help bridge that gap, but for now: The source code is located in: https:\/\/github.com\/fpganow\/MicroBlaze_lwIP The application that is &#8230; <a title=\"Network Connectivity Established via MicroBlaze and PXI-6592\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/06\/06\/network-connectivity-established-via-microblaze-and-pxi-6592\/\" aria-label=\"Read more about Network Connectivity Established via MicroBlaze and PXI-6592\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/04\/03\/labview-fpga-microblaze-and-uart-full-guide\/\">LabVIEW FPGA, MicroBlaze, and UART &#8211; Full Guide<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-04-03T21:15:24-04:00\" class=\"wp-block-latest-posts__post-date\">April 3, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Working from scratch, I created a LabVIEW FPGA project that imports a MicroBlaze design that communicates with LabVIEW via a UART, and has the ability to change the elf file in a much shorter time frame than before. I did this by adding the MicroBlaze to the project after it had been exported to Vivado, and not from within the CLIP that is imported as before.\u00a0 The only bad news is that I have to synthesize the FPGA project from Vivado, which currently is not connected to the NI FPGA Compile Cloud.\u00a0 This may be a feature that is coming &#8230; <a title=\"LabVIEW FPGA, MicroBlaze, and UART &#8211; Full Guide\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/04\/03\/labview-fpga-microblaze-and-uart-full-guide\/\" aria-label=\"Read more about LabVIEW FPGA, MicroBlaze, and UART &#8211; Full Guide\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/03\/10\/i-need-uart\/\">I Need Uart<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-03-10T05:53:22-05:00\" class=\"wp-block-latest-posts__post-date\">March 10, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Before I go any further and start wiring up my code to use the lwIP on the embedded MicroBlaze, I will need some sort of better method of debugging.\u00a0 All code that I have implemented that uses a MicroBlaze processor via the Xilinx tools makes use of the UART to send and receive standard input and output. Right now I have been getting around this by writing values to the GPIO and to the host via a FIFO, but I do not want to have to recompile all of my code and move where I have wired the FIFO to &#8230; <a title=\"I Need Uart\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/03\/10\/i-need-uart\/\" aria-label=\"Read more about I Need Uart\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/03\/02\/if-you-buy-this-board-you-can-run-this\/\">If You Buy This Board, You Can Run This<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-03-02T23:53:50-05:00\" class=\"wp-block-latest-posts__post-date\">March 2, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">If you purchase the National Instruments PXIe-6592R Board, retailing at $12,197.00 USD, I guarantee that you can run an FPGA accelerated 10 Gigabit network card in as much time as it takes for you to synthesize your code!\u00a0 Call Now, the number is 1-900-XXX-YYYY. Batteries not included, strings attached.\u00a0 But seriously, I have just cleaned up the code and was able to run this from its new home, namely a brand new directory inside my kitchen sink of LabVIEW samples. Download the source code and take a look at it here: https:\/\/github.com\/JohnStratoudakis\/LabVIEW_Fpga\/tree\/master\/07_10_Gigabit\/02_FPGANic You can take a look at the MicroBlaze &#8230; <a title=\"If You Buy This Board, You Can Run This\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/03\/02\/if-you-buy-this-board-you-can-run-this\/\" aria-label=\"Read more about If You Buy This Board, You Can Run This\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/03\/02\/30000-foot-view\/\">30,000 Foot View<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-03-02T13:35:06-05:00\" class=\"wp-block-latest-posts__post-date\">March 2, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I normally avoid shop words or &#8220;corporate speak&#8221; because I feel it dehumanizes us, but sometimes these phrases are necessary.\u00a0 So here is the &#8220;30,000 foot&#8221; view.\u00a0 And please pardon the appearance of my flow charts and diagrams, I am not a graphic designer&#8230; All images open in a new tab, so just click on them with ease until I figure out how to make this WordPress theme wider. Take\u00a0 look at this: There are four (4) 10 Gigabit ports available on this device, but I am using only one of them for this design. The FPGA design contains a &#8230; <a title=\"30,000 Foot View\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/03\/02\/30000-foot-view\/\" aria-label=\"Read more about 30,000 Foot View\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/16\/coding-standards-matter\/\">Coding Standards Matter&#8230;<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-02-16T02:42:43-05:00\" class=\"wp-block-latest-posts__post-date\">February 16, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I have wired up the components of my 10 Gigabit FPGA Accelerated Network card with great care, and I decided to have my &#8220;tester&#8221; application skip the lwIP stack and to pass the received packet directly to the host for testing\/verification purposes. Everything was checking out fine, the LabVIEW code looked flawless, the interface to the 10 Gigabit Transceiver was perfect.\u00a0 All looked fine, but for some reason I was not receiving the packets on the host. I analyzed the code, inserted probes and what not.\u00a0 And finally, I was reading through the actual C++ code (MicroBlaze C++ that is) &#8230; <a title=\"Coding Standards Matter&#8230;\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/16\/coding-standards-matter\/\" aria-label=\"Read more about Coding Standards Matter&#8230;\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/13\/axi4-microblaze-64-bit\/\">AXI4 + MicroBlaze != 64-bit<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-02-13T13:26:24-05:00\" class=\"wp-block-latest-posts__post-date\">February 13, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">The 10 Gigabit MAC\/transceiver gives me 64 bit data words.\u00a0 I currently think I am giving and getting\u00a0 64 bit data words, but I am really only using 32 bits.\u00a0 I came to this conclusion after I tried reading a 64 bit word and saw the data was simply two repeated 32 bit words.\u00a0 Additionally some random person on the internet said that the MicroBlaze data bus is 32-bit and you have to use some sort of data width converter ip. Out of luck&#8230; I don&#8217;t know how to use the converter, but I am sure there is a way &#8230; <a title=\"AXI4 + MicroBlaze != 64-bit\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/13\/axi4-microblaze-64-bit\/\" aria-label=\"Read more about AXI4 + MicroBlaze != 64-bit\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/13\/ip-integration-node-vs-clip\/\">IP Integration Node vs CLIP<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-02-13T01:45:09-05:00\" class=\"wp-block-latest-posts__post-date\">February 13, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I wired up the 10 gigabit ethernet MAC to my MicroBlaze instance to my host computer and compiled\/synthesized everything.\u00a0 I then turn on my &#8220;quiet&#8221; PXIe-1062Q and fire up my tester application and it did not work&#8230;\u00a0 I open up an isolated tester &#8211; &#8220;Fpga-Mac-Top.vi&#8221;, and it worked.\u00a0 I open up the isolated MicroBlaze tester &#8211; &#8220;Fpga-MicroBlaze-Top.vi&#8221;, and nothing.\u00a0 Not even a read from the GPIO. This is quite strange&#8230; why is it not working? I spend some time looking over everything, re-generating output products, synthesizing from Vivado, bringing the design back in to LabVIEW, and long story short I &#8230; <a title=\"IP Integration Node vs CLIP\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/13\/ip-integration-node-vs-clip\/\" aria-label=\"Read more about IP Integration Node vs CLIP\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/12\/pros-and-cons-of-labview-fpga\/\">Pros and Cons of LabVIEW FPGA<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-02-12T00:40:21-05:00\" class=\"wp-block-latest-posts__post-date\">February 12, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Ever since I started developing this LabVIEW FPGA project that uses a MicroBlaze soft processor to process TCP streams, I have learned a lot and can comment on the pros and cons of using LabVIEW FPGA vs using a traditional Xilinx\/Altera based FPGA development approach. For starters, LabVIEW FPGA blows every single other FPGA development system out of the water when it comes to developing prototypes.\u00a0 I made a prototype for implementing a Monero miner in record time.\u00a0 I don&#8217;t remember how long it took, but you can see my commit history here:\u00a0https:\/\/github.com\/JohnStratoudakis\/CryptoCurrencies Then I was able to implement a &#8230; <a title=\"Pros and Cons of LabVIEW FPGA\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/12\/pros-and-cons-of-labview-fpga\/\" aria-label=\"Read more about Pros and Cons of LabVIEW FPGA\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/07\/10-gigabit-fpga-based-network-card\/\">10 Gigabit FPGA-based Network Card<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-02-07T10:41:31-05:00\" class=\"wp-block-latest-posts__post-date\">February 7, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So here is the most simple, FPGA-based Network Interface Card that I know of. This application will start Port 0 of the 10 Gigabit Network interface that is provided by the PXIe-6592R\u00a0(http:\/\/www.ni.com\/en-us\/support\/model.pxie-6592.html) board by National Instruments,\u00a0and will allow you to do any of the following: Check if any new ethernet frames have been received, and display the information, including the raw bytes of any such received frame Send a raw ethernet frame out of Port 0 I have included the necessary code to parse and generate the following types of packets, enabling you to communicate with another computer on your &#8230; <a title=\"10 Gigabit FPGA-based Network Card\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/07\/10-gigabit-fpga-based-network-card\/\" aria-label=\"Read more about 10 Gigabit FPGA-based Network Card\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/07\/screen-shot-generator-for-labview\/\">Screen Shot Generator for LabVIEW<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-02-07T09:50:14-05:00\" class=\"wp-block-latest-posts__post-date\">February 7, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I finished writing an application that exercises the first Port of the 10 Gigabit Ethernet Interface that is provided with the National Instruments PXIe-6592R board and as I started taking manual screenshots via the LabVIEW &#8220;File-&gt;Print&#8221; option I began to ponder, can this be done more easily? Or dare I say it &#8220;programmatically&#8221;? The LabVIEW Report Generation Palette has a VI named &#8220;Easy Print VI Panel and Documentation&#8221;.\u00a0 In addition to the plethora of options, this VI also is hard to use and proved to be unstable for my purposes.\u00a0 If you want to try it in your application, see &#8230; <a title=\"Screen Shot Generator for LabVIEW\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/02\/07\/screen-shot-generator-for-labview\/\" aria-label=\"Read more about Screen Shot Generator for LabVIEW\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/01\/23\/10-gigabit-fpga-based-network-code-coming-soon\/\">10 Gigabit FPGA-based Network Code Coming Soon<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-01-23T03:26:22-05:00\" class=\"wp-block-latest-posts__post-date\">January 23, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I am getting real close to finishing my proof-of-concept FPGA-based network card that is based on the PXIe-6592 National Instruments Board which uses the Kinex-7 410t FPGA chip by Xilinx, and has 2GB of DDR3 RAM. Using the Arty Arix board, I was able to make sure that the MicroBlaze code running the lwIP TCP\/IP stack works fine, and I was able to use a NI example to make the 10 Gigabit Ethernet MAC part.\u00a0 Only issue is that the NI code is quite complex and uses features and ideas that I have never seen before. Nevertheless, I am iterating &#8230; <a title=\"10 Gigabit FPGA-based Network Code Coming Soon\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/01\/23\/10-gigabit-fpga-based-network-code-coming-soon\/\" aria-label=\"Read more about 10 Gigabit FPGA-based Network Code Coming Soon\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/01\/14\/how-to-multiply-64-bit-numbers-in-labview\/\">How to Multiply 64 bit Numbers in LabVIEW<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-01-14T19:30:05-05:00\" class=\"wp-block-latest-posts__post-date\">January 14, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">What is the product of\u00a00x9D0BF6FDAC70AB52 and 0x6408F6540A1384CB?\u00a0 Well, according to LabVIEW for Windows, the answer is 0x2D90DE07C0C42206.\u00a0 According to C++ on OSX (without any optimizations, usage of Intel Intrinsic functions), the answer is also\u00a00x2D90DE07C0C42206. The real answer is&#8230;\u00a0 0x3D5E2BF7DCBCA6622D90DE07C0C42206. How do you get this number? You have to use compiler intrinsics, or calculate this value yourself.\u00a0 LabVIEW does not make it easy to call an Intel Compiler intrinsic, so I took it upon myself to implement this myself.\u00a0 Here is a screenshot of the implementation in LabVIEW for Windows: To download and use this code in your project, see: https:\/\/github.com\/JohnStratoudakis\/CryptoCurrencies\/blob\/master\/Monero\/lv-monero\/CryptoNight-Step-3\/Host-Implementation\/Step-3-Multiply-U64.vi &#8230; <a title=\"How to Multiply 64 bit Numbers in LabVIEW\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/01\/14\/how-to-multiply-64-bit-numbers-in-labview\/\" aria-label=\"Read more about How to Multiply 64 bit Numbers in LabVIEW\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2018\/01\/14\/some-time-with-the-arty-arix-7-35t-digilent-board\/\">Some Time with the Arty Arix-7 35T Digilent Board<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2018-01-14T19:27:52-05:00\" class=\"wp-block-latest-posts__post-date\">January 14, 2018<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So I wanted to implement a simple, stripped down version of the open-source lightweight IP stack &#8220;lwIP&#8221; (https:\/\/savannah.nongnu.org\/projects\/lwip\/) inside my LabVIEW FPGA project that I can handle TCP and UDP data streams. I do not have a lot of experience with this, and I found that building such a project inside Vivado would take around 3 hours to simulate with all of the source code of the lwIP project embedded in the elf file. I ended up purchasing a $99 board from Digilent that uses an Artix-7 35T board: https:\/\/www.xilinx.com\/products\/boards-and-kits\/arty.html. On this board I was able to run and debug &#8230; <a title=\"Some Time with the Arty Arix-7 35T Digilent Board\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2018\/01\/14\/some-time-with-the-arty-arix-7-35t-digilent-board\/\" aria-label=\"Read more about Some Time with the Arty Arix-7 35T Digilent Board\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2017\/12\/22\/a-diversion-for-cryptocurrencies\/\">Monero (CryptoNight)<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2017-12-22T00:35:53-05:00\" class=\"wp-block-latest-posts__post-date\">December 22, 2017<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I spent some time analyzing the Monero CryptoCurrency source code to understand the algorithm, how it works and to see if it is doable with an FPGA via LabVIEW for FPGA, our secret weapon. I learned that there are 4 steps to the Monero &#8220;CryptoNight&#8221; algorithm and that step 3 is the part that does the heavy lifting, with around 500k reads and writes to a small section of memory that is 2 megabytes in size.\u00a0 This section of memory was specifically selected to be a size that coincides with the size of most processor Level 3 caches.\u00a0 This is &#8230; <a title=\"Monero (CryptoNight)\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2017\/12\/22\/a-diversion-for-cryptocurrencies\/\" aria-label=\"Read more about Monero (CryptoNight)\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2017\/11\/07\/issues-with-labview-and-lack-of-relative-directory-references\/\">Issues with LabVIEW and Lack of Relative Directory References<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2017-11-07T14:49:29-05:00\" class=\"wp-block-latest-posts__post-date\">November 7, 2017<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So I wanted to mention that I have all of my LabVIEW (and Vivado) code saved on a RAID-1 mirrored location on my network.\u00a0 From each of my workstations, I map the same network location to my Z drive.\u00a0 This way any and all issues of LabVIEW referring to absolute paths goes away.\u00a0 I do not develop in &#8220;offline&#8221; mode, I am always connected to one of my machines, whether it is by sitting directly in front of the machine or via a Remote Desktop Connection.\u00a0 If you use a laptop, you could always split a piece off of your &#8230; <a title=\"Issues with LabVIEW and Lack of Relative Directory References\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2017\/11\/07\/issues-with-labview-and-lack-of-relative-directory-references\/\" aria-label=\"Read more about Issues with LabVIEW and Lack of Relative Directory References\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2017\/11\/07\/more-code-posted-to-github\/\">More Code Posted to Github<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2017-11-07T14:45:07-05:00\" class=\"wp-block-latest-posts__post-date\">November 7, 2017<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So I have figured out how to use the MicroBlaze Core with an AXI-Stream FIFO, and I have also figured out how to export a project from Vivado by using the Vivado &#8220;Write Project TCL&#8221; option. See the following project: https:\/\/github.com\/JohnStratoudakis\/LabVIEW_Fpga\/tree\/master\/06_MicroBlaze\/04_lwIP_Ex You have to re-generate the Vivado Project and create a new SDK workspace in order to get this to work on your machine. How to regenerate a Vivado project from a TCL script: Step 1 &#8211; Start Vivado Step 2 &#8211; Change directory to where tcl script is located Make sure you escape all Windows backslashes with another backslash &#8230; <a title=\"More Code Posted to Github\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2017\/11\/07\/more-code-posted-to-github\/\" aria-label=\"Read more about More Code Posted to Github\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2017\/08\/22\/new-code-added-to-github-microblaze-mcs-io-bus-and-labview\/\">New Code Added to GitHub &#8211; MicroBlaze MCS, IO Bus and LabVIEW<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2017-08-22T12:24:43-04:00\" class=\"wp-block-latest-posts__post-date\">August 22, 2017<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I just uploaded some code to GitHub that is a full demonstration on how to use LabVIEW FPGA 2017, the MicroBlaze MCS core and the IO Bus that is attached to the MicroBlaze MCS. Clone the following repository: https:\/\/github.com\/JohnStratoudakis\/LabVIEW_Fpga\/tree\/master\/05_MicroBlaze_Mcs\/02_MicroBlaze_Mcs_IO_Bus and open the LabVIEW project: https:\/\/github.com\/JohnStratoudakis\/LabVIEW_Fpga\/blob\/master\/05_MicroBlaze_Mcs\/02_MicroBlaze_Mcs_IO_Bus\/02_MicroBlaze_Mcs_IO_Bus.lvproj Look at the Vivado 2015.4 project: https:\/\/github.com\/JohnStratoudakis\/LabVIEW_Fpga\/blob\/master\/05_MicroBlaze_Mcs\/02_MicroBlaze_Mcs_IO_Bus\/MicroBlaze_Mcs_IO_Bus\/MicroBlaze_Mcs_IO_Bus.xpr And finally, using the Xilinx SDK set your workspace to: https:\/\/github.com\/JohnStratoudakis\/LabVIEW_Fpga\/tree\/master\/05_MicroBlaze_Mcs\/02_MicroBlaze_Mcs_IO_Bus\/MicroBlaze_Mcs_IO_Bus\/MicroBlaze_Mcs_IO_Bus.sdk Now if you do not have access to LabVIEW from your current machine, I have included a screen shot for each VI with the words &#8220;Front&#8221; or &#8220;Back&#8221; added to the filename, and in the case where &#8230; <a title=\"New Code Added to GitHub &#8211; MicroBlaze MCS, IO Bus and LabVIEW\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2017\/08\/22\/new-code-added-to-github-microblaze-mcs-io-bus-and-labview\/\" aria-label=\"Read more about New Code Added to GitHub &#8211; MicroBlaze MCS, IO Bus and LabVIEW\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2017\/06\/23\/how-to-use-the-microblaze-micro-controller-system-from-labview\/\">How to Use the Microblaze Micro Controller System from LabVIEW<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2017-06-23T13:28:28-04:00\" class=\"wp-block-latest-posts__post-date\">June 23, 2017<\/time><div class=\"wp-block-latest-posts__post-excerpt\">The MicroBlaze Micro Controller Syste (MCS) is a soft-core processor that can be customized and placed inside the fabric of your FPGA.\u00a0 The uses of this are limitless. Requirements: LabVIEW 2017 http:\/\/www.ni.com\/download\/labview-development-system-2017\/6679\/en\/ LabVIEW 2017 FPGA Module http:\/\/www.ni.com\/download\/labview-fpga-module-2017\/6635\/en\/ LabVIEW 2017 FPGA Module Xilinx Compilation Tools for Vivado 2015.4 http:\/\/www.ni.com\/download\/labview-fpga-module-2017\/6634\/en\/ Xilinx Software Development Kit version 2015.4 https:\/\/www.xilinx.com\/products\/design-tools\/embedded-software\/sdk.html Source Code Browse the source code online via github by visiting the following link: https:\/\/github.com\/JohnStratoudakis\/LabVIEW_Fpga\/tree\/master\/05_MicroBlaze_Mcs\/01_MicroBlaze_Mcs_GPIO To download the source code, clone the entire repository with: git clone git@github.com:JohnStratoudakis\/LabVIEW_Fpga.git You can also download a zip file with the entire repository: https:\/\/github.com\/JohnStratoudakis\/LabVIEW_Fpga\/archive\/master.zip What this Guide Accomplishes This &#8230; <a title=\"How to Use the Microblaze Micro Controller System from LabVIEW\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2017\/06\/23\/how-to-use-the-microblaze-micro-controller-system-from-labview\/\" aria-label=\"Read more about How to Use the Microblaze Micro Controller System from LabVIEW\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2017\/04\/20\/filter-market-data-messages-in-an-fpga-part-3\/\">Filter Market Data Messages in an FPGA &#8211; part 3<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2017-04-20T12:22:01-04:00\" class=\"wp-block-latest-posts__post-date\">April 20, 2017<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Filter Market Data Messages in an FPGA &#8211; part 3 Note: Skip directly to GitHub.com to download the source code by following this link: https:\/\/github.com\/fpganow\/MarketData System Requirements: LabVIEW 2016 LabVIEW 2016 FPGA Module http:\/\/www.ni.com\/labview\/ This post will cover the next iteration of implementing an OrderBook inside an FPGA that is based on a NASDAQ ITCH 4.1 market data feed. Some time has passed and I have finally found enough time to finish all the code changes required for the two (2) components listed below, along with the requisite test harnesses to validate. Starting off, here are the components of an &#8230; <a title=\"Filter Market Data Messages in an FPGA &#8211; part 3\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2017\/04\/20\/filter-market-data-messages-in-an-fpga-part-3\/\" aria-label=\"Read more about Filter Market Data Messages in an FPGA &#8211; part 3\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2017\/02\/20\/filter-market-data-messages-in-an-fpga-part-2\/\">Filter Market Data Messages in an FPGA &#8211; part 2<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2017-02-20T20:14:29-05:00\" class=\"wp-block-latest-posts__post-date\">February 20, 2017<\/time><div class=\"wp-block-latest-posts__post-excerpt\">Skip directly to the source code on Github.com here: https:\/\/github.com\/JohnStratoudakis\/LabVIEW_Fpga\/tree\/master\/MarketData\/MarketData_01 So what now. \u00a0We know what a NASDAQ ITCH 4.1 Market Data Message looks like. \u00a0The format is very simple, there is some &#8211; yes &#8211; ASCII data in the message format, and all messages are preceded by the message length. \u00a0Message length preceding the message makes it very easy to interpret a feed from inside an FPGA. What to do first? Well, what does eXtreme Programming say to do? It says keep it simple. So, I am working on a LabVIEW 2016 program that does the following: Open a &#8230; <a title=\"Filter Market Data Messages in an FPGA &#8211; part 2\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2017\/02\/20\/filter-market-data-messages-in-an-fpga-part-2\/\" aria-label=\"Read more about Filter Market Data Messages in an FPGA &#8211; part 2\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2017\/01\/19\/filter-market-data-inside-an-fpga\/\">Filter Market Data Messages in an FPGA &#8211; part 1<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2017-01-19T02:55:15-05:00\" class=\"wp-block-latest-posts__post-date\">January 19, 2017<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So I went to NASDAQs ftp site and downloaded the entire ITCH feed for November\u00a09th, 2013. \u00a0The file was large &#8211; 319MB compressed, and you can download it yourself from here: ftp:\/\/emi.nasdaq.com\/ITCH\/11092013.NASDAQ_ITCH41.gz. NASDAQ has a very simple document describing the specification here: http:\/\/nasdaqtrader.com\/content\/technicalsupport\/specifications\/dataproducts\/NQTV-ITCH-V4_1.pdf I skimmed over the specification to get an idea of how Market Data works. \u00a0What I basically understand is that at the start of the trading day, NASDAQ sends a list of all securities that will be available to trade for that day following by a bunch of messages indicating changes to prices being offered to buy &#8230; <a title=\"Filter Market Data Messages in an FPGA &#8211; part 1\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2017\/01\/19\/filter-market-data-inside-an-fpga\/\" aria-label=\"Read more about Filter Market Data Messages in an FPGA &#8211; part 1\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2017\/01\/16\/from-trump-to-profit\/\">From Trump to Profit<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2017-01-16T21:41:44-05:00\" class=\"wp-block-latest-posts__post-date\">January 16, 2017<\/time><div class=\"wp-block-latest-posts__post-excerpt\">I am sure that every single trader gets nervous whenever Trump speaks. \u00a0If he says &#8220;wall&#8221; they have to go short the Mexican Peso, if he talks about Obamacare or the &#8220;Unaffordable Care Act&#8221;, they have to short Healthcare stocks. \u00a0During his first news conference on Thursday, January 11th, 2017, he went a step further and said he wants bidding and competition for Government purchases of Pharmaceutical drugs. \u00a0So not only did the Mexican Peso suffer, but so did Pharmaceutical companies such as GlaxoSmithKline, Merck and Pfizer, among others! His news conference was from 11:00 am to 12:15 pm. Here &#8230; <a title=\"From Trump to Profit\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2017\/01\/16\/from-trump-to-profit\/\" aria-label=\"Read more about From Trump to Profit\">Read more<\/a><\/div><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/fpganow.com\/index.php\/2017\/01\/10\/hello-fpga\/\">Hello FPGA<\/a><div class=\"wp-block-latest-posts__post-author\">by john<\/div><time datetime=\"2017-01-10T14:06:28-05:00\" class=\"wp-block-latest-posts__post-date\">January 10, 2017<\/time><div class=\"wp-block-latest-posts__post-excerpt\">So I want to use an FPGA. \u00a0I don&#8217;t want to spend thousands of hours reading through manuals, learning VHDL or the &#8220;easier&#8221; Verilog, and I don&#8217;t want to spend forever picking the right hardware, accessories, boards, installing drivers, getting it to work with my operating system&#8230;etc I heard LabVIEW for FPGA is a great tool for FPGAs, but all of my computer programmer friends told me that LabVIEW sucks. \u00a0Then I started using LabVIEW for FPGA and realized that they were all wrong and I was right. Everywhere I look, I see Wall Street people using FPGAs to process &#8230; <a title=\"Hello FPGA\" class=\"read-more\" href=\"https:\/\/fpganow.com\/index.php\/2017\/01\/10\/hello-fpga\/\" aria-label=\"Read more about Hello FPGA\">Read more<\/a><\/div><\/li>\n<\/ul>\n<\/div><\/div>\n\n\n<p><\/p>\n\n\n<div class=\"gb-container gb-container-f03eefb7\"><div class=\"gb-inside-container\">\n\n<p><\/p>\n\n\n\n<h4 class=\"gb-headline gb-headline-0ec03123\"><span class=\"gb-icon\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 60 52.906\"><path d=\"M24.104 10.505c1.5-.629 2.13-2.42 1.452-3.872l-2.372-4.985A2.893 2.893 0 0019.409.245c-4.114 1.742-7.648 4.017-10.455 6.776-3.437 3.242-5.76 6.969-7.018 11.084C.678 22.267 0 27.93 0 35.142v14.86a2.913 2.913 0 002.904 2.904h19.022a2.913 2.913 0 002.904-2.904V30.979a2.912 2.912 0 00-2.904-2.904h-9.1c.097-4.889 1.258-8.809 3.388-11.762 1.743-2.371 4.357-4.307 7.89-5.808zM58.276 10.505c1.5-.629 2.129-2.42 1.452-3.872l-2.372-4.937C56.678.292 55.033-.337 53.581.292 49.516 2.035 46.03 4.31 43.175 7.021c-3.437 3.291-5.808 7.018-7.067 11.133-1.258 4.065-1.887 9.729-1.887 16.989v14.86a2.913 2.913 0 002.904 2.904h19.022a2.913 2.913 0 002.904-2.904V30.98a2.912 2.912 0 00-2.904-2.904h-9.148c.097-4.889 1.259-8.809 3.388-11.762 1.742-2.372 4.356-4.308 7.889-5.809z\"><\/path><\/svg><\/span><span class=\"gb-headline-text\">FPGAs are ultra-specialized, low-power, and really fast custom-processors that can dramatically reduce both your latency and your power consumption, yet they take a really long time to develop using traditional HDL tools.  Using the right set of tools one can develop FPGA solutions in a timely fashion.<\/span><\/h4>\n\n<\/div><\/div>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>FPGAs are ultra-specialized, low-power, and really fast custom-processors that can dramatically reduce both your latency and your power consumption, yet they take a really long time to develop using traditional HDL tools. Using the right set of tools one can develop FPGA solutions in a timely fashion.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"class_list":["post-17596","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/fpganow.com\/index.php\/wp-json\/wp\/v2\/pages\/17596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fpganow.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fpganow.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fpganow.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fpganow.com\/index.php\/wp-json\/wp\/v2\/comments?post=17596"}],"version-history":[{"count":53,"href":"https:\/\/fpganow.com\/index.php\/wp-json\/wp\/v2\/pages\/17596\/revisions"}],"predecessor-version":[{"id":19919,"href":"https:\/\/fpganow.com\/index.php\/wp-json\/wp\/v2\/pages\/17596\/revisions\/19919"}],"wp:attachment":[{"href":"https:\/\/fpganow.com\/index.php\/wp-json\/wp\/v2\/media?parent=17596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}