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

Max10 Jtag pins as Differential I/O.

$
0
0
Good day.
I've got a problem with jtag pin sharing. My device is Max10 10M08. I use jtag pin sharing option and jtag pins as differential inputs. But when I try to program device with sof file using USB blaster, it fail. When this pins are outputs(not diff), programming is OK. When they are inputs (not diff) it fail too.

The JTAGEN pin is pulled-up with 10 kOm resistor to 3.3 V.

So the question is, how to program device using jtag and then use TDO, TMS, TDI and TCK pins as differential inputs?

Help me my board doesn't work

$
0
0
Hi I'm using de2-115 board and today, it doesn't work...

I used it yesterday but there is no problem

When I put my code into board, it became this state.

I tried to put default code to factory reset but I stopped at 33% or 49%.

Can anyone tell me how to fix this problem?
Attached Images

Least painless way to get data in & out of FPGA

$
0
0
I have a design that involves using a FPGA for data crunching. I've been developing it on a Cyclone V GT devkit board and using a third-party API (Xillybus) to send data over PCI-Express.

Now I need to extend it to work on a budget DE10-Nano board (also Cyclone V, but smaller and with an integrated SoC ARM CPU), which does not have PCI-Express. And, ideally, find a way that works with both boards without forking the code. I've been looking into options. There seems to be several. I can either use JTAG to Avalon MM via the USB-Blaster interface, or get a USB FTDI chip and hook it up to GPIO ports on the board, or possibly even communicate to the board via Ethernet. On a DE10-Nano, I am also able to access onboard DDR3 memory directly from the integrated SoC CPU, and I can write a C program that does the communications for me. (Being able to cache data in DDR3 is a plus.) That's just the ones I could think of, I'm sure there are others.

One thing they all have in common is that they are all exceedingly complex and/or slow. Going through the SoC is the only option for which I have sample code, and that pathway is suboptimal (I have to set up a cross-compiler, and the approach would not work with any boards except DE10-Nano.) I have complete FPGA-side sample code for a "simple" design that makes use of DDR3 and exposes Avalon MM via JTAG, but the complexity of it is mind-boggling (512 .v files, mostly autogenerated), just staring at the list of IP components in it makes me sleepy, and I would not begin to know how to port it to DE10-Nano. I tried to go from the ground up and generate my own DDR3 controller IP, I had to type in 30 parameters, it worked for several minutes and then failed, giving me a bunch of errors (most notably: "Warning: ddr3_example.if0.c0: c0.avl_0 must be connected to an Avalon-MM master; Error: ddr3_example.d0.avl/if0.avl_0: Missing connection end (try "Remove Dangling Connections").")

In addition to being complex, it seems that some of these approaches may be too slow for me. My task requires throughput of 20 MB/s. The FTDI->GPIO approach seems barely fast enough (40 MB/s) in synchronous FIFO mode. The USB-Blaster pathway was described here https://alteraforum.com/forum/showth...=34787&page=10 as "not that fast".

I would like some suggestions as to the direction in which I should dig.

Pragma Unroll with variable loop bound

$
0
0
Is it compulsory for the loop bound to be constant for unrolling?

Would the below kernel generate 50 times hw replication? What will happen if host sets the k = 60?


__kernel

