All Activity

This stream auto-updates     

  1. Past hour
  2. is it possible to run Application by writing it in SDK on video passthorugh/HDMI demo given
  3. Today
  4. This was solved by switching to Vivado 2017.4
  5. Mukul

    Data compression

    I'm working on Data compression so studying different code techniques such as follows to implement on zybo board Golomb coding special case Rice code compression Huffman code Arithmetic code And finally Dynamic Markov compression I selected DMC because it is dynamic in nature and work well with sensor (as input).Here is the problem that i don't know exactly markov compression is good for this or not. Also when i study the DMC it's algorithm is similar to sequence detector (so are they same?). Secondly in video processing/image processing or in general which tech. Is used in Data compression.
  6. @SGY What you will get is a pretty nice, somewhat elderly but very useful FPGA development hardware. You also get the Zedboard community and all of its postings. There are numerous tutorials written expressly for a version of this board. I highlighted 'a version' because you need to know that there were a few important hardware changes in the life of the board. Because it's older most of the tutorials were written for long gone versions of ISE or Vivado and might be difficult to follow as the Vivado user experience changes with every new version. As to RTL code you can find some but since this is a ZYNQ product the emphasis is on the ARM development. I've had the C version of the board for quite a while and still make use of it when I need a Zynq solution. The Zedboard contributions are at this time mostly old at this time so you will have to learn the whole Zynq development ecosystem. Once you've done a few PL designs it will get easier. Zygot's hint for the day is to let Vivado create a Zynq HDL toplevel source file in a project that you, not Vivado, manage. You can instantiate that into your own toplevel design with all of the PL magic that you can conjure up. You'll have to trust me that this is the far easier way to go if you want to do FPGA development with ARM support. Your opinion is more important (to you) than mine however...
  7. @Reggs Thanks for posting your question. My first suggestion is that you figure out how to use the testbench in Vivado. You can create a special Vivado project using just the UART_DEBUGGER,vhd and YASUTX.vhd source files. It doesn't matter what device you use. Just make sure to add the T_* testbench files as simulation sources after the project has been created. Both Vivado and ISE mark source files as implementation or simulation or both and it's important that VIvado knows which are which. All of this was easier in ISE. ( in a lot of ways Vivado is a really badly conceived software application ) In Vivado Simulation Settings you can select which of the testbenches you want to simulate. I strongly suggest that you get to know how to do simulation in Vivado or ISE ( simulation is actually easier in ISE ). None of the code uses a particular feature of any particular FPGA device so you could use the free version of ModelSim that comes with Quartus to run the simulations as well. If you really can't get the simulation running let's work on that first. Once you have the simulator working it will, by default, show you the toplevel (in this case the testbench) signals. You can then add any or all of the lower level code in the hierarchy to the simulation waveform viewer. Just understand that the more signal you show and the finer the time resolution the longer the simulation takes. For this code what takes time is the slow uart output. You did read the commentary at the top of the source files, right? You should be able to use a 50 MHz clk and get out a message at a 115200 baud rate. I've used this component often and with a few baud rates ( I haven't tested it exhaustively at lots of different baud rates ). The idea is to send a string of hex numbers in ascii form so that you can read the value of a register in your code at a particular event or time. This particular tool isn't meant to send text, only hex numbers in ascii format. The number of hex digits displayed in the terminal should match your DATA_CHARS assignment. Are you sure that the clock that drives the UART_DEBUGGER matches the generic CLK_RATE? From what you depict as your output it looks as though your problem is not with baud rates ( clearly there are recognizable characters being printed ) but in using the data_write_stb and busy signals. data_write_stb should not be asserted until after busy is de-asserted (low). The busy signal indicates that the YASUTX transmitter is in the process of sending a set of characters and not ready for another set. Make sure to strobe data_write_stb for only 1 'clk' clock period. In your code you will decide what conditions or event starts a message. It should be obvious that any baud rate is going to be pretty slow relative to whatever is going on in your design at 50 MHz so you need to make logic to select the instant where your data is captured and sent. By the way you can capture multiple data states in successive clocks by putting a fifo between your data and the UART_DEBUGGER; that way you can feed say, 1000, snapshots of your data to the fifo and let the UART_DEBUGGER read them at its own slow uart time frame. I have an example of this lying around somewhere around here... Oh, if you look at S3_PGMR_D.vhd in the S3_PROGRAMMER_R1.zip source in the S3 Starter Board Programmer project that I've posted here in the Project Vault you can see an example of using a FIFO with UART_DEBUGGER. You may wonder why you'd want to print out data faster than you can read it but if your use Putty as your terminal it can be set up to fork all incoming and outgoing text to a file so that you can read it later... how cool is that? Once you get the code simulated you will quickly figure out what's going on. Hopefully, you will be encouraged to start on creating your own debugging IP. You can, with a bit of skill and practice make better and more useful debugging tools than Vivado provides.
  8. Yesterday
  9. want to buy ZEDBOARD ZYNQ-7000 ARM/FPGA SOC. Will RTL code provided with the board? what do i expect to get? Thanks,
  10. Dear Sir/Madam, I am trying to create a single pulse using the wavegen in labview but couldn't find the subVIs in the DigilentWF library. I was able to use the Waveform software to create a single pulse. Attached are the pictures. Is there anyone that can help to shed some lights on how to achieve that? Much appreciated.
  11. I was working on my project the other day and in between launches, the Vivado SDK stopped generating the drivers folder. I didn't change anything in my block diagram and only changed a little bit of VHDL in the top file (creating 2 wires unrealated to the IP cores). My block diagram has a Microblaze connected to 3 PMOD SD blocks and a BRAM controller. I've grabbed the most recent version of the vivado-master library from Digilent's Git. I'll attach the SDK output log. Let me know what else you need from me, and thanks a million in advance everyone! SDK.log
  12. I'm trying to boot petalinux on the Z7-20 board and after following the instructions in the github page, I am running into an error. After putting the SD card into the board and starting the boot process, it says there is a command not found. Do I need to try redownloading the packages in case an error occurred doing this? I'm running this off of Ubuntu 2017.4 and I know there were issues with the locale checks where I had to edit those files in order to bypass. Thank you for the help
  13. kwilber Thanks! That's what I need to know for now. I'm solidifying my choice of board and trying to locate anything which can't work with the board that I choose. I've been leaning towards Arty A7, and this was the last potential gotcha I have to check. I'll move forward now and assume Arty A7 is it. I'm still trying to get my company to install Vivado on my PC, or I would have been able to look myself directly. Allan
  14. The Digilent proprietary USB UART/JTAG circuity allows for simultaneous jtag and uart use.The board appears as two serial ports. Vivado and the SDK automatically find the jtag port and you can use a communication app like TeraTerm using the other port. The "hello world" example you can create in the SDK demonstrate that. Serial communication with the pc is fairly common.
  15. Hi @jamesW, I think that the bit depth of both images would need to be the same in order for it to work correctly (which I believe you said did work correctly at the end of your original post), though I am not certain of this. From what I can tell in the MTDS Library Programmer's Reference Manual (available as part of the documentation included in library download), it says in the BitMap Objects section that "Depending on the coordinates specified and the graphical element being drawn, the clipping can result in all, some, or none of the pixels making up the graphical element to be rendered actually being drawn on the bitmap itself. This is not an error, it is simply a natural consequence of the view that a bitmap is a viewport onto a larger virtual coordinate space." Truthfully, though I'm not certain when these circumstances would occur, though it seems to support the idea that both images would need to be the same bit depth. I also know there are a number of raster operations you can apply in the BitBlt() function as it's own parameter which specifices how the source and destination pixels are combined, but I'm not very familiar with how those all work visually, but the operations are defined on page 12. Thanks, JColvin
  16. Hi All, The first thing that I suspected is a bad cable, so I did try it with several different brand micro USB cables. I tested it with different USB ports, a powered USB hub, then I tested it with another PC. Same behavior in all cases. Second I suspected that maybe since the board was more recent than the other boards I had been using, I updated the Digilent drivers from the Digilent web site. I even installed the Digilent Adapt 2 app which permits you to program the part without Vivado. But the same flaky behavior was observed. I took a look at the board under a magnifying glass to see if anything is amiss -- it is tiny with 0201 parts, but it looks fine. I rebuilt the design (with different pinouts) for the Arty board, following the same programming sequence, and that worked fine on the first try. I regularly work with different FPGA boards, including the Zedboard, the original Zybo, the Zybo Z7-20 and the Arty with no such issues on the same setup so I think the likelihood that something with my installation of Vivado, drivers, or knowledge of FPGAs being the issue is low. I will test the current draw, but I cannot imagine that exceeding 500 mA would be considered normal for an idle board, especially if it is not driving anything external. The Arty works fine just powered off the USB bus (it has the same Xilinx XC7A35T-1C part). I'll look into how others resolved this problem, but it seems to look like an issue with the FTDI chip. Unfortunately the Cmod does not have an alternate JTAG pins to bypass the FTDI. Thanks!
  17. Hi @D@n Thank you for your perfect analyzing and solution to my issue . I just toggled the MSB in each written Byte and I got the sinewave finally. However, I wondered , since in the data sheets (AD5541A , AD7303) is mentioned I have to use operation amplifier in order to get a bipolar signal ! Thanks again.
  18. Thanks for your replies. Sure, if I can use the single USB cable for debug plus device configuration, I'll be glad to do it! I just didn't understand how Vivado would know about the USB-to-FTDI chip link for the Arty A7. Isn't this why we require Adept for configuration instead of doing it directly by Vivado? Also, I'm I'm using a UART bridge for communicating with the Arty A7, wouldn't debug wreck that connection? I'll look at the videos, but I doubt this sort of thing is covered, PC communication with the Arty boards is not something that most people do. Allan
  19. its not detected by waveforms or windows device manager.
  20. I am trying to figure out the pin functions on both the Zedboard and KC705 boards, and was wondering if there was a document that explains the functions of the pins based on their names.
  21. Hi @Allan Flippin, The USB UART connector/programming circuit on the Arty works with microblaze allowing you to debug in SDK. If you were wanting to use the JTAG HS2 as an alternative for configuring/debugging and running an application for the Arty in SDK you can do that to. I just made a simple GPIO/uart project using the JTAG HS2/JTAG connector to program the fpga and run the application which worked with one exemption. Using the JTAG HS2 did not facilitate a com port for serial communication. best regards, Jon
  22. jpeyron

    Vivado free for Artix-7?

    Hi @TerryS, Glad to hear you were able to get Vivado downloaded , installed and get through the "blinky" tutorial! Thank you for sharing what you had to do to get this done. best regards, Jon
  23. Thank you very much for your reply! My teacher asked me to modify the Makefile and then use the cross-compilation toolchain to compile the WiFi driver. For example, modify CC=gcc, AR=ar, KSRC, ARCH etc. My teacher limited me to make the WiFi AP in the above way, even though I have been able to configure the wifi driver in the Petalinux-config -c kernel to make the RT3070 as a WiFi AP easily. Can you give me some advice on the wireless network card model? I have tried RT3070, RT5572, RTL8812au, MT7601
  24. There have been other cases like this. The best solution is to use a high speed (good quality) USB cable. https://forum.digilentinc.com/topic/4769-vivado-hardware-manager-disconnects-cmod-a7-target-in-win7/ https://forum.digilentinc.com/topic/17435-unstable-usb-connection-with-cmod-a7-35t/ https://forum.digilentinc.com/topic/9766-digilent-cmod-a7-disconnects-andor-does-not-program/
  25. Hi @Kris Persyn, I'm glad to hear you were able to get the HDMI project up and running. Thank you for sharing what you had to do! best regards, Jon
  26. I'm trying to run the PMOD SD IP core on a Nexys 4 DDR, using simple drag and drop from the board tap. I also add a microblaze and an UARTlite for communication. I wish to run the SDK (autogenerated) example of the SD PMOD IP core. I have used the same approach with the OLED and several other PMOD and it worked out fine. But with the SD card it fails, I get these critical warnings. I am surprised there is a problem at all, since I only used the PmodSD IP core, written by Digilent. See below. The file of concern below: Thanks for any help!
  27. @dcc, This is really the backwards way to get something like this going. You should be proving your design in simulation before jumping into a design on hardware. Let me offer you an alternative. Here is a Verilog driver for talking to an SD card using SPI. If you have already chosen to use the AXI bus, you can find an AXI-lite to WB bridge here that will allow you to talk to this core. Even if you already have a driver you like, this documentation for this one describes how to set up the SD card to where you can talk to it, and provides examples of how to read and write sectors. Even better, there's a piece of C++ code which can be used as a simulator with Verilator. (Not sure if this would work with MicroBlaze or not.) You can then use Linux tools, such as mkfatfs and such, to create a file with a FAT format that you can use as a "simulated" SD card. When the simulation isn't running, you can mount the card on your system and check out/modify the files, and so know that things will work (based upon your experience with simulation) once you finally switch to hardware. Indeed, if you are willing to accept the risks, you could even interact with your SD card from the simulation environment itself. If you want an example of a set up that would control the SD card interface from a ZipCPU, you can check out the ZBasic repository which has such a simulation integrated into it. Indeed, there's even an sdtest.c program that can be used for that purpose. As for reading and comprehending the FAT filesystem, there's a FATFS repository that is supposedly good for use with embedded software. I haven't tried it, so I can't comment upon it that much. Alternatively, if you can control how the file system is laid out, you should be able to place a file of (nearly) arbitrary length a couple of sectors into the FS, and force the file to be use contiguous sectors. If you do that, then you've dealt with the most complicated parts about reading from the SD card. Just my two cents, and some thoughts and ideas along the way. Dan
  1. Load more activity