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

Route HPS UART pins to FPGA pins DE0 nano SoC

$
0
0
Hi

I am using a DE0 nano SoC and I need, for my VHDL design, the RX and TX signals from UART (I understand they are available just for de HPS Cortex A9), but in this case I need them to connect to FPGA.

How can I get access to those 2 signals?

Thanks.

Epf10k20ri240-4n

$
0
0
Good day!
We have question about EPF10K20RI240-4N.
We bought this positions 3 time from other supplier (From Russia dist and from Philippines) Each time this positions don't work with voltage 5.0-V and work only with 3.3-V.
It is mistake in official Data Sheet or other reason?

Writing a LPDDR controller without IP

$
0
0
Hello, guys.

I have tried to write a controller for the LPDDR2 without IP to understand that what is the DDR and how to control it.

The good news is the Micron provides a stub for simulations (it simulates the memory module),
so I only have to write a controller.
Bad news is not compilable that I wrote (errors in the fitting)...

The error message is:
169008 Can't turn on open-drain option for differential I/O pin <pin-name>

I have googled what is the open-drain, but I think it does not need because they will use same power source;
the pins DQS/DQS_n of the LPDDR2(MT42L128M32D1LF-25WT) allows 1.14~1.30 Volts,
and an I/O standard of the pins DDR2LP_DQS_p/_n[0~3] is "Differential 1.2-V HSUL".
Additionally, there are no words such as "drain" existing in the micron's catalog.

So I have turned off the option "Auto Open-Drain Pins", but it still raises error.
The message is:
Error (169290): Can't place differential I/O positive pin <pin-name> at a differential I/O negative location <location>(PAD_<number>)

The codes I wrote is below;

utility.vhd: (partial)
Code:

library ieee;
use ieee.std_logic_1164.all;

entity LPDDR2_controller is
    port (
        -- Command/address inputs
        CA: out std_logic_vector(9 downto 0);
        -- Clock
        CK_p: out std_logic;
        CK_n: out std_logic;
        -- Clock enable
        CKE: out std_logic_vector(1 downto 0);
        -- Chip Select
        CS_n: out std_logic_vector(1 downto 0);
        -- Input data mask
        DM: out std_logic_vector(3 downto 0);
        -- Data input/output
        DQ: inout std_logic_vector(31 downto 0);
        -- Data strobe
        DQS_p: inout std_logic_vector(3 downto 0);
        DQS_n: inout std_logic_vector(3 downto 0);
        -- External impedance (240 ohm)
        ZQ: in std_logic
    );
end;

architecture controller of LPDDR2_controller is
begin
    CA <= "0000000111"; -- NOP
    CK_p <= '0';
    CK_n <= '1';
    CKE <= "00";
    CS_n <= "00";
    DM <= "0000";
    DQ <= (others => '0');
    DQS_p <= (others => '0');
    DQS_n <= (others => '1');
end;

main.vhd: (partial)
Code:

library ieee;
use ieee.numeric_std.all;
use ieee.std_logic_1164.all;
use work.all;

entity main is
    port (
        CLOCK_125_p: in std_logic;
        CPU_RESET_n: in std_logic;
        DDR2LP_CA: out std_logic_vector(9 downto 0);
        DDR2LP_DQ: inout std_logic_vector(31 downto 0);
        DDR2LP_DQS_p: inout std_logic_vector(3 downto 0);
        DDR2LP_DQS_n: inout std_logic_vector(3 downto 0);
        DDR2LP_DM: out std_logic_vector(3 downto 0);
        DDR2LP_CK_p: out std_logic;
        DDR2LP_CK_n: out std_logic;
        DDR2LP_CKE: out std_logic_vector(1 downto 0);
        DDR2LP_CS_n: out std_logic_vector(1 downto 0);
        DDR2LP_OCT_RZQ: in std_logic
    );
end;

architecture main of main is
    component LPDDR2_controller
        port (
            CA: out std_logic_vector(9 downto 0);
            CK_p: out std_logic;
            CK_n: out std_logic;
            CKE: out std_logic_vector(1 downto 0);
            CS_n: out std_logic_vector(1 downto 0);
            DM: out std_logic_vector(3 downto 0);
            DQ: inout std_logic_vector(31 downto 0);
            DQS_p: inout std_logic_vector(3 downto 0);
            DQS_n: inout std_logic_vector(3 downto 0);
            ZQ: in std_logic
        );
    end component;
