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

Lab 12 Part II Noise Filtering

$
0
0
Hi everyone!

I've been trying to make noise filter for input mic as requested in Lab 12 but I've been having some really strange issues.
Lab link ftp://ftp.altera.com/up/pub/Altera_M...12_Verilog.pdf
So what I do is whenever I got input signal I divide it by 8 and write it in FIFO. On the output I always keep sum of all FIFO registers.
The strange thing that happens is, that it is working perfectly fine when I am not dividing by anything (Just outputing the sum of all registers), and when I am dividing by 8 I only get noise as the output.

Does anybody have any idea what might cause this issue ?

Here is my code in case you couldn't understand what I've been saying :D


Code:

// synopsys translate_off
`timescale 1 ps / 1 ps
// synopsys translate_on
module noise_filter
#(
    parameter DATA_WIDTH=24,
    parameter N = 4
)
(
    input write,
    input clock,
    input [DATA_WIDTH-1:0] data_in,
    output done,
    output [DATA_WIDTH-1:0] sum
);
    reg [DATA_WIDTH-1:0] summed;
    reg [N-1:0] counter;
    reg isDone;
    reg [DATA_WIDTH-1:0] fifo [0:2**N-1];
    integer i;
    initial
    begin
        counter = 0;
        summed = 0;
        isDone = 0;
       
        for(i = 0; i < 2**N; i= i+1)
        begin
            fifo[i] = 0;
        end
    end
   
    always @(posedge clock)
    begin
        if(isDone == 1)
        begin
            isDone <= 0;
        end
        else if(write == 1)
        begin
            counter <= counter + 1;
            fifo[counter] <= {{N{1'b0}}, data_in[DATA_WIDTH-1:N]};
            summed <= summed - fifo[counter] + data_in[DATA_WIDTH-1:N] ;
            isDone <= 1;
        end           
    end
    assign sum = summed;
    assign done = isDone;
endmodule

So long story short, this outputs just random noise, and with this change
Code:

  fifo[counter] <= data_in;
  summed <= summed - fifo[counter] + data_in;

it works perfect.

Thanks everyone!

Flex 10k LPM_ADD_SUB issue

$
0
0
Hi There!

Not sure if this has been addressed but instantiating an lpm_add_sub function with carry in- and out under 9.0sp2 (IIRC) for Flex 10K seems to have some peculiar behavior. The add / adc works as advertised whereas the sub/sbc seems to have... problems. For instance, using unsigned 8-bit, subtracting one from 128 (0x80) results in 0x7e *with* a carry, which obviously is wrong..

The reason I've been going for LPM functions for some of these is that they're more resource friendly as the synthesis isn't all that great in recognizing counters, adders, etc.

I'll poke around tonight and isolate it but without carry in/out, I've never had issues IIRC.

-Mux

Edit: Isolating the addsub function and running the same values as the waveforms seems to give the correct result, so I guess I need to double check what's wrong.. Will let you folks know for completeness!

[JTAG] zrTech Cyclone IV Board JTAG Chain issues

$
0
0
Hello Forum,

I'm using:
- Cyclone IV e3
- ALTERA USB Blaster Rev. C
- Quartus Prime Lite

When I hit Auto Detect in the Programmer, it says there is something wrong with the JTAG chain and takes me to the debugger.
Next I hit "Test JTAG Chain" and the session log is attached.

I can't understand what I'm doing wrong - I've checked the IDE cable and that seems fine. I've checked the power pins and they are correct. Please help.

Session log:

!Error: JTAG chain problem detected
!Error: TDI connection to the first detected device UNKNOWN_FFFFFFFD might be shorted to GND
!Error: The TCK and TMS connections to the device before the first detected device UNKNOWN_FFFFFFFD might have a problem
!Info: Detected 2 device(s)
!Info: Device 1: UNKNOWN_FFFFFFFD
!Info: Device 2: 10CL006(Y|Z)/10CL010(Y|Z)/..

Using new Quartus (17.0) with Stratix III

$
0
0
Hi,

I hope I'm at the right place.
I got a Stratix III to run a control of an electrical converter. The usage of the FPGA is arround 40%. Because newer versions of Quartus II are not supporting Stratix III anymore, I have to use Quartus II 13.1. But compilation time is arround 2:30 hours. So I tried to compile the same code for a Stratix V on the newest Quartus and it took just few minutes.

So my question: Is there any workaround, how to synthesize on a new Quartus version code for a Stratix III?

Cyclone V input slew rate

$
0
0
Hello,

I am trying to make an altlvds megafunction work, and have been running through all the possibilities where I could have gone wrong.

The data rate is 519.75 MHz, which should be ok according to the Cyclone V handbook.

However, I have had a look at the input transition times in the TimeQuest Timing Analyser, and it says that the input transition times for my LVDS channels(tamron_rx_in) are 2000 ps. As the data period is 1924 ps, I find this quite confusing. How can the transition time be higher than the period of allowed frequencies?

I cannot even set this to an other value, as the Pin Planner tells me it can only be set for output pins. Does this mean that this is just a placeholder value for input ports?
Attached Images

DE0-Nano-SoC File transfer?

$
0
0
Hello All,
I have my DE0-Nano-SoC up and running. I am able to connnect PuTTY to COM3, and log into the uClinux environment.

How do I transfer a compiled file from my local computer running SoC EDS 14.1 to the DE0-Nano-Soc board?

Thanks in advance,

Difference float calculation on FPGA and CPU

$
0
0
Hi,
I use float point calculation in convolution neural network (opencl).
Result of calcultaion on FPGA and CPU is similar, but in low byte I get some difference.
How can I fix this problem ? How can I get result on FPGA identical to result of CPU.

Timing parameters of USB Blaster 1

$
0
0
I'd like to constrain the timing of the JTAG interface of my Arria 10 design for a USB Blaster Rev C (note: not USB Blaster II). However, the documentation doesn't mention any details about the timing like clock to output and cable delays. Where can I find these parameters?

ID:113006 Word addressed memory initialization file "" was read

$
0
0
Hi,

When I compile my Nios II Project in version 16.0 I am getting below mentioned warnings
1. "ID:113006 Word addressed memory initialization file "<name>" was read in the byte-addressed format". There are some solution but that is not available for this version.
2. JTAG UART IP input clock need to be at least double (2x) the operatingfrequency of JTAG TCK on board.

How to resolve this warning and also please let me know what is impact of this warning if it is left as it is.

Thanks in Advance,
Vijay..

Problem: NIOS II application fails to run, but runs in DEBUG mode

$
0
0
Hello,

The problem is fully expressed in the title.
Any ideas ?

Thanks in advance.

Unable to reach (null) from global pointer - multiple onchip rams for applications

$
0
0
Hi,

the linker gives me the following error:

Code:

HAL/src/alt_main.c:154: warning: Unable to reach (null) (at 0x00500004) from the global pointer (at 0x0017f2b4) because the offset (3673424) is out of the allowed range, -32678 to 32767.

I first got this error after splitting the application onchip RAM in 3 pieces (required to do so in order to make use of the MLAB ressources) so I assume it has something to do with it.
The linker regions have been correctly assigned to these RAMs (screenshot included in attachment).



Can someone give me a hint how I could get rid of this problem?

Thanks!
Attached Images

Looking for FPGA freelancer

$
0
0
Hi,

We are a company based in Pittsburgh, PA and are looking for a freelancer with FPGA experience.

Thank you.

Can't contact license server

$
0
0
Hello,

I am currently using Quartus Prime Standard Version with Enterprise float license. I can do all that I need to do in Quartus Prime GUI. But if I ran the Tcl command using quartus_sh. I got warning message below:

Warning (292006): Can't contact license server <license Sever Link> -- this serer will be ignored.

Is there something I need to configure so I would not get such warning message?

Thanks.

Modelsim license with intelFPGA_lite

$
0
0
I am working on a Cyclone V project that includes the Hard Processor system plus a NIOS 2 system.

I am using the free version of the tools, including Modelsim. I have recently uninstalled all previous versions and then installed the latest version (17.0)

I can launch Modelsim and run the tcl command (/mentor/msim_setup.tcl) to add all the IP files, then follow the template to "dev_com" , "com", "vlog" (adds the verilog files I have created), etc, and then "elab".

Elab appears to work, a lot of messages about loading.

Then I get this message:

# ** Warning: Design size of 75827 statements exceeds ModelSim-Intel FPGA Starter Edition recommended capacity.
# Expect performance to be adversely affected.
# --------- --------- --------- --------- --------- --------- ---------
#
# ** ERROR: failed to get a license (mgcvipaeaxi) for Adaptor axi!
#
# ** Check the license environment (e.g. LM_LICENSE_FILE or MGLS_LICENSE_FILE using lmutils), the transcript and any logs.
#
# --------- --------- --------- --------- --------- --------- ---------
#
#
#
# ** Fatal: (vsim-3960) Foreign module requested halt.


From what I have read I thought that the free version of the tools didn't have any license.
How do I resolve this?

Rod

License question

$
0
0
Hi. Last year I bought Cyclone V GT FPGA Development Kit and I received a serial number code license. It was used to install Quartus last year. But now, i have a project with this kit on another version of quartus. Can I use this code now? What should i do if i can't use this code?

StateMachine States in SignalTAP

$
0
0
I am not able (anymore) to observe the state machine's states in SignalTAP. I was trying to Import the states from the *.stp in order to get the Mnemonics as it once worked for one hot coded states, but this does not work.

What could be done?

I once managed to get a Mnemonic table and can still Import this from an old *.stp file, but the states are not shown the way I like it, although I assigned the statenames as the Radix for the state vector.


Another issue:

I once changed the state to Grey and then to automatic, and somehow am not able to get the one hot back. I commanded the explicitly in the Setting "one hot" but still see a 5 bit vector coding the states straight Forward up to 17...

How can this by changed?

IO-TRISTATE Buffer issue with MAX10

$
0
0
I have a strange problem with a tristate buffer at MAX 10:

I am using symbol based design and did not find an enable buffer in place into the toplevel.
Therefore I created one myself the common way:

if (enable) then
IOPAD <= output;
else
IOPAD = 'Z';
end if;


Signal IOPAD is directly connected to a tristate buffer symbol ( <> ) . The output report shows a bidirectional port for this signal, so it seems to be ok.
Also a "fast Output enable" constraint is accepted.

I am observing the ENABLE as well as the OUTPUT and the INPUT of the signal in SignalTAP and can regularly see the output's values at the input when ENABLE is high.

But sometimes (not always !) the wire seems to be held low, while ENABLE is low, although there is a 10k pullup resistor on the board. According to the states, the pullup seems to operate, since I can observe the signal slowly rising in the oscilloscope when the enable to low.

In the "strange cases" the INPUT is LOW and seems to be hard pulled down by an output. The target device should not be the reason for this.

It appears as if the output memorizes the latest state of the internal output signal, when enable goes low.

The VHDL cirtuitry runs fine in simulation and operates well in another design.

I am unsure what the synthesis migh have produced from within the description.

Any idea how I can verify this?

Problem with new OpenCL installation (no device found)

$
0
0
Hi everyone.
This is not the first time install all the files to develop OpenCL programs for Altera FPGA.
Last time it was Windows 7 and it was working fine. This time it's windows 10 and when I run my application it tells me no Altera device library founds hence no device is found.
But the command "aocl diagnose" says everything is fine. I can flash kernels as well. I don't get where is the problem. I have installed everything the same as on the other pc.
Online there is no info about this warning. Does anyone know what is causing this problem?
Thanks.

Segment violation on Quartus II 13.0sp1 - Fedora 26

$
0
0
After upgrading to Fedora 26 was working, but then some minor package updates seem to have broken it. Command line tools still work but would like to get UI working. Any ideas? Stack trace below.

I would upgrade to a newer version of Quartus except we still use some DE2-70's at school so I need Quartus 13 for grading.

Code:



 *** Fatal Error: Segment Violation at 0x5
 Module: quartus

 Stack Trace:

 

 

    0xd3c1c: QSslCertificate::fromData(QByteArray const&, QSsl::EncodingFormat) + 0x4c (QtNetwork.so.4)
    0xd442e: QSslCertificate::fromPath(QString const&, QSsl::EncodingFormat, QRegExp::PatternSyntax) + 0x74e (QtNetwork.so.4)
 

 

    0xd35bf: QSslCertificate::QSslCertificate(QByteArray const&, QSsl::EncodingFormat) + 0x8f (QtNetwork.so.4)

 

 

    0xdf973: QSslSocket::QSslSocket(QObject*) + 0x33 (QtNetwork.so.4)
 

 

 

 

 

    0x18f960: QMetaCallEvent::placeMetaCall(QObject*) + 0x40 (QtCore.so.4)
    0x193feb: QObject::event(QEvent*) + 0x22b (QtCore.so.4)
    0x1566b4: QApplicationPrivate::notify_helper(QObject*, QEvent*) + 0xb4 (QtGui.so.4)
    0x15b31e: QApplication::notify(QObject*, QEvent*) + 0x15e (QtGui.so.4)
    0x17defb: QCoreApplication::notifyInternal(QObject*, QEvent*) + 0x7b (QtCore.so.4)
    0x1818e5: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 0x355 (QtCore.so.4)
    0x181c4d: QCoreApplication::sendPostedEvents(QObject*, int) + 0x2d (QtCore.so.4)
 

    0x17caa9: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 0x49 (QtCore.so.4)
    0x17cdba: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 0x16a (QtCore.so.4)
    0x181d0f: QCoreApplication::exec() + 0xaf (QtCore.so.4)
    0x154507: QApplication::exec() + 0x27 (QtGui.so.4)
      0x645f: __gxx_personality_v0 + 0x367 (quartus)
    0x23908: msg_main_thread(void*) + 0x18 (ccl_msg)
      0x5f9e: thr_final_wrapper + 0xe (ccl_thr)
    0x24625: msg_thread_wrapper(void* (*)(void*), void*) + 0x6c (ccl_msg)
    0x15e1d: mem_thread_wrapper(void* (*)(void*), void*) + 0xdd (quartus)
      0xffd8: err_thread_wrapper(void* (*)(void*), void*) + 0x2a (ccl_err)
      0x63fa: thr_thread_wrapper + 0x2f (ccl_thr)
    0x36e9a: msg_exe_main(int, char const**, int (*)(int, char const**)) + 0xb7 (ccl_msg)
      0x6531: __gxx_personality_v0 + 0x439 (quartus)
    0x182f3: __libc_start_main + 0xf3 (c.so.6)
      0x6311: __gxx_personality_v0 + 0x219 (quartus)
 

 End-trace
 

 Quartus II 32-bit Version 13.0.1 Build 232 06/12/2013 SJ Web Edition
 Service Pack Installed:  1

A10 HPS not booting from micro SD card - NRST pulsing

$
0
0
Hello,

I have a custom A10 prototype PCB, and I'm trying to bring up the HPS. I am building the preloader/uboot using the BSP-Editor and writing the output to a partition on a micro sdcard (same process I've done on the dev kit many times with success). I never get anything from the UART console output, so I'm attempting to debug what's happening. I have noticed the HPS_NRST signal is pulsing low continuously when there is a micro SD card installed (otherwise it stays HIGH all the time with no SD card plugged in). Any ideas on what is happening, or how to debug a preloader /u-boot that's not coming up initially? Can I get access to the HPS registers to see why it won't come up?

Thanks!
Viewing all 19390 articles
Browse latest View live


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