Quantcast
Channel: Altera Forums
Viewing all 19390 articles
Browse latest View live

Loopback problem in Stratix V GX

$
0
0
In out project we have implemented a Custom PHY transceiver, running in duplex mode at 5120 MHz, and the loop-back is done externally with a fibre. Through the TX link we send 191 bits (6 lanes with 32 bits each) with the next pattern:
  • FFFF0000FFFF0000 from 191 downto 128
  • AAAAAAAAAAAAA from 127 downto 64
  • know pseudo-random pattern from 63 downto 0


The pseudo-random pattern is a 128b word, with a 4b header (0101), and starts with a counter so it is easily spotted in SignalTap (see attached screen-shots).
In the RX side, we receive the next:
  • FFFF0000FFFF0000 from 191 downto 128
  • AAAAAAAAAAAAA from 127 downto 64
  • wrong pseudo-random pattern from 63 downto 0


By "wrong" I mean that the header it is now "1111" instead of "0101" and the counter instead of been 0-1-2-3-4-5-6 is 0-3-6-7-12-15-14. In addition, the counter's bits have been moved 1 clock cycle ahead. Where in the tx lanes the counter bits are 3 clock cycles after the header, in the rx side they are in the 2nd clock cycle. In the attached files it is more clear what I wanted to say.

More information about our setup:
  • Quartus 13.1
  • Stratix V 5SGXEA7N2F45C3
  • FPGA fabric transceiver interface width = 32
  • Number of lanes = 6
  • "Data rate" and "base data rate" = 5120 Mbps
  • Input clock frequency = 160 MHz
  • rx_signaldetected and rx_is_lockedtodata are asserted in all the lanes
  • The pseudo-random words are 128b wide, but are sent in packets of 32b, that's why after the header there are two clock cycles without data, and in the 3rd in where the counter bits are.


We already try:
  • Enable rx_coreclkin and tx_coreclkin and link them to a 160 MHz clk without any change in the behaviour.
  • Internal loop-back, but that option seems not to be present in the Megafunction window. Nevertheless we manually edited the .sv files to change the "ser_loopback" parameter to "true", but it did not worked.


Any suggestions?

And thanks in advance.
Attached Images

ERROR: tb.dut.master_0.mm_master_vhdl_wrapper. .: Illegal c

$
0
0
I've developed a custom Avalon-MM Slave IP component in VHDL and I'm trying to test it in Modelsim. I've based my test bench on the Avalon Verification example, avlmm_1x1_vhdl, which simulates fine, but because I'm simulating a custom slave I don't have a slave_0 Avalon-MM Slave BFM library associated with it so I've modified the test_program.vhd to only send master commands, and removed all Avalon-MM Slave BFM-specific code from test_program_pkg.vhd.

However when I simulate I get the following error:

950: ERROR: tb.dut.master_0.mm_master_vhdl_wrapper.<protected> .<protected>: Illegal command while reset asserted

I haven't changed the reset signal functionality - it's the same as in the avlmm_1x1_vhdl example, and tb/reset is high for a time then gets set low.

Any idea what I could be doing wrong?

deciding on hardware to purchase- need FPGA, DAC, and ADC

$
0
0
I am trying to use an FPGA with DAC and ADC to design a mutlifrequency lockin amplifier. I am trying to determine which board(s) or development kit(s) might be optimal.

I am currently working on implementing my design on a Cyclone III dev board with the DAC5681zEVM and ADS5560EVM connected to the FGPA via the HSMC connectors. We are having to install external termination resistors on the FPGA board to send the LVDS signals between the FGPA board and the ADC / DAC. We may also be limited by the frequency range of the ADC and DAC we have chosen.



Our desired operating range is ~3kHz to ~3MHz, although 10 or 100 kHz on the lower end would be ok. We are trying to develop this design to disseminate to others, and so would like to have components that are easy to set up and put together. Specifically it would be nice to have an FPGA board that already had the appropriate termination resistors so that others did not need to install such tiny resistors.