begin
    mem: LPDDR2_controller
        port map(
            CA => DDR2LP_CA,
            CK_p => DDR2LP_CK_p,
            CK_n => DDR2LP_CK_n,
            CKE => DDR2LP_CKE,
            CS_n => DDR2LP_CS_n,
            DM => DDR2LP_DM,
            DQ => DDR2LP_DQ,
            DQS_p => DDR2LP_DQS_p,
            DQS_n => DDR2LP_DQS_n,
            ZQ => DDR2LP_OCT_RZQ
        );


    -- and do something which does not touch to the memory...

end;

How to take the negative pins?
or should I write to implement more features at the controller (e.g. reset the memory)?

Thank you for reading!

Environment Info:
Windows 7 Ultimate Service Pack 1
Quartus Prime Version 16.0.2 Build 222 07/20/2016 SJ Lite Edition
Cyclone V GX Starter Kit (5CGXFC5C6F27C7)

Can an FPGA partially fail? (EPM7128SLI84-10)

$
0
0
Hi All,

I have a production run of 110 plug in modules that each use a single EPM7128SLI84-10, two of these devices are suspected of failing as the modules show exactly the same fault in that 8 LEDs that the FPGA drives are permantly lit, normally they are off (on power-up anyway). It's easy to assume that the FPGA has gone 'POP' but other functions that the FPGAs provide are working properly.

Is it possible that just part of the FPGA has failed? If so is there any reason why it would be the same part, such that the same fault is shown on both failed modules? I've checked that there is +5V on each 5V pin and that all the 0V pins are connected to 0V.

You can tell that this isn't a new design, in fact they have been in a UK Inter-City express locomotive for the last 16 years so a couple of (possible) failures is quite acceptable. The faults have only come to light recently so we are having to buy a new programming module since we don't have Windows 95, a 25 way parallel printer port, or an RS232 port on any of our PCs.

We are hoping that the programming software will tell us if there is a fault with the FPGA, if there is, and a 'chunk' of the FPGA has indeed failed is there a way of programming it so that the faulty part isn't used? Our customer (who has the modules now) is not really geared up to swap out the chips - a 100W soldering iron seems to be quite destructive!

Cheers
James

Negative Hold slack with NIOS II in MAX10

$
0
0
Hi everyone!

I'm trying to execute NIOS's code from User Flash Memory located inside MAX10.
My eval board is https://www.altera.com/products/boar...valuation.html.

Onboard clock 50 MHz I connect to NIOS clk input.
In top-level .sdc file I create this clock by string: create_clock -name {clk} -period 20.000 -waveform { 0.000 10.000 } [get_ports { clk }]

But after Quartus processing, Timquest find negative hold slacks for all drdout[] nodes of UFM block.
I see that Timequest analyze path from each drdout[] node to itself!
I don't understand what is the sense of it ?

Moreover, after deleting string "create_clock -name {clk} -period 20.000 -waveform { 0.000 10.000 } [get_ports { clk }]" from top-level .sdc file everything is OK, i.e. Timequest doesn't find negative slacks.
But I think, it's wrong idea to delete "create_clock..." from sdc file.

Who can help to define problem ?
Attached Images

HWlibs Documents

$
0
0
Hi,
are there good documents to walk through HWlibs command?
Best Regards

Citations or licensing for material provided by the Altera Wiki

$
0
0
Hi,

I'm a student and was wondering if there is any information concerning licensing information from examples provided by Altera Wiki. I'm trying to cite some of the material but don't see names. Is it free to assume the source is open source to be used in any manner? What happens if come up with something grand that my lab wants to patent as a process, but some of the materials were learned/provided from the wiki? I most definitely want to provide proper attribution.

I'm sure there are professionals that may know the answer to this very real world problem? I looked through the forums and didn't see this question posted.

Thanks!

MAX10 Dev Kit HSMC ISSUE

$
0
0
Hi all,

MAX10 dev kit can’t route HSMC input signals to any other output pin

Process done:

1. Route an input signal to a debug pin.

2. Assign input and output signal on pin planner.(Configured at 2.5V as CMOS) (using a not() gate)

3. Upload firmware to UFM & CFM.

