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

Cyclone IV PLL Reconfiguration parameter setting

$
0
0
Hi,
im using cyclone IV now, and i want to change one of the PLLs output frequence from 3MHz to 99MHz by step 3MHz when FPGA works.
I use ALTPLL_RECONFIG IP core, and want to set parameter manually. but how can i get the right parameter?
now im just use ALTPLL and create each mif file with different frequence and get the value.
that is too complex, and kind of stupid. is there any Reference Manual or user guide tell us how to set the parameter?
like how to set Loop-Filter-Capacitance/Resistance and Charge-Pump-Current value.

Thanks,
Leon ZHAO

SD card CRC Ok response in DE4_SDCARD Demo when executing CMD24 Write block command

$
0
0
Hi everyone
I am referring to the DE4_SDCARD demo by Altera provided with DE-4 board and working in 1-bit SD mode.
When applying a block write operation using command CMD24 for example I am not getting SD card busy status so where after I can check CRC Ok response.
I mean to say after applying STOP bit, I assume the card must go busy for writing the data physically but just after applying next clock I am getting high '1' on the DAT0 line which means card is never gone busy for writing. However to my luck the data is also written down successfully but I still want to monitor the response of CRC check after sending STOP bit which I cannot in current scenario.

Please help me, the code snap is given below and problem is highlighted in line ////>>>>>>>>>>>>>>>


// write data (512byte = 1 block)
for(i=0;i<nDataLen;i++)
{
Data8 = szDataWrite[i];
for(j=0;j<8;j++)
{
SD_CLK_LOW;

if (Data8 & 0x80)
SD_DAT_HIGH;
else
SD_DAT_LOW;

SD_CLK_HIGH;
Data8 <<= 1;
}
}

// send CRC
j=0;
for(i=0;i<16;i++){
SD_CLK_LOW;
if (DataCrc16 & 0x8000)
SD_DAT_HIGH;
else
SD_DAT_LOW;

SD_CLK_HIGH;
DataCrc16 <<= 1;
}

// stop bits (value 'one')
SD_CLK_LOW;
SD_DAT_HIGH;
SD_CLK_HIGH;

////>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Just below code after STOP bit is already sent I am getting 0xff which means only 1's no zero indicating busy for sd card.

//===== check busy bits (data0 only)
SD_DAT_IN;
for(i=0; i<8; i++) //wait for response
{
SD_CLK_LOW;
SD_CLK_HIGH;
Response <<= 1;
if(SD_TEST_DAT) Response|=0x01;
}
printf("Response is: 0x%02x\n", Response); //Prints always 0xff


Please help me come out from this problem so I can check the CRC ok response on DAT0 line after STOP bit

OpenCore Plus IP Licensing

$
0
0
Hi,

I've been working on a project using a nios ii soft cpu and have had no problems with it. However, recently a message has appeared after using the programmer;

"Click Cancel to stop using OpenCore Plus IP
Time remaining: unlimited"

Presumably this is the result of some licensing issue? I've never had this appear before. To clarify I've been using the free tools with Quartus Prime Lite.

If this is a licensing issue, how would this affect my ability to use these devices? I'm not intending to go into any sort of volume production, but I cannot afford for my end use case to be hooked up to the computer it was programmed on, and would also need to be programmed into flash memory. The application is purely academic research at a university.

If this does affect my ability to use the devices, what would be the easiest (cheapest!) way to rectify?

Many thanks in advance, I've been really enjoying Altera's tools and have been recommending them to everyone I know. :)

Error (209014): CONF_DONE pin failed to go high in device

$
0
0
Hi,

When i want to flash Stratix V board with SOF file i get this error. How can i ground Chip Enable pins? i did it in my verilog code like 1'b0 ,but it did not work. how can we ground them physically?

Replacing EPCS128 with EPCQ128A configuration memory