__attribute__((task))
void test_multiplier(global char *restrict in, global char *restrict weights, global int *restrict out, int k) {


int output = 0;
#pragma unroll 50
for(int i=0; i<k; i++){
output += in[i] * weights[i];
}

Differences among various BSPs

$
0
0
What are some major differences between BSPs from various vendors? Currently I am using a10gx board with a10ref bsp. Are there differences in only in global memory BW?

DE2-115 board with DCC AD/DA daughter card

$
0
0
Hi all.

I am trying to implement a DDS with altera DE2-115 board. I want to use only the DAC of the daughter card. My codes run, no errors, in modelsim I can see the input thats gonna go in the hsmc interface. Its all fine, but I get no output from the DAC output co-ax when I connect it to an oscilloscope.

I downloaded the DE2-115+DCC AD/DA demo that was available in the website. That runs fine, and I get the output from the DAC output channel as its supposed to. But when I input from my file I dont get anything out. Nothing. Not even a wrong signal either. Just noise. I should get something!

Can anyone provide any insight in this? Thanks in advance. Any suggestion would be helpful.

How can Nios II read an external FIFO as if it was Avalon MM component?

$
0
0
A FIFO shall feed data to the Nios II. As expected, it exposes q, rdreq and empty signals. These can be easily mapped to Avalon ST compatible signals by merely inverting empty signal to generate the Avalon ST valid signal.

Now the question is, what do I do next so the Nios II Master can interface with this FIFO as if it was an Avalon MM slave? Certainly this shall require some sort of conversion between Avalon ST to Avalon MM as if the Nios II master was reading a FIFO inside the Qsys system.

Is this possible?

Swicthing between LVDS and LVCMOS

$
0
0
Hi, Do FPGA IC's pin able to switching between LVDS and LVCMOS in one program?
If yes, how do I configure it?
Let said I used one pin to switch IO pins.
When logic '1', all my IO pins become LVDS pair.
When logic '0',all my IO pins become LVMOS pin.

Does PCIe HD IP include the PHY IP Core? How to pin assignment for differential?

$
0
0
Hi all,

I have one starter Kit of Arria V. And I want to realize one application with <Avalon-MM Arria V hard HD IP for PCIe>.

My 2 questions:

1. Does <Avalon-MM Arria V hard HD IP for PCIe> include the PHY IP Core?
Need I add the additional PHY IP Core for <Avalon-MM Arria V hard HD IP for PCIe>?

2. In the top-level entity of PHY IP Core of PCIe, which signals are for differential couples? How should I do pin-assignment for the differential?
I cannot find the pair of +/- signals in the interface PHY IP Core of PCIe. It is confusion.

I wait your professional answer.
Thanks in advance.

MAX-10: IP core for UFM

$
0
0
I have instantiated the Altera on-chip flash IP core to use the MAX-10's UFM, but Quartus does not generate programming files since the one of the modules of the IP core is encrypted. I tried to use the IP core with Open core feature enabled (Evaluation Mode) but Quartus still does not generate the programming files. Any idea what may have gone wrong? Besides can anyone please also share where to contact Intel/Altera to get a quote for IP cores?

FIR I vs FIR II

$
0
0
I have used FIR I in a couple of projects (Quartus 9.1). I am considering upgrading to the latest Quartus and buying FIR II. In FIR I there is an "Edit Coefficients" button to open a configuration window where you can select the type of filter (e.g. Blackman) and enter the required frequency cut-off. This seems to have disappeared in FIR II? Are you expected to use another tool to generate the Coefficients?
I do not have MATLAB, but do have the Microchip dspWorks filter tool. Is this my best option going forward?
If this feature has ben removed wasn't this a step backwards?

generating .hex programming file from Quartus Prime

$
0
0
How to generate .hex programming file from Quartus Prime software?Thank you in advance.

generating .hex programming file from Quartus Prime

$
0
0
How can I generate a .hex programming file from Quartus Prime software?
Please suggest any other way out.

TimeQuest: constraining inout ports

$
0
0
Hi all,

this is probably a question to Rysc (as he's the author of the TimeQuest User Guide) but of course any helpful answer from anybody is more than welcome as well.

Discontent with my past understanding of timing constraints (I was just fiddling with them to the extend of getting my designs running but wouldn't really claim I've understood them), I decided to work through the TimeQuest User Guide. I guess I know have lot more thorough understanding regarding them (@Rysc: thank you for enlightment, btw., really appreciated).

Then I decided to test my newly acquired knowledge: set up a (really simple) design and started to constrain it by the book. My toplevel entity (stripped down from a real project) looks like this:

Code:

entity simple is
    port
    (
        CLK_MAIN        : in std_logic;
        RSTO_MCFn      : in std_logic;

        -- FlexBus signals
        FB_AD          : inout std_logic_vector(31 downto 0);
        FB_ALE          : in std_logic;
        FB_SIZE        : in std_logic_vector(1 downto 0);
        FB_CSn          : in std_logic_vector(3 downto 1);
        FB_BURSTn      : in std_logic;
        FB_OEn,
        FB_WRn          : in std_logic;
        FB_TAn          : out std_logic
    );
end entity simple;

(if it matters, this is a Cyclone III attached to a 33MHz FreeScale FlexBus interface)

created clocks and virtual clocks:

Code:

set period [expr roundto(1000000.0 / 33000.0, 3)]
create_clock -period $period -name CLK_MAIN [get_ports {CLK_MAIN}]
create_clock -period $period -name virt_clk_main

defined ports:

Code:

set flexbus_in_ports
[list FB_AD[*] FB_ALE FB_OEn FB_WRn]
set flexbus_out_ports
[list FB_AD[*] FB_TAn]

(FB_AD is an inout port, i.e. the multiplexed address/data bus of the FlexBus, therefore it appears in both lists)

and constrained them (according to the guide):

Code:

foreach in_port $flexbus_in_ports {
    set_input_delay -clock virt_clk_main -min  -0 $in_port
    set_input_delay -clock virt_clk_main -max    0 $in_port

foreach out_port $flexbus_out_ports {
    set_output_delay -clock virt_clk_main -min  -0 $out_port
    set_output_delay -clock virt_clk_main -max    0 $out_port
}

So far, so good. Works as expected up to this point (I'm well aware that I'm not finished and still need to add reasonable outside timing consumes).

But there is one thing that concerns me: as soon as I constrain the inout bus both directions, I get a ridiculously low restricted Fmax:

Code:

+-----------------------------------------------------------------------------------------------+
; Slow 1200mV 85C Model Fmax Summary                                                            ;
+------------+-----------------+---------------+------------------------------------------------+
; Fmax      ; Restricted Fmax ; Clock Name    ; Note                                          ;
+------------+-----------------+---------------+------------------------------------------------+
; 61.66 MHz  ; 5.81 MHz        ; virt_clk_main ; limit due to minimum period restriction (tmin) ;
; 141.96 MHz ; 141.96 MHz      ; CLK_MAIN      ;                                                ;
+------------+-----------------+---------------+------------------------------------------------+

and have no idea where this is coming from. For now, I tell TimeQuest that the outside world works in zero time and doesn't require any timing margin. Even if I replace the min and max delays with more "real" numbers, restricted Fmax stays at (exactly) 5.81 MHz.

Does anyone know where this is coming from or what I'm supposed to do with that? Is TimeQuest assuming a toggle rate for a "virtual register" outside the FPGA?
I might have overlooked something in the TimeQuest User Guide but didn't find anything specific on inout signals.

For now, I helped myself with a second virtual clock (one for in and one for out). Once I do that, the numbers look a lot more reasonable. But is that the right way to handle this case?

Thanks in advance for any enlightening answers.

Example Design compilation does not run on FPGA (newbie needs help)

$
0
0
Hello there,
I am currently trying to get into OpenCL Programming for FPGAs.
I followed Intels "aocl_c5soc_getting_started" guide (I've got a DE10-Standard).
I eventually got the emulation up and running, but i have huge probelms with the
cross-compilation of the host aswell as the actual Kernel compilation.
I compiled the Kernel with the environment Variables set as described in the guide.
Code:

aoc -board=c5soc_sharedonly device/vector_add.cl -o bin/vector_add.aocx
This command exited after around 30 minutes with 2 warnings and 0 errors.
The Image which i downloaded from Terasic already contains a working kernel and
executable so i tried to swap out their kernel with mine and it did no longer work. (At this
point I was not able to compile the host so I thought to give the swap a try to verify wether
the kernel is working correctly)

So now onto the Host compiling problem. So i start by setting up the environment variables
as before and ran make, which had a warning about libacl_emulator_kernel_rt.so missing.
Now that i had the kernel and the host i tried running it on the FPGA and got error message
Code:

./host: error while loading shared libraries: libintel_soc32_mmd.so: cannot open
shared object file: No such file or directory

I found this guide on Youtube https://www.youtube.com/watch?v=npEU...=RD4PUKzI14mLY
and he switch into the embedded shell for compiling, but after doing
so I only got another error Message stating
Code:

arm-linux-gnueabihf-g++: error trying to exec 'cc1plus':
execvp: file or directory not found

which is probably because the cc1plus in the path is a 32bit ELF.

Further Information:
I am Running in Ubuntu 16.04 and use IntelFPGA OpencSDK 18.0.
The Board I use is the Terasic DE10-Standard (Cyclone 5 SoC)
Environment Variables are set up as follows
Code:

$ cat exports
export ALTERAOCLSDKROOT="/home/daniel/intelFPGA/18.0/hld"
export INTELFPGAOCLSDKROOT=$ALTERAOCLSDKROOT
export QUARTUS_ROOTDIR_OVERRIDE="/home/daniel/intelFPGA/18.0/quartus"
export AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/c5soc
export PATH=$ALTERAOCLSDKROOT/bin:$QUARTUS_ROOTDIR_OVERRIDE:$PATH
export LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/linux64/lib:$AOCL_BOARD_PACKAGE_ROOT/linux64/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/board/s5_ref/linux64/lib:$LD_LIBRARY_PATH
$ source exports

Thanks and kind regards, Daniel.

What is the use/relevence of inst in .bdf files.

$
0
0
I'm just starting to use Quartus with Block Design Files -- very impressed. Coming from a KiCAD background it seems natural.

Two things have me puzzled:
What is the relevance on "inst" in each block. As I add components the number seems to increase. Is it just a way of identifying a block for debugging etc. or is there more to it.

Second, its unclear to me what the relevance/difference between
"Analysis & Synthesis" and
"Fitter (Place & Route)" are.

Do I use both, one or none before doing a compile, none, once, or every time.

Thanks in advance guys, hopefully questions like these will be helpful to other newbies.
John

Max10 PLL input clock switchover example?

$
0
0
Hi

I read max10 datasheet and it says that its PLLs support input clock switchover. I tried to used ALTPLL IP-core in Qsys(Platform design) to configure this feature but the "Clock Switchover"-Tab is always inactive and I couldn't find the way to activate it.

Is there any example for using PLL input clockswitchover in Max10?

Thanks alot.
Bien
Attached Images

MAX 10 CFM0 not programed

$
0
0
Hi there,
I conceived and validated a project on Max10 dev kit.
Now that the project is OK, we are in the process of developing a dedicated board, using 10M50SCE144 device which appeared good enough for that project.
The board has just been manufactured, and using JTAG header with a USB blaster, I'm able to program, run and debug the project.

However, when I power cycle the board, it does not start.
There is no time limited IPs or such things who could prevent me from running the devices detached.

After further investigations and many many different configurations tested, it appears that UFM is programed correctly into the flash, but not CFM0?
Illustration:
I programed .pof file into the device and it started correctly.
With Quartus programmer, I verified UFM: 100 % OK
I thus verified CFM0: it jumped to 54% (I guess skipping UFM) and then Failed!!! :(
I powered off/on the board: UFM is still there (meaning the flash is able to retain data!), but no track of CFM0 and the board did not start...

I may be foolishly missing something, but no way to figure out what...
Any advice?

Thanks
jylo

Help with VHDL VGA

$
0
0
Hi everyone

I'm just trying to use vga through de2-115 board

https://eewiki.net/pages/viewpage.ac...ageId=15925278

I refer to this page and it works

but now I'm trying to make my own vga controller but it doesn't work

I think problem is on clock but it's just a guess

my monitor couldn't read signal from my code

I need your help

this is the top model

Code:

LIBRARY ieee;USE ieee.std_logic_1164.all;


entity VGA is
        port(
          CLK                :IN  std_LOGIC;
                RED                :OUT  STD_LOGIC_VECTOR(7 DOWNTO 0);
                GREEN                :OUT  STD_LOGIC_VECTOR(7 DOWNTO 0);
                BLUE                :OUT  STD_LOGIC_VECTOR(7 DOWNTO 0);
                h_sync        :OUT        STD_LOGIC;
                v_sync        :OUT        STD_LOGIC;
                n_sync        :OUT        STD_LOGIC;
                n_blank  :OUT        STD_LOGIC;
                VGACLK  :OUT STD_LOGIC
                );
               
END VGA;


ARCHITECTURE AA OF VGA IS
               
        SIGNAL  RESET : STD_LOGIC:='0';
       
          component PLL is port (
            clk_in_clk  : in  std_logic := 'X'; -- clk
            reset_reset : in  std_logic := 'X'; -- reset
            clk_out_clk : out std_logic        -- clk
        );
    end component PLL;
       
        COMPONENT VGA_CONTROLLER IS PORT(
                pixel_clk        :        IN                STD_LOGIC;        --pixel clock at frequency of VGA mode being used
                reset_n                :        IN                STD_LOGIC;        --active low asycnchronous reset
                h_sync                :        OUT        STD_LOGIC;        --horiztonal sync pulse
                v_sync                :        OUT        STD_LOGIC;        --vertical sync pulse
                disp_ena                :        OUT        STD_LOGIC;        --display enable ('1' = display time, '0' = blanking time)
                column                :        OUT        INTEGER;                --horizontal pixel coordinate
                row                        :        OUT        INTEGER;                --vertical pixel coordinate
                n_blank                :        OUT        STD_LOGIC;        --direct blacking output to DAC
                n_sync                :        OUT        STD_LOGIC); --sync-on-green output to DAC
               
        END COMPONENT;
       
        COMPONENT HW_IMAGE_GENERATOR IS PORT(
                disp_ena                :        IN                STD_LOGIC;        --display enable ('1' = display time, '0' = blanking time)
                COLUmn                :        IN                INTEGER;                --row pixel coordinate
                ROW                  :        IN                INTEGER;       
                red                        :        OUT        STD_LOGIC_VECTOR(7 DOWNTO 0) := (OTHERS => '0');  --red magnitude output to DAC
                green                        :        OUT        STD_LOGIC_VECTOR(7 DOWNTO 0) := (OTHERS => '0');  --green magnitude output to DAC
                blue                        :        OUT        STD_LOGIC_VECTOR(7 DOWNTO 0) := (OTHERS => '0')); --blue magnitude output to DAC
        END COMPONENT;


                SIGNAL disp_ena        :        STD_LOGIC;
                SIGNAL row                        :        INTEGER;
                SIGNAL column                :        INTEGER;
                SIGNAL reset_n                :        STD_LOGIC;
                SIGNAL PIXel_clk        :  STD_LOGIC;
       
        begin


                VGACLK<=PIXel_clk;
               
                U1: PLL PORT MAP ( CLK, reset_N, PIXel_clk);
                u2: vga_CONTROLLER port map (pixel_clk, reset_N, h_sync, v_sync, disp_ena, COLUmn, ROW, n_blank, n_sync);
                u3: hw_IMAGE_GENERATOR port map (disp_ena,COLUmn, ROW, RED,GREEN,BLUE);


end AA;

and other codes
Code:

LIBRARY ieee;USE ieee.std_logic_1164.all;


ENTITY hw_image_generator IS
        GENERIC(
                pixels_y :        INTEGER := 478;    --row that first color will persist until
                pixels_x        :        INTEGER := 600);  --column that first color will persist until
        PORT(
               
                disp_ena                :        IN                STD_LOGIC;        --display enable ('1' = display time, '0' = blanking time)
                row                        :        IN                INTEGER;                --row pixel coordinate
                column                :        IN                INTEGER;       
                red                        :        OUT        STD_LOGIC_VECTOR(7 DOWNTO 0) := (OTHERS => '0');  --red magnitude output to DAC
                green                        :        OUT        STD_LOGIC_VECTOR(7 DOWNTO 0) := (OTHERS => '0');  --green magnitude output to DAC
                blue                        :        OUT        STD_LOGIC_VECTOR(7 DOWNTO 0) := (OTHERS => '0')); --blue magnitude output to DAC
END hw_image_generator;


ARCHITECTURE behavior OF hw_image_generator IS
BEGIN
        PROCESS(disp_ena, row, column)
        BEGIN


                IF(disp_ena = '1') THEN                --display time
                        IF(row < pixels_y AND column < pixels_x) THEN
                                red <= (OTHERS => '0');
                                green        <= (OTHERS => '0');
                                blue <= (OTHERS => '1');
                        ELSE
                                red <= (OTHERS => '1');
                                green        <= (OTHERS => '1');
                                blue <= (OTHERS => '0');
                        END IF;
                ELSE                                                                --blanking time
                        red <= (OTHERS => '0');
                        green <= (OTHERS => '0');
                        blue <= (OTHERS => '0');
                END IF;
       
        END PROCESS;
END behavior;

Code:


LIBRARY ieee;
USE ieee.std_logic_1164.all;


ENTITY vga_controller IS
        GENERIC(
                h_pulse        :        INTEGER := 208;            --horiztonal sync pulse width in pixels
                h_bp                :        INTEGER := 336;                --horiztonal back porch width in pixels
                h_pixels        :        INTEGER := 1920;                --horiztonal display width in pixels
                h_fp                :        INTEGER := 128;                --horiztonal front porch width in pixels
                h_pol                :        STD_LOGIC := '0';                --horizontal sync pulse polarity (1 = positive, 0 = negative)
                v_pulse        :        INTEGER := 3;                        --vertical sync pulse width in rows
                v_bp                :        INTEGER := 38;                        --vertical back porch width in rows
                v_pixels        :        INTEGER := 1200;                --vertical display width in rows
                v_fp                :        INTEGER := 1;                        --vertical front porch width in rows
                v_pol                :        STD_LOGIC := '1');        --vertical sync pulse polarity (1 = positive, 0 = negative)
        PORT(
                pixel_clk        :        IN                STD_LOGIC;        --pixel clock at frequency of VGA mode being used
                reset_n                :        IN                STD_LOGIC;        --active low asycnchronous reset
                h_sync                :        OUT        STD_LOGIC;        --horiztonal sync pulse
                v_sync                :        OUT        STD_LOGIC;        --vertical sync pulse
                disp_ena                :        OUT        STD_LOGIC;        --display enable ('1' = display time, '0' = blanking time)
                column                :        OUT        INTEGER;                --horizontal pixel coordinate
                row                        :        OUT        INTEGER;                --vertical pixel coordinate
                n_blank                :        OUT        STD_LOGIC;        --direct blacking output to DAC
                n_sync                :        OUT        STD_LOGIC); --sync-on-green output to DAC
               
END vga_controller;


ARCHITECTURE behavior OF vga_controller IS
        CONSTANT        h_period        :        INTEGER := h_pulse + h_bp + h_pixels + h_fp;  --total number of pixel clocks in a row
        CONSTANT        v_period        :        INTEGER := v_pulse + v_bp + v_pixels + v_fp;  --total number of rows in column
BEGIN


        n_blank <= '1';  --no direct blanking
        n_sync <= '0';  --no sync on green
       
        PROCESS(pixel_clk, reset_n)
                VARIABLE h_count        :        INTEGER RANGE 0 TO h_period - 1 := 0;  --horizontal counter (counts the columns)
                VARIABLE v_count        :        INTEGER RANGE 0 TO v_period - 1 := 0;  --vertical counter (counts the rows)
        BEGIN
       
                IF(reset_n = '0') THEN                --reset asserted
                        h_count := 0;                                --reset horizontal counter
                        v_count := 0;                                --reset vertical counter
                        h_sync <= NOT h_pol;                --deassert horizontal sync
                        v_sync <= NOT v_pol;                --deassert vertical sync
                        disp_ena <= '0';                        --disable display
                        column <= 0;                                --reset column pixel coordinate
                        row <= 0;                                        --reset row pixel coordinate
                       
                ELSIF(pixel_clk'EVENT AND pixel_clk = '1') THEN


                        --counters
                        IF(h_count < h_period - 1) THEN                --horizontal counter (pixels)
                                h_count := h_count + 1;
                        ELSE
                                h_count := 0;
                                IF(v_count < v_period - 1) THEN        --veritcal counter (rows)
                                        v_count := v_count + 1;
                                ELSE
                                        v_count := 0;
                                END IF;
                        END IF;


                        --horizontal sync signal
                        IF(h_count < h_pixels + h_fp OR h_count >= h_pixels + h_fp + h_pulse) THEN
                                h_sync <= NOT h_pol;                --deassert horiztonal sync pulse
                        ELSE
                                h_sync <= h_pol;                        --assert horiztonal sync pulse
                        END IF;
                       
                        --vertical sync signal
                        IF(v_count < v_pixels + v_fp OR v_count >= v_pixels + v_fp + v_pulse) THEN
                                v_sync <= NOT v_pol;                --deassert vertical sync pulse
                        ELSE
                                v_sync <= v_pol;                        --assert vertical sync pulse
                        END IF;
                       
                        --set pixel coordinates
                        IF(h_count < h_pixels) THEN          --horiztonal display time
                                column <= h_count;                        --set horiztonal pixel coordinate
                        END IF;
                        IF(v_count < v_pixels) THEN        --vertical display time
                                row <= v_count;                                --set vertical pixel coordinate
                        END IF;


                        --set display enable output
                        IF(h_count < h_pixels AND v_count < v_pixels) THEN          --display time
                                disp_ena <= '1';                                                                                                --enable display
                        ELSE                                                                                                                                        --blanking time
                                disp_ena <= '0';                                                                                                --disable display
                        END IF;


                END IF;
        END PROCESS;


END behavior;

plz help......Seqence recognizer error

$
0
0
`timescale 1ns/ 1ps


module tb_seqrec;
reg rnRESET, rCLK, rX;
wire wZ;

seqrec seqrec0(.nRESET(rnRESET), .CLK(rCLK), .X(rX), .Z(wZ));


always
begin
#500 rCLK <= ~rCLK;
end

initial
begin
rnRESET <= 1'b0;
rX <= 1'b0;
19#100 rnRESET <= 1'bl;
20#1000 rX <= 1'bl;
21#1000 rX <= 1'bl;
22#1000 rX <= 1'b0;
23#1000 rX <= 1'b0;
24#1000 rX <= 1'bl;
25#1000 rX <= 1'bl;
26#1000 rX <= 1'b0;
27#1000 rX <= 1'bl; // Z=1
28#1000 rX <= 1'bl;
29#1000 rX <= 1'b0;
30#1000 rX <= 1'bl; // Z=1
31#1000 rX <= 1'b0;
32#1000 rX <= 1'bl;
end


endmodule


I made it. l thought there is no error.
but
:/Test/seqrec2/tb_seqrec.v(19): Expecting numeric digits.
** Error: C:/Test/seqrec2/tb_seqrec.v(19): near "1": syntax error, unexpected "IDENTIFIER", expecting ';'
** Error: C:/Test/seqrec2/tb_seqrec.v(20): Expecting numeric digits.
** Error: C:/Test/seqrec2/tb_seqrec.v(20): near "1": syntax error, unexpected "IDENTIFIER", expecting ';'
** Error: C:/Test/seqrec2/tb_seqrec.v(21): Expecting numeric digits.
** Error: C:/Test/seqrec2/tb_seqrec.v(21): near "1": syntax error, unexpected "IDENTIFIER", expecting ';'
** Error: C:/Test/seqrec2/tb_seqrec.v(24): Expecting numeric digits.
** Error: C:/Test/seqrec2/tb_seqrec.v(24): near "1": syntax error, unexpected "IDENTIFIER", expecting ';'
** Error: C:/Test/seqrec2/tb_seqrec.v(25): Expecting numeric digits.
** Error: C:/Test/seqrec2/tb_seqrec.v(25): near "1": syntax error, unexpected "IDENTIFIER", expecting ';'
** Error: C:/Test/seqrec2/tb_seqrec.v(27): Expecting numeric digits.
** Error: C:/Test/seqrec2/tb_seqrec.v(27): near "1": syntax error, unexpected "IDENTIFIER", expecting ';'
** Error: C:/Test/seqrec2/tb_seqrec.v(28): Expecting numeric digits.
** Error: C:/Test/seqrec2/tb_seqrec.v(28): near "1": syntax error, unexpected "IDENTIFIER", expecting ';'
** Error: C:/Test/seqrec2/tb_seqrec.v(30): Expecting numeric digits.
** Error: C:/Test/seqrec2/tb_seqrec.v(30): near "1": syntax error, unexpected "IDENTIFIER", expecting ';'
** Error: C:/Test/seqrec2/tb_seqrec.v(32): Expecting numeric digits.
** Error: C:/Test/seqrec2/tb_seqrec.v(32): near "1": syntax error, unexpected "IDENTIFIER", expecting ';'


what's wrong?
Viewing all 19390 articles
Browse latest View live


Latest Images

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