What suggestions do you have for a better hardware setup than the one we've chosen? What do you think of the Cyclone III DSP dev kit? Or the Stratix III DSP kit? What other options are there for a more straightforward setup with FPGA, DAC, and ADC than what I already have?


Thanks,
Erin

LVDS termination resistors on Cyclone III or Stratix III DSP development kits

$
0
0
I am currently working on implementing a design on a Cyclone III dev board with the DAC5681zEVM and ADS5560EVM connected to the FGPA via the HSMC connectors. We are having to install external termination resistors on the FPGA board to send the LVDS signals between the FGPA board and the ADC / DAC.


If I would have purchased the Cyclone III DSP development kit (which includes the data conversion HSMC board), would the external termination resistors for LVDS signals have already been installed? Does the Stratix III DSP development kit (which also includes the data conversion HSMC board) require external resistors or does it have on-chip termination?


Thanks,
Erin

Ethernet powe link bus

$
0
0
Hello I am looking to download the open source ethernet power link bus IP for my project named "FPGA based encoder for powerlink bus". I have looked on altera website and have found only the design from https://www.altera.com/products/inte...operty/ip.html . Please tell me how to download the IP code for the power link from this link or if there is any other source.

Thank you

using triple-speed ethernet on de2-115 boards

$
0
0
Hi Everyone,

For those who did the tutorial "using triple-speed ethernet on de2-115 boards"

Did any one try to sniff the packets between eth0 and eth1 by connecting a hub between them , cause when I tried doing so , I didn't receive any frames from the terminal , i had to connect eth0 with eth1 directly with no intermediate devices, can any one advice me why it doesn't work when i connect a hub.

thanks and appreciate your help

Tri-state Issues

$
0
0
I have a cyclone IV fpga based development board.The board has 16-bit ADC and DAC both sharing the 16 number of same pins .ADC and DAC IC data bus uses,same fpga pins.To share the pins usage i wanted to implement a tristate controller for both.In all the examples provided by the Altera,they use flash and external RAM.Can it be possible to share the pins of ADC and DAC ?

EYE Q feature

$
0
0
I'm confused whether the eye pattern we get through eyeq feature is the plot of the BER values or is that the plot of analog value settings.:confused::confused:

PCI Express driver for windows 8

$
0
0
I developed a basic PCI Express project using QSYS following "ip compiler for PCI Express". Upto compilation everything was successfull. Now I want to check the design is working or not. Is there any PCI Express drivers for windows 8 so that I can verify the desgn is working or not.

QSYS Project modules
1. IP compiler for PCI Express
2. On chip memory
3. DMA controller

Carry in on a 4 bit adder

$
0
0
Hi

I have a add in verilog to add 2 times 4 bit A+B and a carry to get a result of 4 bit + 1 carry out
I do use Quartus 14.0 and a MAX10

I do have this verilog code:

module add_4bit_carry( Ai,Bi,cin, Fo,cout);


input [3:0] Ai;
input [3:0] Bi;
input cin;


output [3:0] Fo;
output cout;


wire [4:0] total;


assign total=Ai+Bi+cin;
assign Fo=total[3:0];
assign cout=total[4];




endmodule

When I see the RTL I.m very surprised the CIN are not connected to the Carry in on the first adder ... I see no why Quartus do use 2 adders.
I want to save LUT's and to have a high Fmax so how to force the CIN to be used?



Attached Images

Can I do data buffering and data plotting at the same time?

$
0
0
HI,I am using Quartus 12.1 sp1, vhdl and Altera Nios II programmed in C code for DE0-Nano Development. Basically, what I have is, data is sent from fpga vhdl block to NIos II system, Nios II system sends the data to serial port, Matlab access the serial port to real time plot the graph.

I am buffering data received from fpga vhdl say 1000 sample points and save it in sdram... after saving these 1000 sample points, the C code will send data to uart so that Matlab can access these serial port data and plot the graph real time.