$
0
0
Since the EPCS128 configuration memory is difficult to buy, we are trying to replace it with EPCQ128A.
The main difference when only using one data pin, is that the sector size is different. 256 kB on EPCS128 and 64 kB on EPCQ128A.
So I changed the sector erase size from 256 kB to 64 kB, which works great on EPCQ128A, but for some reason it does not work on the old EPCS128.
I would prefer to use the same image for both devices and this approach should only erase the same sector 4 times when EPCS128 is used. Is there anyone that have an idea on why it does not work?

I was considering reading the memory capacity ID, but it seem to be the same for EPCS128 and EPCQ128A. Is there another way to read out if it is a EPCS128 or EPCQ128A device?

I'm using "ASMI Parallel Intel FPGA IP Core" to read, write and erase the memory.

/ Joakim

FS2 support for Cyclone 5 FPGAs

$
0
0
Hi,
We have been using FS2 interface on Cyclone 2 FPGA all these years. We are now migrating to Cyclone 5 but found that there is no support for FS2. We used TCL scripts on cyclone2 and we need to re-write everything. We thought it is a common issue for legacy product upgrades. Any one facing same issue ? Any alternatives ?

Thanks!

Modelsim hanging trying to compile Stratix IP

$
0
0
Hi folks, I'm in the process of migrating a design from Quartus 16.1 targeting an Arria 10 to Quartus 18.0 targeting a Stratix 10. Trying to port one of the testbenches that uses the hard floating point IP, modelsim is hanging when doing the following:

# vlog -reportprogress 300 -sv c:/intelfpga_pro/18.0/quartus/eda/sim_lib/mentor/fourteennm_atoms_ncrypt.sv -work fourteennm_ver

This appears to be from about three quarters of the way through the "dev_com" step from the generated msim_setup.tcl file. Anyone have any ideas what might be causing it and/or what I need to kick to get it to compile?

Thanks,
Andy

modelsim Error: (vlog-13036) near "--": Operator only allowed in SystemVerilog.

$
0
0
Hi,

After trying to simulate (with no success for now) Arria10 fifo with Quartus 18 Standard installation and modelsim altera starter edition in linux: https://www.alteraforum.com/forum/sh...ad.php?t=59117

I've jumped to use Quartus 18 Pro edition with modelsim Intel FPGA Edition 10.6c.
Despite the awful surprise that there is no more simple button for simulation, I've followed the Intel Simulation Quic-Start for Modelsim* - Intel FPGA Edition, and after some complications like " modelsim doesn't like '\' as folder separator(default in windows)" and other minor problems, I get to the error shown in the copy of the transcript I left here. I also add the code.

Thanks,
Guillermo

MODELSIM TRANSCRIPT

Code:

...
# Model Technology ModelSim - Intel FPGA Edition vcom 10.6c Compiler 2017.07 Jul 26 2017
# Start time: 19:29:03 on Jul 02,2018
# vcom -reportprogress 300 D:/LHCb/Arria10Tests/fifoTest/fifo4fifoTest1/fifo_180/sim/fifo4fifoTest1_fifo_180_kjud6dq.vhd -work fifo_180
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling entity fifo4fifoTest1_fifo_180_kjud6dq
# -- Compiling architecture SYN of fifo4fifoTest1_fifo_180_kjud6dq
# End time: 19:29:03 on Jul 02,2018, Elapsed time: 0:00:00
# Errors: 0, Warnings: 0
# Model Technology ModelSim - Intel FPGA Edition vcom 10.6c Compiler 2017.07 Jul 26 2017
# Start time: 19:29:03 on Jul 02,2018
# vcom -reportprogress 300 D:/LHCb/Arria10Tests/fifoTest/fifo4fifoTest1/sim/fifo4fifoTest1.vhd -work fifo4fifoTest1
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity fifo4fifoTest1
# -- Compiling architecture rtl of fifo4fifoTest1
# -- Loading entity fifo4fifoTest1_fifo_180_kjud6dq
# End time: 19:29:03 on Jul 02,2018, Elapsed time: 0:00:00
# Errors: 0, Warnings: 0
# Model Technology ModelSim - Intel FPGA Edition vlog 10.6c Compiler 2017.07 Jul 26 2017
# Start time: 19:29:03 on Jul 02,2018
# vlog -reportprogress 300 -work work D:/LHCb/Arria10Tests/fifoTest/fifoTest1TB.vhd
# ** Error: (vlog-13036) D:/LHCb/Arria10Tests/fifoTest/fifoTest1TB.vhd(1): near "--": Operator only allowed in SystemVerilog.
# ** Error: (vlog-13069) D:/LHCb/Arria10Tests/fifoTest/fifoTest1TB.vhd(1): near "--": syntax error, unexpected --, expecting class.
# End time: 19:29:03 on Jul 02,2018, Elapsed time: 0:00:00
# Errors: 2, Warnings: 0
# ** Error: C:/intelFPGA_pro/18.0/modelsim_ae/win32aloem/vlog failed.
# Error in macro ./msim_setup.do line 33
# C:/intelFPGA_pro/18.0/modelsim_ae/win32aloem/vlog failed.
#    while executing
# "vlog -work work D:/LHCb/Arria10Tests/fifoTest/fifoTest1TB.vhd"

