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

Altera is Hiring! Become an Altera SoC Applications Specialist

$
0
0
Altera is Hiring! Become an Altera SoC Applications Specialist

This position is in Altera headquarters in San Jose California.

The minimum qualifications for this role include:

  1. BS in computer science or equivalent with a minimum of 5 years of experience
  2. Experience with embedded Linux kernel, application and device driver development
  3. Working knowledge of embedded software for middleware and low level drivers for commonly used embedded peripherals e.g. TCP/IP, File System, USB stack
  4. Experience with software development for application class processors e.g. ARM Cortex A series or Intel architecture preferred


To apply for and see full details on the position please refer to https://altera.wd1.myworkdayjobs.com...er_R10008368-3

Altera is Hiring! Become an Altera SoC Applications Specialist

$
0
0
Altera is Hiring! Become an Altera SoC Applications Specialist

This position is in Altera headquarters in San Jose California.

The minimum qualifications for this role include:

  1. BS in computer science or equivalent with a minimum of 5 years of experience
  2. Experience with embedded Linux kernel, application and device driver development
  3. Working knowledge of embedded software for middleware and low level drivers for commonly used embedded peripherals e.g. TCP/IP, File System, USB stack
  4. Experience with software development for application class processors e.g. ARM Cortex A series or Intel architecture preferred


To apply for and see full details on the position please refer to https://altera.wd1.myworkdayjobs.com...er_R10008368-3

Power Profiling in Altera DE1 SoC for OpenCL Implementation

$
0
0
I am currently working on Altera DE1 SoC, Implementing algorithms for computer vision applications. For benchmarking purpose I have to power profile it (power utilized only for the execution of my algorithm in OpenCL), How can I do that? I want to disable all the unwanted 7 segment displays and unused peripherals in DE1 SoC.

current support for clCreateSubBuffer function

$
0
0
Anyone can advice the SDK support status of the clCreateSubBuffer function?

Im using Quartus Prime / OpenCL SDK v15.1.2 with Stratix V board.

A bit more details:
trying to create a sub-buffer from a buffer that has already been transferred to the DDR using clEnqueueWriteBuffer, after passing the sub-buffer for kernel processing, the data read out are all zeros. (note: no errors during compile and run)

thanks!

Problem with the error Top partition does not contain any logic

$
0
0
Hellow, my problem is that my code compile until 50%, but this show me the error Top partition does not contain any logic, this code is my test bench of other code with 2 inputs with the specify bits for each one and the output of 4 bits. I am trying with this code a clock for each bit with diferent period and iam trying to prove some inputs.