Once the sdram has all the first 1000 samples points, processor sends the data to serial port for Matlab to plot the graph, then processor proceeds to save the second set of 1000 samples points, then processor sends the data to serial port for Matlab in order to plot the graph, keep repeating for following sets....etc

In my system, the rate the graph is plotted is much slower than the rate the buffering can be done.

My question is, from the perspective of C programming, when the processor is sending data for plotting, can the processor still do the buffering? If not, what should I do so that when the processor is doing the buffering, I still can get the graph plotted at the same time for the previous set of data?


Appreciate any input, forgive newbie question...thank you

detect a signal was at 1

$
0
0
Hello,

I would like to know if there is a simple block diagram function that can detect if a signal is or was at 1? So a block diagram that has an output signal that is always at 1 from the moment where there is a rising edge on a signal.

Thanks

Altera Monitor Program vs Quartus II web v15?

$
0
0
Hi all,


I bought a BeMicro MAX10 board and I'm reading the tutorial on Qsys. This is an example to create a Nios II project. It says that that it will use the Altera Monitor Program to download the design to the FPGA. I'm familiar (and d/l) the Quartus II web v15 software but I've never heard of the monitor program. The description for the monitor program says:


The Altera Monitor Program allows students to easily compile and debug both assembly language and C programs. It supports both the ARM® Cortex®-A9 and Nios® II processors.




Do I really need it or Quartus II web v15 is enough?


Thanks

Read a SD Card with a DE0.

$
0
0
Good Afternoom,


I would like to know, how i can access a card memory..


My application is very simple, i want to read a text stored in the card memory, Perform a function with string and store the new string in the card in a different file.

But i am new in this world of fpga and vhdl, someone can help me?






Programming the Cyclone V GT development board

$
0
0
I'm working with the Cyclone V GT development board and have not yet been able to configure the FPGA via Quartus II.
I'm quite new to FPGA programming, but I should say that I've successfully programmed an Altera CPLD as well as an Altera Cyclone V GX (on the terASIC Cyclone V GX FPGA development board), both using Quartus II.

I'm using Quartus II Web Edition v15.0 (I was originally using v13.0sp1, but the Cyclone V chip on the GT dev board is not on the list of supported devices, so I upgraded to v15.0). I'm on a Win7 computer.

I have a very simple piece of VHDL code (below) that turns on a user-defined LED in response to a user-defined push-button. This code was successfully tested on the GX dev board (with modifications for the LED and PushButton pin numbers). The code compiles in Quartus II v15.0, and I've done the pin mapping. Once the compilation is complete, I open Programmer, choose "USB-BlasterII [USB-1]" under "Hardware Setup" and then hit the "Add file" button and select the "led_button.sof" file in the "output_files" subdirectory of my project directory. I check the "Program/Configure" button and then push "Start". But the progress bar immediately says "(Failed)".

I'll note that my steps in Programmer are slightly different that what's recommended in the User Guide for the Cyclone V GT dev board, which says:
Quote:

Configuring the FPGA Using the Quartus II Programmer
1. Start the Quartus II Programmer.
2. Click Auto Detect to display the devices in the JTAG chain.
3. Click Add File and select the path to the desired .sof.
4. Turn on the Program/Configure option for the added file.
5. Click Start to download the selected file to the FPGA. Configuration is complete when the progress bar reaches 100%.
i.e. I don't do "Auto Detect" since I have already selected my FPGA part number when I created the project (via "New Project Wizard"). FWIW, I didn't use the Auto Detect feature when I successfully configured the CPLD or Cyclone V GX FPGA...

I have all DIP switches on the Cyclone V GT dev board set to the factory defaults.

Also, I think that the USB Blaster drivers are installed correctly -- in Device Manager, I see a "JTAG Cables" listing showing the Altera USB-BlasterII listing (2 of them actually, one says "JTAG Interface", the other says "System Console Interface").

Any help is greatly appreciated.