4. Read with oscilloscope the output signal and set the input signal.

a. Output signal does not correspond to the expected input signal, it doesn’t change on input signal changes.


To try to comprehend what is happening, the following test had been done:
1. Check continuity on HSMC tested pin. (Working).

2. Join ground plane directly on both boards (HSMC testing board) and MAX10 dev kit.

3. Check other HSMC PINS. (same results)

4. Change pin voltage to match 3.3V as other HSMC examples. (same results)

5. Use “max10 board test” software on HSMC tab. (Not sync)

6. Change SW2 pin 4 to bypass HSMC.

7. Check D2 is on. (HSMC Presence LED working)

8. Check other routing options (using other gates to route signals)

9. Connect directly a signal to the dev kit HSMC pin. (No output signal)

10. Connect a logic signal (not real) to the output to check routing. (working as expected)
Any of this tests and checks revealed us useful information to solve the problem.

Observations:

Max10 board test software is not properly documented and I didn’t find what kind of output expect.

SW2 configuration not clear for HSMC.


Thanks in advance.

Joan.

Altera ASMI parallel instantiates undefined entity

$
0
0
I have added the EPCQ serial memory controller to my qsys system and configured it according to AN736. When I generate the qsys system one of the output files (in my system the file name is nios_proc_epcq_controller_0_altera_asmi_parallel_a ltera_asmi_parallel.v) that is supposed to define the asmi parallel interface is an empty file and the Quartus compiler fails with the given error message:

Error (12006): Node instance "altera_asmi_parallel" instantiates undefined entity "nios_proc_epcq_controller_0_altera_asmi_parallel_ altera_asmi_parallel". Make sure that the required user library paths are specified correctly. If the project contains EDIF Input Files (.edf), make sure that you specified the EDA synthesis tool settings correctly. Otherwise, define the specified entity or change the calling entity.

I'm using Quartus Prime 16.0 Standard

g

Program Multiple FPGA

$
0
0
Can someone point me to an APP Note that describes how to compile multiple sof or pof files to generate a single file that can be used in Active serial mode to configure 3 FPGAs using the USB blaster an EPCS16 configuration device

LWIP sample C program code for MAX 10 Board without OS

$
0
0
Hi all,
Warm Greetings!! I am a new to FPGA development. I am going to implement light weight IP in max10 board using NIOS-II Platform without Operating System. Can, anyone kindly provide the sample code for LWIP and documentation file for using it in the board.

Thanks in advance,

Regards,
Prasanth

MLAB mem_init Attribute Not Successfully Configuring MLAB in Stratix 3

$
0
0
When creating a design with a source file containing MLABs, the mem_init_0 attribute value does not seem to be preserved in the programmed Stratix 3 FPGA. This is discovered during testing of a programmed Stratix 3 FPGA, in which the mem_init_0 value contents do not appear to be stored. If we use a mif file as source to provide the memory contents then during testing of the programmed FPGA, the original memory contents do appear to be stored. We would like to configure the MLABs directly using the mem_init_0 value rather than using mif files for each MLAB. How can we accomplish this so that the memory contents are preserved in the programmed FPGA? Has anyone else run into this problem?

Cyclone V HPS eMMC Physical Interface

$
0
0
I'm currently working on designing a new board with a Cyclone V HPS. I would like to use a 16GB eMMC device for storage of the application code, as well as the FPGA configuration. I am looking at two devices right now, but they appear the have an extra "DS" (Data Strobe) pin. As I compare this to one of the demo boards I have this pin is not present.


The chips I'm considering are MTFC16GAKAENA-4M IT and EMMC16G-W525-X01U.


My question is: what should I do with this pin? I have looked in the data sheets and other documents online and can't seem to find an explanation of this newly added pin to the eMMC standard.


Thanks,
Mike

Can MAX V CPLD Development kit be used as USB blaster?

$
0
0
Hi,
After many years in electronics, micros, etc. I'm starting into CPLD as a replacement for digital glue logic. I'm purchasing a MAX V development kit (DK-DEV-5M570ZN) and wondering if after I do development I can use the integrated blaster to program my boards?

Figure 2-3 in the handbook describing the JTAG chain seems to me to suggest that in addition to being able to use an external JTAG programmer, the internal programmer could be connected to an external device. Would this work?

Thanks

