• Content Count

  • Joined

  • Last visited

  1. Wilton

    Zybo Block interface

    I have at least a partial answer. By looking at the "External Interfaces" and expanding ADC_INT_3v3IN I found out the program breaks that down into two signals suffixed with "_v_n". Making the xdc file conform to that solved the ADC issue. (At least it built without error, I haven't tried to use it in SDK, yet.) And while this is a bit more crude than I would have hoped for, I found "Utility Buffer" in the IP that can be configured to be a OBUFDS which I could then map to external ports that matched the xdc file. I'd have preferred to be able to tell it the port was differential and h
  2. Wilton

    Zybo Block interface

    I'm still trying to connect the dots between the various pieces of Vivado. I just created an xdc file for a project. It has some differential I/O. By looking at examples, I figured out that PACKAGE_PIN is not needed for the _N pin. Next is how I connect a block IP to this. I've done it for some simple single ended uses. But here are two differential examples I can't sort out: 1. Create a differential clock. The block diagram has FCLK_CLK1 which I have set to 40 MHz. The xdc file has: #8 channel 40 Ms/s DDR Serial ADC #IO_L4P_TO_34 set_property PACKAGE_PIN V12 [get_po
  3. Wilton

    JTAG-HS3 vs JTAG-HS2

    The web pages and data sheets indicate that HS3 can't program SPI flash chips and HS2 can, so for some users, that could be a reason to have at least one HS2 on hand. In my case at present, I'm working with Zynq devices and I'm sure there are ways of passing FLASH code through the device using JTAG and possibly some PS code (still to be explored), but the HS2 provides a direct hardware method and I believe Digilent has drivers to simplify using that capability.
  4. Here's an interesting post-solution addition. The design is less than compelling as created due to the fact that it increases the PWM linearly whereas the eye observes the LED logarithmically. I made a small change to the program that causes it to increase exponentially, creating a more visually pleasing effect. The key is to scale the variable by 256 so integer truncation is not a problem. Then multiply it each time by 257 and divide by 256. The step increase is 1 initially, but as the value grows larger, the step grows with it. The result is that the observer can see the LEDs essential
  5. OK. I finally succeeded on my own. For anyone else who might fall into a trap, my issue was at step 8.2. It says click next and finish, which is a bit too abbreviated. I probably missed the part about next (there isn't a picture of the screen after that). Clicking finish uses the default project (that will be seen if you click next). In my case it was Hello World. Exactly why it didn't give me a conflict on a duplicate copy of main() I don't know. When I built this for the third or fourth time, it did give me a conflict. As Jon pointed out early in this exchange, you have to select "E
  6. I've made a little progress. I downloaded the second zip. I found sdk in the start menu and launched it and opened the project, downloaded the bitstream and ran the code--and it worked as intended. (other than the fact the when running SDK from the start menu it couldn't figure out how to edit main.c--there's some link to the editor missing). So I will go back a third time and try to build this more carefully myself. My guess is that I may not have absorbed enough of the first demo. The IP demo is rather brief on the generic starting instructions and I may have overlooked something i
  7. Thanks for the quick response. Unfortunately I'm still not at the end of the tunnel. I copied the project to my system and tried to open it in SDK. The only way I know to open SDK is from Vivado. SDK isn't even on my desktop. So I had to open it in Vivado, which immediately complained about the xdc file, so I gave it a valid file location on my system. Then it complained things were out of date, so I had to generate a new bit stream and all that entails. Then I tried to launch SDK, but it couldn't match up anything, so refused to launch, so I had to remove the sdk direct
  8. I just completed the Zybo custom IP tutorial and everything appeared to be fine until I ran the application (last step). It did nothing. I tried running in debugger and eventually concluded that it was stuck at memory address 0x10, not in the source code. I previously did the getting started tutorial just fine, so I know the hardware is working and presume I have a basic understanding. The custom IP tutorial was preparatory to creating some custom IP of my own for a custom board, so I need to understand the process. My initial guess is that there should have been some initializati
  9. I'm not sure why all the secrecy about this interface. I would like to use the Zybo as the starting point for a much simpler dedicated design using Z010, and would like to include that remote programming capability. The Zybo bootstraps the process for intial experimentation and until boards can be fabbed and assembled. Is that a problem? The final design contains a number of application specific components (including a 40 MHz 8 channel ADC) but omits DRAM, uSD card, video, audio and PMOD