Here is my simple VHDL code.
Code:

library ieee;
use ieee.std_logic_1164.all;

entity led_button is
    port(
        LED0:    out  std_logic;  -- PIN_AM23
        PUSH0: in    std_logic  -- PIN_AK13
        );
end led_button;

architecture rtl of led_button is
begin
    LED0 <= PUSH0;
end rtl;


EPCQ Bootloader problems

$
0
0
Quartus 15.0, Cyclone V design

I'm booting the FPGA from a Micron N25Q128 SPI flash and am trying to transition my NIOS to boot from SPI flash instead of onchip RAM. I've read all of the app notes, white papers, etc. that talk about booting from EPCQ flash and have followed the instructions to the best of my knowledge, but I'm seeing weird results.

My NIOS design currently includes a DDR3 controller (which seems to be working fine for the original design), a Serial Flash Controller (SFC), UART, sysid and timer. The NIOS points to SFC with offset 0x800000 for the reset vector and to DDR with offset 0x20 for the exception vector. I generate HDL in QSYS, no problems.

In Eclispe I build a BSP for the project and set all the linker sections to point to DDR, then generate the BSP. I clean build the application and Make Targets/Build/mem_init_generate.

I compile the Quartus project with no errors.

I convert programming files and build a JIC image that includes the SOF (offset 0x0) and the SFC.HEX images (offset 0x800000).

I launch the Quartus Programmer and load the JIC image into my flash device. I verify the flash just to make sure the image is correct.

When I reboot using the new image I, the FPGA comes up but the NIOS does not appear to be functioning (I do not see the messages that I expect on the UART console port). When I reboot a second time I find that the image in flash has become corrupted and the FPGA will no longer boot.

If I download the SOF file directly to the FPGA through the JTAG port and launch a debug session in Eclipse (which writes the application code directly to DDR) everything works as expected. I've been chasing this for most of the week and have run out of ideas.

Any suggestions?

Michael

Max 10 timing simulation using ModelSim-Altera

$
0
0
Hi, I've been doing simulations for my project so far using ModelSim-Altera. But so far I've only done functional simulation. I wanted to move onto timing simulation, but I hit a snag. I'm not able to find the device libraries for the Max 10 FPGAs in the modelsim folder ( \altera\14.1\modelsim_ase\altera\vhdl ). Is there a way to do timing simulation without these? Can i find these somewhere online maybe and add them to do timing simulation? thank you!

Can't compile tutorial: Introduction to the Altera Qsys System Integration Tool?

$
0
0
Hi all,

I'm using Quartus 15.0.2 and I'm trying to learn about Nios using this tutorial:

ftp://ftp.altera.com/up/pub/Altera_M..._Qsys_Tool.pdf

I have a BeMicroMAX10. I followed all the way to number 6 where I have to compile the project but it fails with several errors. I haven't assigned any pins yet. Here are the errors I get... if anyone could point me in the right direction I'll be happy to read ... I just got lost now in the documentation. Thhanks.