Qsys Pro Software Builder (.sopcinfo does not contain any CPU)

$
0
0
Okay, I'm obviously missing something important.

I'm using Quartus Prime Pro for Arria 10. If I build a system in Qsys (non-Pro), everything seems to work fine. I can take the system through the Software Build Tools and simulation, no problem.

However, if I take the identical project through Qsys Pro, again *mostly* everything seems to work fine.

When I get to the Software Build Tools, I point to the .sopcinfo file and the tools tell me that ".sopcinfo does not contain any CPU". I can see the CPU information in the .sopcinfo file using a text editor.

I suspect that the file format has changed and that there's a new way to build a simulation design for Qsys Pro. Unfortunately, Uncle Google couldn't seem to find it either.

Does anybody have a pointer on how to make this happen? Thanks in advance for any pointers.

Quartus Prime Pro: 16.0.2 Build 222 07/26/2016 SJ Pro Edition
Qsys Pro (Beta) 16.0.2 Build 222
Eclipse: Kepler Service Release 2, Build id: 20140224-0627
Windows 10 Home

VIP Suite (CVI, Frame Buffer, CVO) Vertical Ancillary packet problem

$
0
0
Hello,

I need help on how to successfully transport the Vertical Ancillary (VANC) packet from with the configuration below.
----(embedded video sync)---> CVI ---> Frame Buffer ---> CVO ----(embedded video sync)---->

The input video format is 1080i60, Vertical ancillary packet at lines 19 and 20 for Field 0 and lines 582 and 583 for Field 1.

CVI setting : Extract ancillary packet (checked)
Frame Buffer setting: Set the value of non-video packet handling setting to maximum.
CVO setting : set the appropriate ancillary insertion lines

The problem is that all the vertical ancillary packet has been concatenated in line 19 of Field 0 as seen on the output of CVO.
When I tried to simulate using a smaller video size (i.e. 128x128) and set the ancillary line for Field 1 to the appropriate line number for 128x128 video size, I have noticed that cause of the concatenation is from the Frame Buffer.
I am using Quartus 14.1.

Does anyone experienced this problem?

Thank you.

Zeahr

STD_LOGIC_VECTOR error

$
0
0
I'm trying to implement following verilog peace of code in vhdl

reg [11:-2]center;

it's clear center is an 14 bit register. but in vhdl

signal center : std_logic_vector(11 downto -2) gives me an error.

what should i do ?

i know that std_logic_vector type cannot use to index negative values.


please help me.

:(

flash memory issue

$
0
0
Hello everyone,
I have a Altera max10
I have a flash memory issue. When I download a program in FPGA, then I power off then power on. The program isn't keep in memory.
I use the same software, but with a kit max10. The memory works. So that's mean I have a hardware issue. But when I check some pins like
-CONF_DONE. It has a pull up, so no problem.
-nSTATUS should be connect to a pull up. But it's put in a ground. But normally no impact.
So Except CONF_DONE nSTATUS nConfig. What else pins should I verify?
Thanks a lot

Using the USB OTG present on the DECA MAX10 board

$
0
0
Hi,

I'm trying to use the USB OTG present on the DECA MAX10 evaluation kit to receive and transfer data from the kit to my system. In the Qsys I have added an UART(RS-232) module in order to make the transmission possible. As per the data sheet of the DECA MAX10 kit it says that the USB OTG is connected to the transceiver chip from TI for the UART purpose. So in my top level file I need to map the receiver and the transmitter port of the UART module present in the Qsys to the receiver and the transmitter port of the USB OTG(as it's connected to a transceiver chip) but it's not clear to me which pins of the USB should be mapped. Can anyone please help me with this ?

Thanks,
Swarnava Pramanik

Assembler internal error Aria 10

$
0
0
Hi,

I experience a crash during assembler stage for my design. Attached is the report generated by Quartus.

As far i can understand there is an issue with some constraints regarding the IOPLL ip that i use.
For the same design the assembler had worked fine before i included an IOPLL ip (very simple pll : one refclk one output, all else defaults)
in the constraints i just include 'derive_pll_clocks' and 'derive_clock_uncertainty commands.


anybody had similar problem before? i saw some issues with Aria 10 in Quartus but i don't think this is my problem as without the IOPLL i could get a sof file...
Attached Files
Viewing all 19390 articles
Browse latest View live


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