Forum Discussion
Altera_Forum
Honored Contributor
14 years agoAbout Stratix4 IO feature
The Stratix4 handbook said the setup time of input pin is about 200ps.
Does it means a signal about 3Gbps could pass through the IO pins in Stratix4 devices, and I can use plural clocks(300MHz) with different phase to over-sample the signal?12 Replies
- Altera_Forum
Honored Contributor
--- Quote Start --- In shrot, it works like a logic analyzer very much, a logic analyzer work in timing analyzing mode. --- Quote End --- ByteParadigm have a device that does this using a Xilinx part: http://www.byteparadigm.com/files/documents/thunderseries_wp.pdf Cheers, Dave - Altera_Forum
Honored Contributor
--- Quote Start --- Right, but there is a slight difference in what happens if you sample directly with the FPGA receiver. In that case, the input analog signal is encoded as a 0 or 1 based on the analog input voltage at the time the receiver samples the input. By putting a digital comparator in front of the receiver, you are changing the signal seen by the receiver to a binary signal with fast edge transitions. These edge transitions are not synchronous to the receiver clock, so when it samples, it can still produce a metastable output value. Its not clear to me that there is any advantage in adding the comparator, unless of course it was clocked synchronously with the receiver. You might be better off with a limiting amplifier or clamping diodes on the input, so as not to violate the receiver voltage limits. You must be recovering some information from the input, otherwise you would not sample it! So what information are you interested in? The power spectrum? Cheers, Dave --- Quote End --- I'm sorry, I didn't explain my design clearly. In shrot, it works like a logic analyzer very much, a logic analyzer work in timing analyzing mode. - Altera_Forum
Honored Contributor
--- Quote Start --- That would be inevitable to generate setup/hold errors, if I sample an arbitrary signal using transceiver. --- Quote End --- Right, but there is a slight difference in what happens if you sample directly with the FPGA receiver. In that case, the input analog signal is encoded as a 0 or 1 based on the analog input voltage at the time the receiver samples the input. By putting a digital comparator in front of the receiver, you are changing the signal seen by the receiver to a binary signal with fast edge transitions. These edge transitions are not synchronous to the receiver clock, so when it samples, it can still produce a metastable output value. Its not clear to me that there is any advantage in adding the comparator, unless of course it was clocked synchronously with the receiver. You might be better off with a limiting amplifier or clamping diodes on the input, so as not to violate the receiver voltage limits. --- Quote Start --- What I need to do is just sample. No information I should recovery from the input signal. --- Quote End --- You must be recovering some information from the input, otherwise you would not sample it! So what information are you interested in? The power spectrum? Cheers, Dave - Altera_Forum
Honored Contributor
--- Quote Start --- If you were going to implement a sigma-delta converter, then noise shaping requires converting the quantization noise signal back to analog. It sounds like you are just implementing a plain-old 1-bit ADC, so you do not have to worry about this comment. Are you using a clocked comparator? If you are not then all you are doing is converting the analog signal with arbitrary amplitude into a binary signal, i.e., a signal with only two voltage levels. You are performing amplitude quantization, but are not sampling the signal. When you sample the signal at the transceiver, you will generate setup/hold errors, since the transition of the binary signal is not synchronous. Cheers, Dave --- Quote End --- --- Quote Start --- Are you using a clocked comparator? --- Quote End --- As you said, not a clocked comparator. --- Quote Start --- you will generate setup/hold errors, since the transition of the binary signal is not synchronous. --- Quote End --- That would be inevitable to generate setup/hold errors, if I sample an arbitrary signal using transceiver. What I need to do is just sample. No information I should recovery from the input signal. - Altera_Forum
Honored Contributor
--- Quote Start --- BTW, I do not need to converter the signal back to analog. --- Quote End --- If you were going to implement a sigma-delta converter, then noise shaping requires converting the quantization noise signal back to analog. It sounds like you are just implementing a plain-old 1-bit ADC, so you do not have to worry about this comment. --- Quote Start --- In my design, a high speed comparator convert the analog signal into a certain logic level, such as lvds, cml, lvpecl, etc. Then sample it every 400ps. At last the analog signal changes to a 2.5Gbps digital data, and I will analyze the digital data in FPGAs. --- Quote End --- Are you using a clocked comparator? If you are not then all you are doing is converting the analog signal with arbitrary amplitude into a binary signal, i.e., a signal with only two voltage levels. You are performing amplitude quantization, but are not sampling the signal. When you sample the signal at the transceiver, you will generate setup/hold errors, since the transition of the binary signal is not synchronous. Cheers, Dave - Altera_Forum
Honored Contributor
--- Quote Start --- Ryan is correct, you can do this. Its can be used to create a 1-bit high-speed ADC. You configure the XCVR in basic mode and implement manual control of the CDR lock-to-reference and lock-to-data control signal. Its not that great for creating a multi-channel ADC, since each receiver deserializer starts independently. What types of signals are you planning on sampling? If you want to oversample, then you gain 1-bit (6dB ) for every 4x oversampling. How many bits (what dynamic range) do you need in your final signal? I don't think you can implement a sigma-delta converter, since you need to convert the signal back to analog, and there is an unknown delay in the receiver-back-to-transmitter path. You can do this with LVDS buffers. I think Altera has a MAX II app note that shows sigma-delta, and Lattice definitely has one. Cheers, Dave --- Quote End --- BTW, I do not need to converter the signal back to analog. In my design, a high speed comparator convert the analog signal into a certain logic level, such as lvds, cml, lvpecl, etc. Then sample it every 400ps. At last the analog signal changes to a 2.5Gbps digital data, and I will analyze the digital data in FPGAs. - Altera_Forum
Honored Contributor
--- Quote Start --- Ryan is correct, you can do this. Its can be used to create a 1-bit high-speed ADC. You configure the XCVR in basic mode and implement manual control of the CDR lock-to-reference and lock-to-data control signal. Its not that great for creating a multi-channel ADC, since each receiver deserializer starts independently. What types of signals are you planning on sampling? If you want to oversample, then you gain 1-bit (6dB ) for every 4x oversampling. How many bits (what dynamic range) do you need in your final signal? I don't think you can implement a sigma-delta converter, since you need to convert the signal back to analog, and there is an unknown delay in the receiver-back-to-transmitter path. You can do this with LVDS buffers. I think Altera has a MAX II app note that shows sigma-delta, and Lattice definitely has one. Cheers, Dave --- Quote End --- Thanks a lot. i'm not familiar with some words you mentioned. but your suggestions were helpful. i'm going, and have a try. thanks. - Altera_Forum
Honored Contributor
--- Quote Start --- I don't think regular I/O are the way to go. 3Gbps just seems way too out there. Could you use a transceiver and just hold the CDR unit in "lock to ref" mode instead of lock to data? That way you're not really recovering a clock out of it? (I may be way off base, just throwing out an idea...) --- Quote End --- Hello Rysc!! i'm so glad to receive your answer above, because I had tried to use a transceiver,and lock its clock to ref clk. That method worked, but one deserialized channel cannot be sync well. For example, the deserializer factor is 10, all the deserialize channels synchronized to the slow clock, except the channel 5. The data on ch5 was asserted after the slow clock's rising edge(Tsu is negtive), the data on other channels was valid before the rising edge. - Altera_Forum
Honored Contributor
--- Quote Start --- Could you use a transceiver and just hold the CDR unit in "lock to ref" mode instead of lock to data? That way you're not really recovering a clock out of it? (I may be way off base, just throwing out an idea...) --- Quote End --- Ryan is correct, you can do this. Its can be used to create a 1-bit high-speed ADC. You configure the XCVR in basic mode and implement manual control of the CDR lock-to-reference and lock-to-data control signal. Its not that great for creating a multi-channel ADC, since each receiver deserializer starts independently. What types of signals are you planning on sampling? If you want to oversample, then you gain 1-bit (6dB ) for every 4x oversampling. How many bits (what dynamic range) do you need in your final signal? I don't think you can implement a sigma-delta converter, since you need to convert the signal back to analog, and there is an unknown delay in the receiver-back-to-transmitter path. You can do this with LVDS buffers. I think Altera has a MAX II app note that shows sigma-delta, and Lattice definitely has one. Cheers, Dave - Altera_Forum
Honored Contributor
I don't think regular I/O are the way to go. 3Gbps just seems way too out there. Could you use a transceiver and just hold the CDR unit in "lock to ref" mode instead of lock to data? That way you're not really recovering a clock out of it? (I may be way off base, just throwing out an idea...)