Page 2 of 3

Re: Access to FPGA

Posted: Thu Mar 03, 2016 2:57 pm
by Konstantin
Hi,
I solved problem with building project.but i have one question about -stp ../signaltap/debug_rx.stp because debug_rx.stp are not exist in signaltap folder after building is it ok?or i should choose files which exist in signaltap folder? After building firmware Signaltap should displayed in the summary or not?Im trying to use signaltap analyzer and add rx.signals.stp.signaltap shows that instance not found
As I understand i should follow the next steps for add signal tap in my firmware
1 go to quartus folder cd /home/kostya/bladeRF/hdl/quartus
2 create a project quartus_sh -t /home/kostya/bladeRF/hdl/quartus/bladerf.tcl -rev hosted -size 115
3.quartus_sh -t /home/kostya/bladeRF/hdl/quartus/build.tcl -rev hosted -size 115 -force TalkBack-stp /home/kostya/bladeRF/hdl/quartus/signaltap/debug_rx.stp
4. start building firmware ./build_bladerf.sh -r hosted -s 115 -a /home/kostya/bladeRF/hdl/quartus/signaltap/debug_rx.stp
Could you please give me some hints if i do something wrong
Quartus 15.0 ubuntu 14.04

Re: Access to FPGA

Posted: Mon Mar 07, 2016 6:29 pm
by bglod
The .stp file can reside anywhere on your machine, you'll just need to provide a valid path to the .stp file when running the build script.

A few points to remember when creating a SignalTap instance:
- Use the Node Finder to select your clock and data signals.
- In the Node Finder window, there is a "Filter" drop-down, make sure this is set to either "SignalTap II: Pre-synthesis" or "SignalTap II: Post-fitting" as this will ensure you only select valid nets.
- Remember to set a reasonable sample depth. "Reasonable" depends on what you're trying to look at. Don't make it too large or you risk running out of block memory in the device.

I'm a little confused about your build process. Why are you doing steps 2 and 3 (quartus_sh)? You should just be able to run build_bladerf.sh with appropriate options, and it will handle all the calls to quartus_sh, ip-generate, etc. for you.

In the past, I've sometimes had issues with SignalTap not being enabled even though it should be. I've only seen this manifest in a scripted build, and I'm not sure if it has been fixed. At any rate, to get around this glitch (if you run into it), I've opened the Quartus project in the GUI, verified SignalTap is enabled and using a valid .stp file, then re-run Analysis & Synthesis, Fitter, and Generate Programming File manually using the GUI.

Re: Access to FPGA

Posted: Tue Mar 08, 2016 2:47 am
by Konstantin
Hi,
Thanks for reply)Im solved my problem when im using GUI,i think a scripted build is not working properly.Better to use GUI

Re: Access to FPGA

Posted: Tue Mar 08, 2016 9:08 am
by bglod
Okay, great! Just want to clarify that the build script does work when you're not adding SignalTap to the design. If you need to add SignalTap, you'll have to open the GUI. It's a bug in Quartus that has existed for ages. However, to setup your SignalTap file you'll generally have the GUI open anyway, so you should be able to just go from that back to Quartus to rebuild the project. I hope that helps.

Re: Access to FPGA

Posted: Wed Mar 09, 2016 8:15 am
by Konstantin
Thanks a lot for clarifications)If its possible,I think it would be better,if you will mention about it on the GitHub

Re: Access to FPGA

Posted: Fri Apr 01, 2016 8:41 pm
by bglod
Hey Konstantin,

I found a fix to get SignalTap into scripted builds, and incorporated it into our build script. Your issue should be fixed as of commit 1f0e6f6 on bladerf/master.

Re: Access to FPGA

Posted: Tue Apr 05, 2016 4:13 am
by Konstantin
Hi,
Thanks a lot) I have another question for you guys,i want to transmit sinusoidal signal(on the certain Freq,power,BW and samplerate) from TX to RX. If its possible just to change FPGA bitstream, i mean put the desired values of (Freq,power,BW and samplerate),put sine wave generator in FPGA bitstream and choose the appropriate loopback mode,because the main point of those task is just plug in BladeRF and transmit signals without any assistance from the user.Could you please answer if its possible and what should i change in FPGA bitstream?

Re: Access to FPGA

Posted: Mon Apr 11, 2016 1:08 pm
by jynik
This is possible, but largely just depends on how you want to go about it. It will require you to review the code and make edits, but here are some quick tips.

