Altera_Forum
Honored Contributor
8 years agoSeeking HSMC-Transceiver setup assistance for C5G Eval Board
Hello all,
I've been trying to build a very basic bit error rate tester (BERT) utilizing the Cyclone 5 starter kit (C5G), and was wondering if anyone could render some assistance. First, I'm incredibly new to FPGAs, VHDL, and related programming, so please be kind to any simple things I might be missing. What I'm trying to do is send out a 1 Gbps signal through the SFP-HSMC daughter card attached to my C5G, receive the signal, determine number of incorrect bits received (ie: BER), and display the BER utilizing the 4-character hex display on the starter kit. I've tried building the design from scratch to learn VHDL programming, and I've learned a fair bit about the programming; however, I've hit the point that I'm not sure if I'm transmitting/receiving the data correctly. At this point, I've ran into the following problems: 1. Am I transmitting my PRBS (which I've set and is not randomly generated right now as I'm unable to get the random number generator functions to work) correctly? 2. If I am, am I receiving it? I'm a bit confused on how I setup my VHDL code to transmit then listen for the received signal. I'm still getting used to the parallel processing nature and I'm not 100% sure how to read the RX pin from within a process after transmitting it using the TX pin. 3. Is there a simple way to read the BER? I had the thought of simply transmit pattern X, Read pattern X, compare received to transmitted using XOR, divide number of errors over transmitted bits, display BER on hex grid as "E-##" where# # is the number of zeroes before hitting my value (for instance 10^-9 be represented as "E-09". Basically, can the board handle real numbers such as 10^-9?) This part is relatively simple so I'm not worried about programming it, but is the chip capable of handling such numbers before I spend too much time trying to do so. Sorry for being long winded, but what I'm looking for can be boiled down to 2 things: Can anyone provide an example of a simple transmitter/receiver code for the C5G and is there a megafunction (similar to ALT4GXB ) for cyclone 5 chips? I'm looking for a quick solution sure, but I'd love to use this as a learning experience for VHDL just as much as getting the final product done. As such, example codes are more appreciated than simply debugging my code.