Search the Community

Showing results for tags 'speed'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • News
    • New Users Introduction
    • Announcements
  • Digilent Technical Forums
    • FPGA
    • Digilent Microcontroller Boards
    • Non-Digilent Microcontrollers
    • Add-on Boards
    • Scopes & Instruments
    • LabVIEW
    • FRC
    • Other
  • General Discussion
    • Project Vault
    • Learn
    • Suggestions & Feedback
    • Buy, Sell, Trade
    • Sales Questions
    • Off Topic
    • Educators
    • Technical Based Off-Topic Discussions

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 6 results

  1. Hello, Without implementing a timer, I had thought that toggling a GPIO pin and observing the result via a logic analyzer(has 100Megasample/sec). The Microblaze input clock is coming from the "ui_clk" from the MIG, which seems to be 83 MHz, but when observing the pin toggle the frequency is ~37 kHz. My method for toggling the pin is just an infinite while loop with two Xil_Out32 commands, one for turning the pin on, and the other command turns it off. Any debugging methods I should try as to why the frequency of this switching is so low? p.s. I've since moved from toggling via the xil_out function and am targeting the address of the GPIO pins directly, the frequency I'm seeing now is 130.7kHz, still nowhere near the 80MHz I had been expecting. p.s.s. I've enabled caches and tried block ram vs ddr and the max i've gotten to is 1.3Mhz The following is all of the code in my program for this test: #include "platform.h" int main(void) { init_platform(); volatile unsigned int *pins = (volatile unsigned int *) 0x40000000; for(;;){ pins[0] ^= 0x1; } cleanup_platform(); } Best Regards, nystflame
  2. Hi, I wrote a small programm to test the speed limitations of triggering and I have a problem: After collecting data the setup for the next trigger takes 15ms. The application I'm building requires to capture 10ms of data with 100000 Hz, so I want to capture 1000 samples. After that I only have 10ms to setup the next trigger. The programm collects all the triggers with not too many samples. But if I capture more than 500 samples (5ms) then I start missing triggers. What can I do to do this high speed data acquisition with the Analog Discovery 2? This is the cpp-Code I use: #include <signal.h> #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include "sample.h" int bufferSize = 500; // int bufferSize = 600; // int bufferSize = 1000; int terminate = 0; void my_handler(int s) { terminate = 1; } int main(int carg, char **szarg) { signal (SIGINT, my_handler); HDWF hdwf; STS sts; printf("Open automatically the first available device\n"); if(!FDwfDeviceOpen(-1, &hdwf)) { printf("Device open failed"); return 0; } FDwfAnalogInFrequencySet(hdwf, 100000.0); FDwfAnalogInBufferSizeSet(hdwf, bufferSize); FDwfAnalogInChannelEnableSet(hdwf, 0, true); FDwfAnalogInChannelRangeSet(hdwf, 0, 4.99); // disable auto trigger FDwfAnalogInTriggerAutoTimeoutSet(hdwf, 0); // one of the analog in channels FDwfAnalogInTriggerSourceSet(hdwf, trigsrcExternal1); FDwfAnalogInTriggerTypeSet(hdwf, trigtypeEdge); FDwfAnalogInTriggerChannelSet(hdwf, 1); FDwfAnalogInTriggerLevelSet(hdwf, 1.5); FDwfAnalogInTriggerConditionSet(hdwf, trigcondRisingPositive); // wait for the offset to stabilize Wait(2); printf("Starting repeated acquisitions:\n"); int iTrigger; for(iTrigger = 0; iTrigger < 200; iTrigger++){ // begin acquisition FDwfAnalogInConfigure(hdwf, false, true); while(true){ FDwfAnalogInStatus(hdwf, true, &sts); if(sts == DwfStateDone) { break; } if (terminate == 1) { break; } } if (terminate == 1) { break; } } printf("#%i\n", iTrigger+1); FDwfDeviceCloseAll(); } Compile it with gcc -ldwf trigger.c && ./a.out It waits for triggers on external trigger source 1. The only way I see to solve this is to not care about triggers and capture the whole signal but I would really like to solve it in a nice way. Thank you for your replies Daniel
  3. I noticed that the FPGA used on the ARTY (CSG324) does not appear to have any of the GTP transceivers bonded. The FPGA used on the Basys3 (CPG236) looks to have (2) GTP transceivers bonded? This seems odd because Xilinx advertises them in quads, and doesn't mention anything about that specific package in the pinout documentation (see page 30 of Artix-7 pinout PDF, too large to upload). 1) Has anyone tried using these transceivers on the Basys3? Perhaps through a PMOD interface? 2) Is there a MRCC or SRCC pin available on one of the PMOD which is in the same clock region as one of the GTP transceivers? If It's true, I'll go ahead and order a Basys3. Thanks!
  4. Hello, I am new to this forum, so I may introduce myself first. I am from Germany and currentlly visiting a technical college here. Next year I will go to a University to study electronic engineering. My biggest hobby is to waste some time with electronics. I really like microcontroller and spend already some time programming them. Now I want to continue with FPGAs. I want to be able to handle some faster data transmissions compared to microcontrollers. My questions now are about the Pmod connectors. How fast data transmissions can I get? In the document which is aviable at the Zybo page there is written that a regular pin can handle 24MHz. How about the high-speed Pmods? Will it be able to achive a maximum of about 200MHz? Is it possible to short the 200Ohm resistors of the normal Pmods to use them as high-speed Pmods or is the PCB layout not suitable? Greetings, MrMcChicken
  5. Hi all, I am creating a custom CPU on the Nexys 4 DDR. At 100 MHz system clock, it executes commands at about 20 MIPS on average. I used async SRAM in past, this was a piece of cake as the SRAM was always faster than my CPU. But now, being on the Nexys 4 DDR, I'd like to leverage the on board DDR RAM. Having a look at Mihaita Nagy's DDR to SRAM component (link: https://reference.digilentinc.com/nexys4-ddr:sram) I was a bit surprised: On the reference page you can read, that an async. read operation of a single data word takes 210ns. Is this realistic or maybe a typo? 210ns means that the max read speed would be 4,76 MHz. This seems to slow to be true. So did I maybe get something wrong (I am a pretty new to DDR RAM topics therefore this might be the case). If I did not get it wrong: Just being curious: Why is it so slow? Are there faster ways to work with the DDR RAM? Thank you and best regards Mirko
  6. Mike

    JTAG USB Cable speed

    Hello, I am new to the Digilent JTAG-USB cable. I tried to use the Adept SDK samples to control my JTAG device. I can open and enable the device. The issue is that DjtgGetPortProperties returns a bit 0 for dprpJtgSetSpeed stating that setting the speed is not supported. Indeed, when I call DjtgSetSpeed it returns FALSE. Is setting the TCLK speed supported on the device? Thank you, Mike