If you want a "quick" solution, you could use the bladeRF-cli in verbose mode to determine what registers are written to the LMS6 and the Si5338 devices to configure them as you desire. (I would recommend reading the code, as some register accesses are polling while waiting things like PLL lock statuses.) You could then change the NIOs code to configure the device as you want, and then signal the FPGA to start.

In terms of supplying samples to the LMS6002D, you'd want to probably add (or use, if there's an existing one) a MUX between the samples coming from the FX3 and your internal signal generator, defaulting to the latter.

Re: Access to FPGA

Posted: Fri Apr 22, 2016 5:15 am
by Konstantin
Hi Jon,
What dou you think about cordic algorithm,can i use this for generating just sine. I want to connect this algorithm to I component in lms6002d/ I generated cordic algorithm in (NCO IP tool quartus).

Re: Access to FPGA

Posted: Tue Apr 26, 2016 7:51 am
by bpadalino
Sure - you can use an NCO to generate a complex tone. If you just want a simple tone, though, you may want to just use a LUT. Either way, I would use both the cos and sin outputs unless you really do want to have a real-only signal.

The Altera NCO may require you to have a license to create an RBF. It has a mode, though, where you can get the SOF and load it over JTAG.

As for changing frequency/samplerate/bandwidth, you will need to write the appropriate values to the LMS6002D and Si5338 using the NIOS processor inside the FPGA.

Hopefully this helps.

Re: Access to FPGA

Posted: Tue Apr 26, 2016 10:30 am
by Konstantin
Thanks for reply),As I found on the altera web site, NCO IP include in the IP Base Suite,I have one more question for you)
Im added my NCO in the design,but I have troubles with connection.My NCO has several inputs such as (clk,clken,reset_n,phi_inc_i and output ports such as fsino and out_valid),where reset_n-Active-low asynchronous reset,phi_inc_i - Input phase increment,fsin_o - Output sine value,out_valid -Data valid signal. Asserted by the MegaCore function when there is valid data to output.
Here I show part of code which I added to bladerf-hosted.vhd

Code: Select all

U_cord_gen : entity work.cord_gen
      port map (
			clk            =>  tx_clock,
			reset_n	=>  tx_reset,
			clken	=>  '1'
		) ;
as i understood I should connect this ports for lms6002d for transmit part,it means that
clk => tx_clock,
reset_n => tx_reset,
clken => '1'
phi_inc_i i can put some constant phase,
fsin_o => ??
(tx_clock and tx_reset form lms6002d,clken i think it should be always in '1',but i have a question,how I should connect fsin_o,which port in lms6002d,because from my poin of view I should to connect with tx_lms_data.
Could you please give me some hints in this case,how I should connect my NCO?

Re: Access to FPGA

Posted: Tue Apr 26, 2016 5:31 pm
by bpadalino
Is there an option to produce a sin and cos output? If so, you should do that and assign it to the raw TX sample that goes into the gain/phase correction block. The cadence of the signal going in should have a valid asserted every other clock cycle.

Be sure to change the polarity of your reset going into that core. The tx_reset signal is active high.

Hope this helps.

Re: Access to FPGA

Posted: Mon May 16, 2016 12:29 am
by Konstantin
Hi,I have a question how i can start transmit signals,without tx config file,because as i understood bladerf take all information from this file.Im added my NCO in bladerf and want to check how its work?on the web site i just found how transmit signals based on bin or csv file/and what do you mean about cadence?

Re: Access to FPGA

Posted: Tue Sep 20, 2016 6:17 am
by Konstantin
Hello,
Im implemented FFT engine and now Im trying to insert it in the stock hosted-bladeRF.vhd.I placed my fft engine between fifo reader and tx_iq_corrector,output from my engine connected with tx_sampe_raw_i and _q respectively.valid signal from fft also connected with tx_sample_raw_valid.Now Im trying to check how it works,I connected bladeRF with Spec Analyzer.but there is only noise.My question is if I want to transmit my signals,should i use example with file which described on the web site,or my signals should transmit automatically when Im turned on bladeRF?
I checked examples as an atsc_tx.vhd.and used the same principle

Re: Access to FPGA

Posted: Mon Oct 03, 2016 1:44 am
by Konstantin
Hi,
Could you pls tell me how to get an acces to TX(LMS) block,because now transmitter begin working only after when I turn on bladerf- cli -i?