- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have an application in which I will be using a NIOS with some low speed logic ~30Mhz or so, but I also need to have a small part of my logic for generating high speed, high resolution pulse trains on the order of 1ns resolution. What is the feasibility of doing both tasks in the same device? Does Altera have anything suitable for the high speed requirement or should I be looking at a programmable timer chip?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
To get 1ns resolution on pulse widths using timers or shift registers, I would need that chunk of logic to run at 1Ghz. This is beyond the capabilities of most mainstream programmable logic devices. On the other hand, I see that the serial tranceivers on some fpgas can exceed 1Gbps using internal PLLs. I only need to xmit fairly short pulse trains in a one-shot mode, but I do need to xmit two such pulse trains at the same time. I am considering using two of these serial tranceivers with long shift registers. If it works it could save adding an external pulse generator. Sound reasonable?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Check that the I/O standard(s) (LVDS and perhaps something similar) that can be used with the serial transceivers in your device are suitable for your application.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I will need LVDS to TTL buffers, but that is no problem. I am more concerned that there is some flaw in my scheme. I can read those cyclone or stratix data sheets for hours and still not come away with any certainty. After some thought, I realize my description of what I need is misleading. The basic requirement is to xmit a pulse on both chA and chB, with programatic control of the delay between them. The duration of the pulses is not critical, but the delay between channels must be accurate to 1ns in a range from 0 to 250ns. If there is a better way to this than what I have described, let me know.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I do not think you will be able to accomplish what you want using the High Speed Serial transceivers in the GX families.
In your restatement of desired situation, what you are really looking for is fine grained starting edge capability of the pule trains. (from one to the other) You might be able to do this with PLL dynamic phase controls. I would look into that potential.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My experience with the altera PLLs is that they are intended to be tuned once for your design and left at that setting. If I could also perform dynamic adjustments that might be ideal , but I have not seen anything that would suggest it is possible. If you know of any app note or example, please let me know. I believe some of the xilinx parts incorporate DLLs which may be even more applicable provided you can get at those registers after configuration.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Search www.altera.com for "altpll_reconfig" to get to the altpll_reconfig megafunction user guide, application notes for use with specific device families, design examples, etc.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The 1ns resolution should be achievable using ALT_LVDS transmitter running at 1GHz. You can set LVDS TX at x 10 mode and have the parallel clock run at 100MHz. This translates to 10 parallel bits each for channel A and B. You can then use Nios to update these 20 bits with the pulse pattern and offset. Without any additional logic, the update time will be limited by the frequency Nios is running at. If you can add additional logic or SM running at 100MHz, you should be able to repeatedly generate the pulse and timing you want.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is one way I was thinking it could work, but I didn't know about the x10 mode. I would need a larger buffer than 10bits, but at least that only needs to work at 100Mhz. I have a different solution now using delay lines but I will keep this in mind. What do you think is the cheapest/lowest grade family that would be capable of this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, delay lines like this are a sure solution and the way I am leaning. There is more complexity and they aren't cheap either. There are also temperature dependencies which would be easier to control inside one device.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It sounds most like the timing generator in ATE. I had ever designed the digital channel board in a ATE. FPGA is not a good candidate.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page