TESTBENCH

Code:

--library ieee;
--use ieee.std_logic_unsigned.all;
--use ieee.std_logic_1164.all;
--use ieee.std_logic_textio.all;
--use ieee.numeric_std.all;
--
--library STD;
--use STD.textio.all;
--
--library altera;
--use altera.all;
--use work.all;

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

entity testbench is

end testbench;

architecture behave of testbench is

    component Arria10FifoTest1 IS
        PORT(
            nReset        : in std_logic;
            ClkIn            : in std_logic;
            DataIn        : in std_logic_vector(23 downto 0);
           
            DataInValid : in std_logic;
           
            ClkOut        : in std_logic;
            DataOut        : out std_logic_vector(23 downto 0)
           
        );
    END component Arria10FifoTest1;
   
    signal nReset    : std_logic := '0';
    signal ClkIn    : std_logic := '0';
    signal ClkOut    : std_logic := '0';
   
    signal DataInValid : std_logic;
    signal DataIn : std_logic_vector(23 downto 0);
    signal DataOut : std_logic_vector(23 downto 0);
   
    constant PERIOD_ClkIn  : time := 5 ns;
    constant PERIOD_ClkOut : time := 4 ns;

begin

    tbu0 : component Arria10FifoTest1 port map(
        nReset        => nReset,
        ClkIn            => ClkIn,
        DataIn        => DataIn,
        DataInValid => DataInValid,
        ClkOut        => ClkOut,
        DataOut        => DataOut       
    );
   
    genClkIn : process (ClkIn) begin
        ClkIn <= not ClkIn after PERIOD_ClkIn/2;
    end process;
       
    gen_clock_usb : process (ClkOut) begin
        ClkOut <= not ClkOut after PERIOD_ClkOut/2;
    end process;
       
    rst_gen: process
    begin
        nReset <= '0';
        wait for PERIOD_ClkIn * 5;
        nReset <= '1';
        wait;
    end process rst_gen;
   
    gen_aux_data : process
    begin
        DataIn <= (others => '0');
       
        loop
            wait until (ClkIn'event and ClkIn = '0');
            DataIn <= std_logic_vector(unsigned(DataIn) + 1);
        end loop;
    end process;

end behave;

TOP LEVEL

Code:

LIBRARY ieee;
USE ieee.std_logic_1164.all;
--use IEEE.STD_LOGIC_1164.all;
use IEEE.numeric_std.all;

ENTITY Arria10FifoTest1 IS
    PORT(
        nReset        : in std_logic;
        ClkIn            : in std_logic;
        DataIn        : in std_logic_vector(23 downto 0);
       
        DataInValid : in std_logic;
       
        ClkOut        : in std_logic;
        DataOut        : out std_logic_vector(23 downto 0)
       
   
    );
END Arria10FifoTest1;

architecture beh of Arria10FifoTest1 is

    component fifo4fifoTest1 is
        port (
            data    : in  std_logic_vector(23 downto 0) := (others => 'X'); -- datain
            wrreq  : in  std_logic                    := 'X';            -- wrreq
            rdreq  : in  std_logic                    := 'X';            -- rdreq
            wrclk  : in  std_logic                    := 'X';            -- wrclk
            rdclk  : in  std_logic                    := 'X';            -- rdclk
            aclr    : in  std_logic                    := 'X';            -- aclr
            q      : out std_logic_vector(23 downto 0);                    -- dataout
            rdempty : out std_logic;                                        -- rdempty
            wrfull  : out std_logic                                        -- wrfull
        );
    end component fifo4fifoTest1;
   
    signal fifoRempty,fifoWfull : std_logic;
    signal fifoRreq,fifoWreq : std_logic;
   
    signal DataBuff : std_logic_vector(23 downto 0);
 
begin

    u0 : component fifo4fifoTest1 port map (
        data    => DataIn,    --  fifo_input.datain
        wrreq  => fifoWreq,  --            .wrreq
        rdreq  => fifoRreq,  --            .rdreq
        wrclk  => ClkIn,  --            .wrclk
        rdclk  => ClkOut,  --            .rdclk
        aclr    => nReset,    --            .aclr
        q      => DataOut,      -- fifo_output.dataout
        rdempty => fifoRempty, --            .rdempty
        wrfull  => fifoWfull  --            .wrfull
    );
   
    fifoRreq <= '1';
    fifoWreq <= DataInValid;

   

--    inl : process(nReset,ClkIn) begin
--    if ( nReset = '0') then
--        DataBuff <= (others => '1');
--    elsif rising_edge(ClkIn) then
--        DataBuff <= DataIn;
--    end if;
--    end process;
--   
--    outl : process(nReset,ClkOut) begin
--    if ( nReset = '0') then
--        DataOut <= (others => '1');
--    elsif rising_edge(ClkOut) then
--        DataOut <= DataBuff;
--    end if;
--    end process;


end beh;


I this still the official fotum site for Intel FPGA?

$
0
0
Hi. Intel has pop ups to say that a transition has taken place as of June 30 for certain parts of Altera/Intel. Is this something that will affect where and how we search for Intl FPGA information and discussion? support and field application engineers?

Windows 1o Quartus Programmer does not match Linux Quartus Programmer

$
0
0
Hi,

Windows 1o Quartus Programmer does not match Linux Quartus Programmer : I can see both devices in Linux BUT I can only see the flash device in Windows.







linux quartus prime pro programmer






In short,

in Linux , I can see all the devices : Max , Flash and Cyclone 10 GX devices.

In Windows 10, I can not see the FPGA

Please note that:

In Linux, The programmer Hardware setup section left - top of GUI shows USB-Blaster [1-3]

In Windows 10, The programmer Hardware setup section left - top of GUI shows USB-Blaster [1]

Regards,
Attached Images

Install a tool in linux on DE1-Soc Board FPGA

$
0
0
Hi,
I need help please.
I successfully boot linux on DE1-Soc Board FPGA THROUGH sd card.
right now I want to install a memory monitoring tool 'DR.Memory ' in my FPGA
Is it possible ?

BestRegards,
Imen.

OpenCL: Multiple outputs?

$
0
0
Is it possible to have multiple outputs from an OpenCL kernel?

I get the following error message when I attempt it:
Errors in HDL component specification file:Error in 'mm.xml', line 75
Expected element <OUTPUT> to appear exactly once.

I am creating RTL kernels and would like to return status, version info sideband to the memory interface.

Thanks, systom

Can't Access JTAG Chain Programmer Failed

$
0
0
Hi Everyone,

I am having an issue programming my device. It compiles fine, then when I try to program the board it says failed. In the system output it has the error:
Code:

Error (209040): Can't access JTAG chainError (209040): Can't access JTAG chain
Error (209015): Can't configure device. Expected JTAG ID code 0x02D010DD for device 2, but found JTAG ID code 0xFFFFFFFE. Make sure the location of the target device on the circuit board matches the device's location in the device chain in the Chain Description File (.cdf).
Error (209012): Operation failed

Looking at the JTAG chain debugger, if I test the chain before trying to program the board, it tests fine, outputting:



However, after attempting to program the board I get the following from the JTAG debugger:



Also I double checked I am compiling and programming the correct board.
Appreciate any help thanks!
Attached Images

Failed programming at 85%

$
0
0
Hello All,

I have a very simple FPGA project to test the Intel Arria 10 SoC Dev kit (DK-SOC-10AS066S-A) with Quartus Prime Pro 18.0 as follows. The main code instantiates an IOPLL Intel FPGA IP core to reduce the input board clock from 100 MHz down to 2 MHz which drives a Unique Chip ID core. It also blinks an LED on the board.

LIBRARY iopll;
LIBRARY chip_id;

ENTITY blink_id IS
PORT ( board_clock: in std_logic;
button_0_reset: in std_logic;
led_0_blink: out std_logic;
led_1_id_ready: out std_logic;
led_2_id_0: out std_logic := '1');
END;

ARCHITECTURE rtl OF blink_id IS
signal main_clock: std_logic;
signal unique_id: std_logic_vector(63 downto 0);
BEGIN

entity_iopll: entity iopll.iopll port map (
refclk => board_clock,
outclk_0 => main_clock,
rst => not button_0_reset);

entity_chip_id: entity chip_id.chip_id port map (
clkin => main_clock,
data_valid => led_1_id_ready,
chip_id => unique_id,
reset => not button_0_reset);

-- Get ID
-- led_2_id_0 <= unique_id(0);

-- Blink LED
process (main_clock)
variable counter: integer := 0;
begin
if rising_edge(main_clock) then
counter := counter + 1;
if counter = 2000000/2 then
counter := 0;
led_0_blink <= not led_0_blink;
end if;
end if;
end process;
END;


The device & pin assignments are as follows:
Device: 10AS066N3F40E2SG
board_clock: PIN_AN18, I/O Standard, 1.8 V
button_0_reset: PIN_R5, I/O Standard, 1.8 V
led_0_blink: PIN_AR23, I/O Standard, 1.8 V, minimum current, 1,
led_1_id_ready: PIN_AR22, I/O Standard, 1.8 V, minimum current, 1,
led_2_id_0: PIN_AM21, I/O Standard, 1.8 V, minimum current, 1,



The compilation got the following warnings:
Critical Warning(17951): There are 48 unused RX channels in the design.
Critical Warning(18655): There are 48 unused TX channels in the design.
Critical Warning(332012): Synopsys Design Constraints File file not found: 'blink_id.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.
Critical Warning(332012): Synopsys Design Constraints File file not found: 'blink_id.sdc'. A Synopsys Design Constraints File is required by the Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.
Critical Warning(19317): No user constrained generated clocks found in the design. Calling "derive_pll_clocks -create_base_clocks"
Critical Warning(19317): No user constrained base clocks found in the design. Calling "derive_clocks -period 1.0"


The code above works fine and I can see the blinking LED. However, if I un-comment the red line, the chip programming would fail at 85% (attached image).


Similarly, if I made any bit of the "unique_id" vector visible in Signal Tap Logic Analyzer, the chip programming would fail as well.

What do you think the issue was?
You can download the project here: https://www.dropbox.com/s/3kimkjcwgo...d_id0.zip?dl=0

Thanks
Arintel
Attached Images

Altera Forum will migrate to a new Intel Community on July 30th

$
0
0
We are making changes to fully integrate PSG products and services into one Intel digital platform and as such, the Altera Forum will migrate to a new Intel Community on July 30th. All the existing Altera Forum content will be migrated over to the new community platform and users will see a new look and feel. Users with a Reputation of Pupil, Scholar, Teacher or Guru will have their log-in email addresses migrated to the new forum and will need to complete a password reset before they can start posting. General Altera Forum users without a reputation will have to register for an Intel account after July 30th in order to post content in the new Intel Community Forum. Status and point levels will transfer to the new community 30 days after you register. More information will be added closer to migration. We hope you will enjoy the new community layout and features coming on July 30th!

Quartus Prime Pro 18 Installation Error

60 day trial license for opencl sdk standard 17.0

$
0
0
How can I get the link to ask for the 60 day trial license ???

Tutorial or user guide on simulating HPS-FPGA system

$
0
0
Hi,

Does anyone know if I can find any tutorial or user guide on how to use Modelsim-Altera to simulate an HPS-FPGA soc? I'm able to use vlog to compile the design, however, when I do vsim, many design units cannot be found. This includes: cyclonev_hps_peripheral_sdmmc, cyclonev_hps_peripheral_sdmmc, cyclonev_hps_peripheral_usb, etc.

I haven't seen any document about simulating an HPS-FPGA system. Is it ever possible? I am using the modelsim-altera with license (modelsim-ae). Is there any other license that I need? Thanks!

Qinru

Altera Cyclone V: UDP data transfer without packet loss

$
0
0
Dear all,

I am a newbie in Altera Cyclone V SOC.

We are conducting a feasibility study on our Altera Cyclone V SOC.
We are having some streaming data receiving at FPGA at 300 Megabits per second.
We have to transfer this data without any packet loss to a server machine over WiFi connection.
UDP client application works on Altera SOC and server application works on an Ubuntu desktop machine.

Initially we tried out a sample UDP_client and UDP_Server application which sends hardcoded buffer of data [from user space only. Not data read from FPGA via kernel space] to measure the maximum data rate over WiFi.
We got the range of 250Mbps to 500Mbps. [Without tuning and tuning some network parameters as suggested in the link [https://opensourceforu.com/2016/10/n...e-monitoring/]

We are running Angstrom Linux supplied by Altera (Linux kernel version 4.9).

Two methods we have tried out already.

Method 1:- FPGA is programmed to write the streaming data to DDR memory.
We have written a character driver, tried out interrupt driven approach (one interrupt in every 1 ms).
From the ISR, we have woke up a read() method of our character driver which copies the 30K buffer available in DDR memory in every 1ms to user space. (copy_to_user()).
From the user application, we used sendto() method for UDP transfer. We found out that periodically packets gets lost.

Method 2:- FPGA is programmed to write the streaming data to DDR memory every 1ms to a reserved 1MB space and a register is available which tracks the number of packets already written (Erase on read type programmed).
Character driver is written to access the DDR memory.
User application in every 10ms issues a IOCTL to read the register storing number of packets available, copies the available packets to user space using read(). copy_to_user() mechanism at kernel side.
Split the buffer received in chunks of one packet. (30K buffer send via UDP in a for loop). we used sendto() method for UDP transfer. We found out that periodically packets gets lost.

Again we found packets gets lost at server side.

Please share your valuable thoughts on this. Are we going in the right direction?
Are there any better methods to attack this problem? Does any zero copy / mmap the kernel buffer solve this issue?
Or are there any techniques to avoid the multiple overhead of kernel space/user space transition so that data can be sent directly via UDP?

Please help.. We are now almost blocked..

Looking forward to hear from you soon.
Thank you,
Lullaby

Has Altera stagnated under Intel?

$
0
0
In looking at Altera's history, can't help but notice they made a major new advance every couple of years. But now nothing for about 5 years (since about 2013). Not sure what it means, but it is a bit of a concern.


Attached Images
Viewing all 19390 articles
Browse latest View live


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