`timescale 1ns / 1ns
//clock generation using initial and always statements


module TodoUnido_V ();
reg [9:0]A;
reg [5:0]B;
wire [5:0]Dia;


TodoUnido
DUT (A[9:0],B[5:0],Dia[4:0]);


initial
begin
A[9] = 1'b0 ;
#5
A[9] =~ A[9];

A[8] = 1'b0 ;
//#10
//A[8] =~ A[8];


A[7] = 1'b0 ;
#5
A[7] =~ A[7];

A[6] = 1'b0 ;
//#5
//A[6] =~ A[6];

A[5] = 1'b0 ;
#5
A[5] =~ A[5];

A[4] = 1'b0 ;
//#5
//A[4] =~ A[4];

A[3] = 1'b0 ;
#5
A[3] =~ A[3];

A[2] = 1'b0 ;
//#5
//A[9] =~ A[9];

A[1] = 1'b0 ;
#5
A[1] =~ A[1];

A[0] = 1'b0 ;
// #5
//A[9] =~ A[9];



B[5] = 1'b0 ;
#160
B[5] =~ B[5];

B[4] = 1'b0 ;
// #160
//P[5] =~ P[5];

B[3] = 1'b0 ;
#160
B[3] =~ B[3];

B[2] = 1'b0 ;
#160
B[5] =~ B[5];

B[1] = 1'b0 ;
//#160
//P[1] =~ P[1];

B[0] = 1'b0 ;
// #160
//P[0] =~ P[0];


end



//determine length of simulation
initial
#400 $finish;


endmodule

VHDL for simulation in Quartus II

$
0
0
Since it is my first use, ask the administrator to move the topic if you are in the wrong place.
I need help to represent the figure in VHDL to simulate in ModelSim or in Quartus II.
It will only be simulated to present a thesis of the postgraduate course.
The project will not be physically implemented.
I do not know anything VDHL, so ask for help.
A1, B1, C1, C2, C3, D1, E1, F1 and G1 are input.
RED, GREEN, YELLOW and PURPLE are LEDs.
Attached Images

Using IOWR IOED on Cyclone 5 SoC with HPS

$
0
0
Hi,

I have the standard ALTERA timer_core element in (Cyclone 5 SoC with HPS) FPGA. I try to access its registers using:
#define IOWR(offset, x, data) (*((volatile UINT32*)(offset)) = data) // WR access
#define IORD(offset, x) (*(volatile UINT32*)(offset)) // RD access

However, I get exception.

Using the same macros for HPS peripherals is fine, no problem...

I wonder, what's wrong? What should I use instead?

Thanks!
Ran

Assertion failed: mem, file acl_mem.c, line 369

$
0
0
I have a problem with clEnqueueWriteBuffer. When I call this function the host program exits with the message Assertion failed: mem, file acl_mem.c, line 369. I cannot find the acl_mem file and so I cannot find what is going wrong. Where do I have to look to solve this?

Max10 Single supply internal voltage regulator

$
0
0
Hi

MAX® 10 single-supply devices only need either a 3.0- or 3.3-V external power supply. The external power supply serves as an input to the MAX® 10 device VCC_ONE and VCCA power pins. This external power supply is then regulated by an internal voltage regulator in the MAX® 10 single-supply device to 1.2 V. The 1.2-V voltage level is required by core logic operation.

My question is: What type of voltage regulator is used ? Linear regulator ? Switching regulator?

Thanks

Does Quartus II 12.1 support Systemverilog 2005 in the following form?

$
0
0
Hi all,

It reported errors when using quartus ii 12.1 synthesis code with setting VERILOG_INPUT_VERSION SYSTEMVERILOG_2005.
I paste it as bellow.

It can run pass if change it like this :

I looked up IEEE-std-verilog2005 ,and found that both with the keywords generate and without are ok.
I also looked up quartusii_handbook13.1 and websit :http://quartushelp.altera.com/curren...t_sys_vlog.htm ,but cannot find whether quartus 12.1 support it or not.

Could you tell me the reason and how to solve this problem if it must be used without keyword generate?
Thanks!
Attached Images

Differences between accesing to HPS SDRAM from FPGA vía F2H and F2H_SDRAM

$
0
0
Hi,all.

I´d seen the SoCkit Linaro Linux Desktop´s Quartus Project

---->> http://rocketboards.org/foswiki/view...roLinuxDesktop

This example outputs linux video to the FPGA fabric.

In the fabric there is a framereader who reads the linux framebuffer and clocks video out.

I observed in the .QSYS that the VIP_framereader reads HPS SDRAM through the f2h bridge instead of doing this through the f2h_sdram interface.In fact there is no f2h_sdram interface enabled in the hps component propierties.

http://oi66.tinypic.com/15odkqg.jpg

I was working with the f2h_sdram interface enabling the h2f_sdram handoff etc... but never with the f2h bridge.

This other qsys system from Macnica uses my usual approach to access sdram (f2h_sdram bridge)

http://es.tinypic.com/view.php?pic=1...9#.VtmDDuYXtpg

What are the differences between this two approaches??

Thanks.

Behavioral vs Dataflow/RTL

$
0
0
Hello,

I am having some trouble identifying the differenace between behavioral and dataflow modelling. I have searched a bit on the internet and i have seen that these two coding styles are quite the same.

with regards to the entity decleration, it has to be the same for every coding style(inc. structural)

but then with structural modelling the architecture is defined using logic gates while with behavioral and dataflow they both use a process and it basically defines the function in terms of the inputs and outputs declared in the entity.

any help is appreciated :)

Audio Processor Using FPGA SPARTAN 6

$
0
0
I am building an audio processor with effects in my final year project using Spartan 6 and there is a problem i am facing. Since my project guide has left my institute , I am facing a few difficulties of which this is one of them. The following is the code for audio playback . When i use it without the clock divider (On board clock of 4 MHz) process i am able to hear the audio . When i change the ADC Clock (Clock Divider from 4 MHz to 44.1 KHz ) i am unable to hear anything . Why is it so. The test bench shows that the ADC clock is divided to 44.1 KHz but its not giving an on board output.

----------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 17:19:31 01/03/2016
-- Design Name:
-- Module Name: ADC_DAC_interface - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
library UNISIM;
use UNISIM.VComponents.all;
entity ADC_DAC_interface is
Port (
------- FPGA global inputs --------
F_RESET : in STD_LOGIC;
F_CLK_4MHz : in STD_LOGIC;

--------------- ADC interface (AD7938) ------------
F_IL : IN STD_LOGIC_VECTOR (1 downto 0); -- Switches for ADC i/p channel selection
F_ADC_D : inout STD_LOGIC_VECTOR (11 downto 0);
F_ADC_CLK : out STD_LOGIC; -- ADC clock
F_ADC_CS_BAR : out std_logic; --chip select
F_ADC_CONVST_BAR: out std_logic; --conversion start
F_ADC_WR_BAR : out std_logic; --write
F_ADC_RD_BAR : out std_logic; --read

--------------- DAC interface (TLV5619) ------------
F_DAC_D : out STD_LOGIC_VECTOR (11 downto 0);
F_WE_BAR : out STD_LOGIC;--13/2
F_CS1_BAR : out STD_LOGIC;
F_CS2_BAR : out STD_LOGIC;
F_CS3_BAR : out STD_LOGIC;
F_CS4_BAR : out STD_LOGIC
-- chipscope_clk : out STD_LOGIC
);

end ADC_DAC_interface;

architecture Behavioral of ADC_DAC_interface is
type state is (reset_s, write_cr, write_cr2, start_conv, check_count_done, read_data);
signal prsnt_s, next_s : state;
signal control_word : std_logic_vector(11 downto 0);

-- signals to count upto 16 instead of using BUSY pin --
signal count_16 : std_logic_vector(3 downto 0):= "0000";
signal start_count : std_logic:= '0';
signal count_done: std_logic:= '0';
signal reset_counter : std_logic:= '1';
signal Clk_in : std_logic;
signal Clk_mod : std_logic;
signal divide_value : integer;
signal counter,divide : integer := 90;
signal data_out_s: std_logic;
signal CLK : STD_LOGIC;
begin
CLK <= F_CLK_4MHz;
Clk_in <= CLK;
divide_value <= divide;
process(Clk_in)
begin
if( rising_edge(Clk_in) ) then
if(counter < divide/2-1) then
counter <= counter + 1;
Clk_mod <= '0';
elsif(counter < divide-1) then
counter <= counter + 1;
Clk_mod <= '1';
else
Clk_mod <= '0';
counter <= 0;
end if;
end if;

end process;
F_ADC_CLK <= Clk_mod;


-- BUFG_inst : BUFG
-- port map (
-- O => clk, -- Clock buffer output
-- I => F_CLK_4MHz -- Clock buffer input
-- );

--address_s <= channel_switch(1 downto 0);
control_word <= "00010" & F_IL(1) & F_IL(0) & "00001";
-- Count 16 clock cycles (time taken for ADC to convert the sampled input)
process(reset_counter, clk, start_count,f_reset)
begin
if(F_RESET = '1' or reset_counter = '1') then
count_16 <= "0000";
elsif (start_count = '1') then
if(clk'event and clk = '1') then
count_16 <= count_16 + '1';
end if;
end if;
end process;
count_done <= count_16(0) and count_16(1) and count_16(2) and count_16(3);
-------------------------- State Transition -------------------------
process(F_RESET, clk)
begin
if(F_RESET = '1') then
prsnt_s <= reset_s;
elsif(clk'event and clk = '1') then
prsnt_s <= next_s;
end if;
end process;
------------------ Conditions for State change ---------------------
process(F_RESET, prsnt_s, count_done)
begin
case prsnt_s is

when reset_s =>
if F_RESET = '1' then
next_s <= reset_s; -- When reset becomes 0,
else -- change state to write_cr
next_s <= write_cr;
end if;

when write_cr =>
next_s <= write_cr2;
when write_cr2 =>
next_s <= start_conv;

when start_conv =>
next_s <= check_count_done;

when check_count_done =>
if count_done = '0' then
next_s <= check_count_done; -- ADC AD7938 takes 13 cycles to convert a
else -- sampled data. So a 4-bit counter is used here.
next_s <= read_data; -- (Previously, BUSY pin was checked. When busy = 0,
end if; -- change state to read_data)

when read_data =>
next_s <= write_cr;
when others =>
next_s <= reset_s;
end case;
end process;
--------------------- Outputs at each state ---------------------------------
process(prsnt_s, control_word,clk)
begin
case prsnt_s is
when reset_s =>
F_ADC_CS_BAR <= '1';
F_ADC_CONVST_BAR <= '1';
F_ADC_WR_BAR <= '1'; -- RESET State
F_ADC_RD_BAR <= '1';
data_out_s <= '0';
F_CS1_BAR <= '1';
F_CS2_BAR <= '1';
F_CS3_BAR <= '1';
F_CS4_BAR <= '1';
F_WE_BAR <= '0';
start_count <= '0';
reset_counter <= '1';

when write_cr =>
F_ADC_CS_BAR <= '0';
F_ADC_CONVST_BAR <= '1';
F_ADC_WR_BAR <= '0'; -- Write Control Word
F_ADC_RD_BAR <= '1'; -- into Control register of ADC 7938
data_out_s <= '1';
F_CS1_BAR <= '1';
F_CS2_BAR <= '1';
F_CS3_BAR <= '1';
F_CS4_BAR <= '1';
F_WE_BAR <= '0';
start_count <= '0';
reset_counter <= '1';

when write_cr2 =>
F_ADC_CS_BAR <= '0';
F_ADC_CONVST_BAR <= '1';
F_ADC_WR_BAR <= '1'; -- Control Word is latched into ADC 7938
F_ADC_RD_BAR <= '1'; -- at the rising edge of WR-bar signal
data_out_s <= '1';
F_CS1_BAR <= '1';
F_CS2_BAR <= '1';
F_CS3_BAR <= '1';
F_CS4_BAR <= '1';
F_WE_BAR <= '0';
start_count <= '0';
reset_counter <= '1';

when start_conv =>
F_ADC_CS_BAR <= '1';
F_ADC_CONVST_BAR <= '0'; -- Conversion is started.
F_ADC_WR_BAR <= '1'; -- ADC drives BUSY output pin HIGH
F_ADC_RD_BAR <= '1';
data_out_s <= '0';
F_CS1_BAR <= '1';
F_CS2_BAR <= '1';
F_CS3_BAR <= '1';
F_CS4_BAR <= '1';
F_WE_BAR <= '0';
start_count <= '1';
reset_counter <= '0';

when check_count_done =>
F_ADC_CS_BAR <= '1';
F_ADC_CONVST_BAR <= '0'; -- CONVST_BAR pin is driven LOW until
F_ADC_WR_BAR <= '1'; -- ADC-BUSY pin goes LOW
F_ADC_RD_BAR <= '1';
data_out_s <= '0';
F_CS1_BAR <= '1';
F_CS2_BAR <= '1';
F_CS3_BAR <= '1';
F_CS4_BAR <= '1';
F_WE_BAR <= '0';
start_count <= '1';
reset_counter <= '0';

when read_data =>
F_ADC_CS_BAR <= '0'; -- Once ADC-BUSY goes LOW, data is
F_ADC_CONVST_BAR <= '1'; -- read from ADC and applied to DAC
F_ADC_WR_BAR <= '1';
F_ADC_RD_BAR <= '0';
data_out_s <= '0';
F_CS1_BAR <= '0';
F_CS2_BAR <= '0';
F_CS3_BAR <= '0';
F_CS4_BAR <= '0';
F_WE_BAR <= NOT clk;
start_count <= '0';
reset_counter <= '1';

end case;
end process;
------ Controlling bidirectional operation of databus --------
F_ADC_D(11 downto 0) <= control_word when data_out_s = '1' else
(others => 'Z');

F_DAC_D <= F_ADC_D;
--process(F_RESET, clk)
--begin
-- if(F_RESET = '1') then
-- F_DAC_D <= (others=>'0');
-- elsif(clk'event and clk = '1') then
-- F_DAC_D <= F_ADC_D;
-- end if;
--end process;
end Behavioral;

Probem in a state machine code

$
0
0
Hi, I'm new in VHDL and I have a problem with this code:

The problem is that when I program it on The FPGA, even when SW(4) is equal to 0, LEDR(0) is equal to 1. And It stays on this state even if I move on the others switches (SW(0),SW(1),SW(2)).

Thank you very much for any help.
Attached Files

NIOS II on DE0, displaying on LCD

$
0
0
Hi everyone,

I am trying to get some message displayed on LCD using DE0 board.

I had a look at the Pin Assignment tool and all pins are assigned correctly.

All of the files included in .c file are within project directory.

This is my main.c code:
Code:

#include <stdio.h>#include "system.h"#include "altera_avalon_pio_regs.h"#include "altera_avalon_lcd_16207_regs.h"#include "altera_avalon_lcd_16207.h"int main(){    char ch = '\0';    FILE *lcd_d = 0;    lcd_d = fopen(LCD_DISPLAY_NAME, "w");    printf("LCD & Keypad Test!\n");    //altera_avalon_lcd_16207_init(LCD_DISPLAY_BASE);    printf("Address of LCD: %s\n", LCD_DISPLAY_NAME);    while(1){        ch = kbd_getc();        usleep(9);        if(ch != 0){            printf("%c ", ch);            fprintf(lcd_d, "Hello LCD");        }    }    return (0); }
The code here is from another topic:
HTML Code:

http://alteraforum.com/forum/showthread.php?t=32164
When I try to rebuild the project I get errors:
'LCD_DISPLAY NAME' undeclared
and warnings:
implicit declaration of function 'kdb_getc'
implicit declaration of function 'usleep'

Could someone please offer some advice how do I go about this problem?

Are there specific commands that need to be used for DE0 board?

Many thanks

installation problem of quartus ii v10 in ubuntu 14.04

$
0
0
Hi, I have an installation problem of quartus ii v10 in ubuntu 14.04. I tried web edition and subscription edition. I follow this page recommendations
http://ubuntuforums.org/showthread.php?t=1616509 and every seems to work fine with the installation, but after the installation of the main quartus software the UI get stuck by saying "Installing Cyclone Family" and can't advance anymore. It happen with any fpga libraries I want to install. Is like it can't find or download or install the fpga families.

Thank you very much for your time.

Pablo Madoery
Attached Images

DE1-SoC Transferring data from the FPGA to the HPS

$
0
0
Hi everyone!
I've been looking everywhere and could not find any resources to help me.

I am working with a DE1-SoC Cyclone V board. I need to send data from the HPS to the FPGA and send it back from the FPGA to the HPS. I can do the first part without a problem by using the H2F bridge and the Avalon MM interface and using a C program to send the data. However, I could not find any resources on how to send data from the FPGA to the HPS. I know this is possible through the F2H bridge, or through the SDRAM or through an interrupt, but I'm finding it hard to understand how to do it using Quartus and a C program.

Can anyone point me towards anything that could help?

Thank you!

lvds 100 ohm pcb traces calculation

$
0
0
Hello.
someone experienced in designing pcb could tell me how to interpret the results of this software?
I need design a 100 ohm differential pcb trace.




it is essential only the section Zdiff, or Zodd Zeven and Zcommon also?(see picture)
Regards, Luca
Attached Images

Quartus not synthesizing my FSM right?

$
0
0
I made a FSM in verilog that is working in simulation.
I found a strange behaviour however, when I synthesize it in Quartus 2. The state WRITE should immediately go to WRITE_DONE, which it does.
But when in state WRITE_DONE, it should wait for the trigger of "ye" going low before moving on to the next state.
But when I synthesize and put this on FPGA, the WRITE_DONE is immediately passing to YE_PROG2 state on the next clock cycle, without waiting for the 'if condition'.
Does anyone have any suggestion why this might be happening? is there an error in my code I'm missing that's causing the synthesis to not do what I want? The code seems straightforward to me.
I did pull out the 'ye' signal in SignalTap to make sure it's high.

Code:

  always@(posedge clk or negedge resetn)
    begin
    if (!resetn)
      begin
        state <= IDLE;
      end
    else
      begin
        state <= next_state;
      end
    end

  always@(*)
  begin
      //next_state = IDLE;
     
    case(state)
      IDLE: begin
        if (read_start | read_next)//(xe & se & ye & yadr_change)) //(xe & ye & se)
          next_state = XYS;
        else if (xe & prog & !se)
          next_state = XPS;       
        else
          next_state = IDLE;
      end

      // READ
      XYS: begin
        if ((xe & ye & se) == 0)
          next_state = IDLE;
        else if (xys_count >= 2)//(xys_count == 2)
          next_state = READ;
      end
     
      READ: next_state = READ_READY;

      READ_READY: begin
        if (hreadyout_rise)
          next_state = READ2;
      end

      READ2: next_state = READ_READY2;
     
      READ_READY2: begin
        if (hreadyout_rise)
          next_state = IDLE;
      end

      // WRITE
      XPS: begin
        if ((xe & prog & !se) == 0)
          next_state = IDLE;
        else if (ye_rise)
          next_state = YE_PROG;
      end

      YE_PROG: begin
        if ((xe & prog & !se) == 0)
          next_state = IDLE;
        else if (prog_count == 5'd31)//(prog_count > 30)
          next_state = WRITE;
      end

      WRITE: next_state = WRITE_DONE;

      WRITE_DONE: begin       
        if (!ye)
          next_state = YE_PROG2;
      end

      YE_PROG2: begin
        if ((xe & prog & !se) == 0)
          next_state = IDLE;
        else if (prog_count == 5'd31)
          next_state = WRITE2;
      end     

      WRITE2: next_state = WRITE_DONE2;

      WRITE_DONE2: begin
        if ((xe & prog & !se) == 0)
          next_state = IDLE;
        else if (ye_fall)//(hreadyout_rise)
          next_state = IDLE;
      end
     
      default: next_state = IDLE;     

    endcase // case (state)
    end // always@ (*)

Invalid JTAG configuration

$
0
0
I am using MAX10 10M50SAE-144C8GES installed on our board, with Quartus Prime 15.1, programming with USB Blaster rev C.
I was debugging using SignalTap II, modifying the project, compiling and downloading it through the LogicTapII tool. At some point in the project development I got message "Invalid JTAG configuration" and was unable to program the MAX10 chip.
I tried to use programmer tool and it shows completion but the MAX10 chip is not actually programmed (the chip doesn't work). I changed both the board and the USB Blaster, got the same result. I tried USB Blaster with Altera 10M08 eval board and simple test project - it works fine through the SignalTapII. I tried to remove the last added module from my project and after few compilation, resetting the programmer, the board and my computer, the MAX10 started working. I put the missing module back and continued my work, tracing the operation. After about 10 traces SignalTapII didn't capture the complete trace (about 25% of the samples) and after I tried to reset the MAX10 chip and download the program I got the same message "Invalid JTAG configuration".

Please help!

Thank you.
Viewing all 19390 articles
Browse latest View live


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