Info: ************************************************** *****************
Info: Running Quartus II 64-Bit Analysis & Synthesis
Info: Version 15.0.2 Build 153 07/15/2015 SJ Web Edition
Info: Processing started: Fri Aug 14 18:03:48 2015
Info: Command: quartus_map --read_settings_files=on --write_settings_files=off BeMicroMAX10_RodoNios -c BeMicroMAX10_RodoNios
Info (11104): Parallel Compilation has detected 8 hyper-threaded processors. However, the extra hyper-threaded processors will not be used by default. Parallel Compilation will use 4 of the 4 physical processors detected instead.
Info (12021): Found 1 design units, including 1 entities, in source file bemicromax10_rodonios.v
Info (12023): Found entity 1: BeMicroMAX10_RodoNios
Info (12021): Found 1 design units, including 1 entities, in source file nios_system/synthesis/nios_system.v
Info (12023): Found entity 1: nios_system
Info (12127): Elaborating entity "BeMicroMAX10_RodoNios" for the top level hierarchy
Info (12128): Elaborating entity "nios_system" for hierarchy "nios_system:NiosII"
Error (12006): Node instance "leds" instantiates undefined entity "nios_system_LEDs"
Error (12006): Node instance "jtag_uart_0" instantiates undefined entity "nios_system_jtag_uart_0"
Error (12006): Node instance "nios2_processor" instantiates undefined entity "nios_system_nios2_processor"
Error (12006): Node instance "onchip_memory" instantiates undefined entity "nios_system_onchip_memory"
Error (12006): Node instance "switches" instantiates undefined entity "nios_system_switches"
Error (12006): Node instance "mm_interconnect_0" instantiates undefined entity "nios_system_mm_interconnect_0"
Error (12006): Node instance "irq_mapper" instantiates undefined entity "nios_system_irq_mapper"
Error (12006): Node instance "rst_controller" instantiates undefined entity "altera_reset_controller"
Error (12006): Node instance "rst_controller_001" instantiates undefined entity "altera_reset_controller"
Error: Quartus II 64-Bit Analysis & Synthesis was unsuccessful. 9 errors, 0 warnings
Error: Peak virtual memory: 630 megabytes
Error: Processing ended: Fri Aug 14 18:03:57 2015
Error: Elapsed time: 00:00:09
Error: Total CPU time (on all processors): 00:00:23
Error (293001): Quartus II Full Compilation was unsuccessful. 11 errors, 0 warnings

Building das Uboot for Nios2 - linker not found on Linux environment

$
0
0
I am trying to build Uboot for Nios2. I notice Uboot has made many changes in their build configuration.
Much of the old information for Uboot/Nios2 idid not work for me after I cloned the Uboot git repo. For example,
'boards.cfg' is no longer supported. Uboot is migrating to Kconfig for build management and there are both
Kconfig files and Make files -complicating debug.

I do the following on Linux bash.

> git clone git://git.denx.de/u-boot-nios.git
> cd u-boot-nios/
> make menuconfig

These proceeding steps complete with no visible errors or warnings.
After git clone - I can browse the Uboot source tree.

I create a minimal '.config' file.

> make all

This step fails with the following error


LD arch/nios2/cpu/built-in.o
/bin/sh: nios2-elf-ld.bfd: command not found
scripts/Makefile.build:354: recipe for target 'arch/nios2/cpu/built-in.o' failed
make[1]: *** [arch/nios2/cpu/built-in.o] Error 127
Makefile:1037: recipe for target 'arch/nios2/cpu' failed
make: *** [arch/nios2/cpu] Error 2

I tested to confirm that both 'nios2-elf-gcc' and 'nios2-elf-ld' are in the path and are executable.

It appears the compile completed (based on the message output), but the nios2 linker ('nios2-elf-ld') is not found.

I have been running Nios2 successfully on Linux.

Anyone else seen this error or found a workaround?

Dave

cl-fast-relaxed-math and profiling tools

$
0
0
Hi,
There are two questions:
First :
In OpenCL standard it provides the cl-fast-relaxed-math to speed up and could lack of accuracy.
I test the OpenCL code with this flag on INTEL,NIVIDA and AMD platforms.
It could gain a speedup ~1x.
But I use the AOCL compiler to add cl-fast-relaxed-math while compiling the OpenCL kernel Code.
It seems that it could not gain any performance. Is the AOCL library doesn't support this flag now ?

Second :

I write a OpenCL program and the program might execute EnqueueNDRange API many time(use the for loop to enqueue repeatedly). The host only executes API and READ/WRITE buffer. Although from host executes EnqueueNDRange and READ/WRITE buffer to the FPGA receive the API signal to execute kernel code will waste 10~100ms overhead. Because there is no profiling tool to profile the detail situation. Therefore could any one help this problem ?

SDK : 14.1
platform : DE5

Thanks
Viewing all 19390 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>