Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Fix Shift Register VHDL code for reset

Table of Content

...

Code Block
languagevhdl
signal RESET_DELAY : std_logic_vector(7 downto 0);

signal INTERNAL_RESET : std_logic;

begin

process(CLK_generated_by_PLL_and_WFG)  begin

	if rising_edge(CLK_generated_by_PLL_and WFG)  then

		RESET_DELAY <= RESET_DELAY(6 downto 10) & not(RDY);

end if;

end process;

INTERNAL_RESET <= RESET_DELAY(7);

...

All the 374 die user’s IOs are available

Bank

Type

I/Os

Location

Bank

Type

I/Os

0

Simple

22

Left

1

Simple

22

2

Complex

30

Bottom

3

Complex

30

4

Complex

30

Bottom

5

Complex

30

6

Simple

30

Right

7

Simple

30

8

Simple

30

Right

9

Complex

30

Top

10

Complex

30

11

Complex

30

Top

12

Complex

30

Anchor
_Table1
_Table1
LGA/CGA 625 packages – available IOs

...

Only 192 of the 374 die user’s IOs are available

Bank

Type

I/Os

Location

Bank

Type

I/Os

0

Simple

14

Left

1

Simple

12

2

Complex

30

Bottom

3

Complex

-

4

Complex

-

Bottom

5

Complex

30

6

Simple

22

Right

7

Simple

-

8

Simple

24

Right

9

Complex

30

Top

10

Complex

-

11

Complex

-

Top

12

Complex

30

Anchor
_Table2
_Table2
CQFP 352 package – available IOs

...

The following table summarizes the main IOs features available into complex and simple IO banks.

Feature

Complex

Simple

Number of IOs

30

30/22

Power supply (Vddio)

1.8, 2.5 or 3.3v

1.8, 2.5 or 3.3v

Supported IO standards

LVCMOS, SSTL, HSTL, LVDS

LVCMOS, SSTL, HSTL, LVDS

Single DFF (in, out, tri-state)

Yes

Yes

Differential SSTL/HSTL

Yes

No

LVDS

Yes

Yes (no internal input termination)

Resistive input termination

Yes

No

Programmable input/output delay

Yes

Yes

CDC (Clock Domain Changer)

Yes

No

Shift Register

Yes

No

DDR mode

Yes

No

SpaceWire

Yes

No

Anchor
_Table3
_Table3
Simple and complex banks IO features summary

...

Simple banks: Electrical standards and supported electrical parameters

Standard

Type

Bank supply

Drive

Speed

Special considerations

LVCMOS 3.3V

SE (*)

3.3 V

2–16 mA

100Mb/s

In NG-MEDIUM, single ended I/Os have an internal default 10K to 40K PullUp. In addition the user can active a slower value (2K to 6K) optional PullUp

Slew rate SLOW/FAST for outputs

Turbo mode for inputs (faster inputs at the cost of higher static power)

(Those electrical parameters can be set by constraints in a script file)

LVCMOS 2.5V

SE (*)

2.5 V

2–16 mA

300Mb/s

LVCMOS 1.8V

SE (*)

1.8 V

2–16 mA

300Mb/s

LVDS 2.5V

DIF(*)

2.5 V

3.5mA

800Mb/s

No internal termination available

Anchor
_Table4
_Table4
Simple IO banks electrical parameters and performance

(*) SE = single ended, DIF = differential

Complex banks: Electrical standards and supported electrical parameters on:

Standard

Type

Supply

Drive

Speed

Special considerations

Notes

LVCMOS 3.3V

SE

3.3 V

2–16 mA

100MHz

In NG-MEDIUM, single ended I/Os have an internal default 10K to 40K PullUp. In addition the user can active a slower value (2K to 6K) optional PullUp

Slew rate SLOW/MEDIUM/FAST for outputs

Turbo mode for inputs (faster inputs at the cost of higher static power)

(Those electrical parameters can be set by constraints in a script file)

LVCMOS 2.5V

SE

2.5 V

2–16 mA

300MHz

LVCMOS 1.8V

SE

1.8 V

2–16 mA

300MHz

SSTL_2.5V_I

SE(*)

2.5 V

8 mA

600Mb/s

Controlled source impedance

SSTL and HSTL standards require using dedicated VTO pins (~VDDIO/2) in respective IO banks

SSTL and HSTL support differential mode

DDR SDRAM

SSTL_2.5V_II

SE(*)

2.5 V

13 mA

600Mb/s

SSTL_1.8V_I

SE(*)

1.8 V

8 mA

600Mb/s

DDR2 SDRAM

SSTL_1.8V_II

SE(*)

1.8 V

13 mA

600Mb/s

HSTL_1.8V_I

SE(*)

1.8 V

8 mA

800 Mb/s

DDR2 SDRAM

HSTL_1.8V_II

SE(*)

1.8 V

16 mA

800 Mb/s

LVDS 2.5V

DIF(*)

2.5 V

3.5mA

800Mb/s

Embedded optional impedance adaptation

Anchor
_Table5
_Table5
Complex IO banks electrical parameters and performance

...

See the next table for VTO recommended voltage values :

VDDIO

VTO nom

(+/- 5%)

1.8 V

0.9 V

2.5 V

1.25 V

3.3 V

1.65 V

Anchor
_Table6
_Table6
VTO range vs VDDIO

...

  • For SSTL_2.5V, SSTL_1.8V and HSTL_1.8V, VDDIO 2.5 V and/or 1.8 V, on-chip termination can be activated for all pads in a given bank.

  • In the case of SSTL_2.5V (VDDIO 2.5 V), on-chip termination can be activated on maximum 11 pads due to the limitation on VTO power supply rails.

  • The value of the input impedance adaptation resistors can be adjusted in the “nxpython” script file by assigning an integer 0 to 15 value for the “termination” parameter (see the figure 12 for the required value), or it can be specified with a value on Ohms. See the NanoXplore “nxmap” Python API documentation for syntax details.

  • The graphs on figure 12 show the expected resistor values in function of the parameters assignments versus VDDIO.

Anchor
_Figure12
_Figure12

...

VDDIO /

Impedance

1.8 V

2.5 V

3.3 V

50 Ohms

5

4

5

75 Ohms

10

9

11

100 Ohms

15

15

15

Anchor
_Table7
_Table7
Recommended “termination” parameter values for 50, 75 and 100 Ohms impedance

...

  • DCK : delay registers clock (can be asynchronous with SCK/FCK). Usually 2 to 20 MHz. Write operations occur on DCK rising edge.

  • DID(4:0) : address identifier of the considered I/O in the complex bank (0 to 29).

  • DRA(4:0) : address of the I/O in the considered complex bank (0 to 29). Note that when DRA = DID, the DRO outputs, as well as FLD and FLG flags outputs of the considered I/O go to low impedance (allowing thus to be read by the fabric).

  • DS(1:0) : allow to select the destination register into the DRA selected I/O. See next table for details.

DS value

Selected delay register

00

Output (and tri-state control) delay register

01

Input delay register

10

DPA delay register

11

Reserved

  • DRI(5:0) :value to be written into the selected register.

  • DRL : active high load (write enable)

  • DIG : active low multicast write. Must remain high for register by register access, and corresponding FLD / FLG activation.

...

Here is a summary of the NX_RAM main features and possible configurations.

Without EDAC:

49152 x 1-bit

24576 x 2-bits

12288 x 4-bits

6144 x 8-bits

4096 x 12-bits

2048 × 24-bits

With EDAC:

2048 x 18-bits

Programmable positive / negative clock edge

Optional pipeline input and output registers

Memory content can be optionally initialized by bitstream

Embedded EDAC

Automatic Read Repair Mode

The next figure shows a simplified internal diagram of a RAM block.

...

The blue highlighted configurations are directly supported by “nxmap”, just by assigning a generic parameter when instantiating the NX_RAM primitive. However, the user can define any of the following block RAM configurations by instantiating the NX_RAM primitive, and properly assigning all related generic parameters. (See Library_Guide.pdf for more details).

Port0 (A)

Port1 (B)

2Kx24

4Kx12

6Kx8

12Kx4

24Kx2

48Kx1

2Kx24

NOECC

2Kx24

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

4Kx12

Yes

(user’s)

NOECC

4Kx12

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

6Kx8

Yes

(user’s)

Yes

(user’s)

NOECC

6Kx8

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

12Kx4

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

NOECC

12Kx4

Yes

(user’s)

Yes

(user’s)

24Kx2

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

NOECC

24Kx2

Yes

(user’s)

48Kx1

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

NOECC

48Kx1

Data input pins and RAM block configuration:

...

A” input is 24-bit wide. An input multiplexer allows to select the 24 bits coming from the fabric or 18 bits from the “CAO” output of the previous (left) DSP block. “A” can go to one of the multiplier inputs through 0, 1, 2 or 3 pipeline registers, and/or forward its 18 LSBs to the “CAI” input of the neighboring (right) DSP block by using its CAO cascade output.

“A” input is most often used as an input to the multiplier.

CAI” input: 18-bit input that can be used when the “A” input must receive the signal from the previous (on the right) DSP block via its “COA” chaining connection (direct routing, 0 ns delay), instead of the fabric.

...

B” input is 18-bit wide. An input multiplexer allows to select the 18-bit signal coming from the fabric or the18 bits from the “CBO” output of the previous (left) DSP block. “B” can be directed to one of the pre-adder/subtracter, and/or to one of the multiplier inputs through 0, 1, 2 or 3 pipeline registers, and/or forward its 18 to the “CBI” input of the neighboring (right) DSP block by using its CBO cascade output.

“B” input is often used as a second input to the multiplier. It can also be used as operand of the pre-adder/subtracter.

  • CBI” input: 18-bit input that can be used when the “B” input must receive the signal from the previous (left) DSP block via its “COB” chaining connection (direct routing, 0 ns delay), instead of the fabric.

  • C” input is 36-bit wide. It’s directed to the ALU as a second operand (if required). “C” input can use 0 or 1 level of pipeline.

“C” input is often used as constant value input required for rounding operation.

D” input is 18-bit wide. It’s directed to the pre-adder/subtracter through 0 or 1 level of pipeline registers.

“D” input is often used as input of the pre-adder/subracter. However for ALU dynamic opcode, the bits D(5:0) are used to dynamically select the operation to be performed.

CZI” input is 56-bit wide. It comes from the neighboring (left) DSP block. It’s directed to the ALU (usually configured as post-adder/subtractor) through 0 or 1 level of pipeline registers.

“CZI” input is used when various DSP blocks have to be chained, for example in FIR filters and other DSP functions implementation.

Main DSP block outputs:

CAO” is 18-bit wide. It’s used to forward the “A” input to the next (right) DSP block through 0, 1, 2, or 3 level of pipeline registers.

“CAO” input is used when two or mode DSP blocks have to be chained to forward data.

CBO” is 18-bit wide. It’s used to forward the “B” input to the next (right) DSP block through 0, 1, 2, or 3 level of pipeline registers.

“COB” input is used when two or mode DSP blocks have to be chained to forward data.

  • Z” output is 56-bit wide. It’s the main DSP block output to the fabric via general routing. It can be registered or not. The value available at the “Z” output is feedback to the ALU via the X-MUX (for example to implement an accumulator).

  • CZO” output is also 56-bit wide. It allows to forward the registered or un-registered ALU output to the next (right) DSP block, via direct routing (no delay).

“CZO” is particularly useful to chain DSP blocks for FIR filters and other DSP functions requiring more than one DSP block.

DSP block features and operators:

...

All the 374 die user’s IOs are available

Bank

Type

I/Os

Location

Bank

Type

I/Os

0

Simple

22

Left

1

Simple

22

2

Complex

30

Bottom

3

Complex

30

4

Complex

30

Bottom

5

Complex

30

6

Simple

30

Right

7

Simple

30

8

Simple

30

Right

9

Complex

30

Top

10

Complex

30

11

Complex

30

Top

12

Complex

30

Anchor
_Table1
_Table1
LGA/CGA 625 packages – available IOs

...

Only 192 of the 374 die user’s IOs are available

Bank

Type

I/Os

Location

Bank

Type

I/Os

0

Simple

14

Left

1

Simple

12

2

Complex

30

Bottom

3

Complex

-

4

Complex

-

Bottom

5

Complex

30

6

Simple

22

Right

7

Simple

-

8

Simple

24

Right

9

Complex

30

Top

10

Complex

-

11

Complex

-

Top

12

Complex

30

Anchor
_Table2
_Table2
CQFP 352 package – available IOs

...

The following table summarizes the main IOs features available into complex and simple IO banks.

Feature

Complex

Simple

Number of IOs

30

30/22

Power supply (Vddio)

1.8, 2.5 or 3.3v

1.8, 2.5 or 3.3v

Supported IO standards

LVCMOS, SSTL, HSTL, LVDS

LVCMOS, SSTL, HSTL, LVDS

Single DFF (in, out, tri-state)

Yes

Yes

Differential SSTL/HSTL

Yes

No

LVDS

Yes

Yes (no internal input termination)

Resistive input termination

Yes

No

Programmable input/output delay

Yes

Yes

CDC (Clock Domain Changer)

Yes

No

Shift Register

Yes

No

DDR mode

Yes

No

SpaceWire

Yes

No

Anchor
_Table3
_Table3
Simple and complex banks IO features summary

...

Simple banks: Electrical standards and supported electrical parameters

Standard

Type

Bank supply

Drive

Speed

Special considerations

LVCMOS 3.3V

SE (*)

3.3 V

2–16 mA

100Mb/s

In NG-MEDIUM, single ended I/Os have an internal default 10K to 40K PullUp. In addition the user can active a slower value (2K to 6K) optional PullUp

Slew rate SLOW/FAST for outputs

Turbo mode for inputs (faster inputs at the cost of higher static power)

(Those electrical parameters can be set by constraints in a script file)

LVCMOS 2.5V

SE (*)

2.5 V

2–16 mA

300Mb/s

LVCMOS 1.8V

SE (*)

1.8 V

2–16 mA

300Mb/s

LVDS 2.5V

DIF(*)

2.5 V

3.5mA

800Mb/s

No internal termination available

Anchor
_Table4
_Table4
Simple IO banks electrical parameters and performance

(*) SE = single ended, DIF = differential

Complex banks: Electrical standards and supported electrical parameters on:

Standard

Type

Supply

Drive

Speed

Special considerations

Notes

LVCMOS 3.3V

SE

3.3 V

2–16 mA

100MHz

In NG-MEDIUM, single ended I/Os have an internal default 10K to 40K PullUp. In addition the user can active a slower value (2K to 6K) optional PullUp

Slew rate SLOW/MEDIUM/FAST for outputs

Turbo mode for inputs (faster inputs at the cost of higher static power)

(Those electrical parameters can be set by constraints in a script file)

LVCMOS 2.5V

SE

2.5 V

2–16 mA

300MHz

LVCMOS 1.8V

SE

1.8 V

2–16 mA

300MHz

SSTL_2.5V_I

SE(*)

2.5 V

8 mA

600Mb/s

Controlled source impedance

SSTL and HSTL standards require using dedicated VTO pins (~VDDIO/2) in respective IO banks

SSTL and HSTL support differential mode

DDR SDRAM

SSTL_2.5V_II

SE(*)

2.5 V

13 mA

600Mb/s

SSTL_1.8V_I

SE(*)

1.8 V

8 mA

600Mb/s

DDR2 SDRAM

SSTL_1.8V_II

SE(*)

1.8 V

13 mA

600Mb/s

HSTL_1.8V_I

SE(*)

1.8 V

8 mA

800 Mb/s

DDR2 SDRAM

HSTL_1.8V_II

SE(*)

1.8 V

16 mA

800 Mb/s

LVDS 2.5V

DIF(*)

2.5 V

3.5mA

800Mb/s

Embedded optional impedance adaptation

Anchor
_Table5
_Table5
Complex IO banks electrical parameters and performance

...

See the next table for VTO recommended voltage values :

VDDIO

VTO nom

(+/- 5%)

1.8 V

0.9 V

2.5 V

1.25 V

3.3 V

1.65 V

Anchor
_Table6
_Table6
VTO range vs VDDIO

...

  • For SSTL_2.5V, SSTL_1.8V and HSTL_1.8V, VDDIO 2.5 V and/or 1.8 V, on-chip termination can be activated for all pads in a given bank.

  • In the case of SSTL_2.5V (VDDIO 2.5 V), on-chip termination can be activated on maximum 11 pads due to the limitation on VTO power supply rails.

  • The value of the input impedance adaptation resistors can be adjusted in the “nxpython” script file by assigning an integer 0 to 15 value for the “termination” parameter (see the figure 12 for the required value), or it can be specified with a value on Ohms. See the NanoXplore “nxmap” Python API documentation for syntax details.

  • The graphs on figure 12 show the expected resistor values in function of the parameters assignments versus VDDIO.

Anchor
_Figure12
_Figure12

...

VDDIO /

Impedance

1.8 V

2.5 V

3.3 V

50 Ohms

5

4

5

75 Ohms

10

9

11

100 Ohms

15

15

15

Anchor
_Table7
_Table7
Recommended “termination” parameter values for 50, 75 and 100 Ohms impedance

...

  • DCK : delay registers clock (can be asynchronous with SCK/FCK). Usually 2 to 20 MHz. Write operations occur on DCK rising edge.

  • DID(4:0) : address identifier of the considered I/O in the complex bank (0 to 29).

  • DRA(4:0) : address of the I/O in the considered complex bank (0 to 29). Note that when DRA = DID, the DRO outputs, as well as FLD and FLG flags outputs of the considered I/O go to low impedance (allowing thus to be read by the fabric).

  • DS(1:0) : allow to select the destination register into the DRA selected I/O. See next table for details.

DS value

Selected delay register

00

Output (and tri-state control) delay register

01

Input delay register

10

DPA delay register

11

Reserved

  • DRI(5:0) :value to be written into the selected register.

  • DRL : active high load (write enable)

  • DIG : active low multicast write. Must remain high for register by register access, and corresponding FLD / FLG activation.

...

Here is a summary of the NX_RAM main features and possible configurations.

Without EDAC:

49152 x 1-bit

24576 x 2-bits

12288 x 4-bits

6144 x 8-bits

4096 x 12-bits

2048 × 24-bits

With EDAC:

2048 x 18-bits

Programmable positive / negative clock edge

Optional pipeline input and output registers

Memory content can be optionally initialized by bitstream

Embedded EDAC

Automatic Read Repair Mode

The next figure shows a simplified internal diagram of a RAM block.

...

The blue highlighted configurations are directly supported by “nxmap”, just by assigning a generic parameter when instantiating the NX_RAM primitive. However, the user can define any of the following block RAM configurations by instantiating the NX_RAM primitive, and properly assigning all related generic parameters. (See Library_Guide.pdf for more details).

Port0 (A)

Port1 (B)

2Kx24

4Kx12

6Kx8

12Kx4

24Kx2

48Kx1

2Kx24

NOECC

2Kx24

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

4Kx12

Yes

(user’s)

NOECC

4Kx12

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

6Kx8

Yes

(user’s)

Yes

(user’s)

NOECC

6Kx8

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

12Kx4

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

NOECC

12Kx4

Yes

(user’s)

Yes

(user’s)

24Kx2

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

NOECC

24Kx2

Yes

(user’s)

48Kx1

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

Yes

(user’s)

NOECC

48Kx1

Data input pins and RAM block configuration:

...

A” input is 24-bit wide. An input multiplexer allows to select the 24 bits coming from the fabric or 18 bits from the “CAO” output of the previous (left) DSP block. “A” can go to one of the multiplier inputs through 0, 1, 2 or 3 pipeline registers, and/or forward its 18 LSBs to the “CAI” input of the neighboring (right) DSP block by using its CAO cascade output.

“A” input is most often used as an input to the multiplier.

CAI” input: 18-bit input that can be used when the “A” input must receive the signal from the previous (on the right) DSP block via its “COA” chaining connection (direct routing, 0 ns delay), instead of the fabric.

...

B” input is 18-bit wide. An input multiplexer allows to select the 18-bit signal coming from the fabric or the18 bits from the “CBO” output of the previous (left) DSP block. “B” can be directed to one of the pre-adder/subtracter, and/or to one of the multiplier inputs through 0, 1, 2 or 3 pipeline registers, and/or forward its 18 to the “CBI” input of the neighboring (right) DSP block by using its CBO cascade output.

“B” input is often used as a second input to the multiplier. It can also be used as operand of the pre-adder/subtracter.

  • CBI” input: 18-bit input that can be used when the “B” input must receive the signal from the previous (left) DSP block via its “COB” chaining connection (direct routing, 0 ns delay), instead of the fabric.

  • C” input is 36-bit wide. It’s directed to the ALU as a second operand (if required). “C” input can use 0 or 1 level of pipeline.

“C” input is often used as constant value input required for rounding operation.

D” input is 18-bit wide. It’s directed to the pre-adder/subtracter through 0 or 1 level of pipeline registers.

“D” input is often used as input of the pre-adder/subracter. However for ALU dynamic opcode, the bits D(5:0) are used to dynamically select the operation to be performed.

CZI” input is 56-bit wide. It comes from the neighboring (left) DSP block. It’s directed to the ALU (usually configured as post-adder/subtractor) through 0 or 1 level of pipeline registers.

“CZI” input is used when various DSP blocks have to be chained, for example in FIR filters and other DSP functions implementation.

Main DSP block outputs:

CAO” is 18-bit wide. It’s used to forward the “A” input to the next (right) DSP block through 0, 1, 2, or 3 level of pipeline registers.

“CAO” input is used when two or mode DSP blocks have to be chained to forward data.

CBO” is 18-bit wide. It’s used to forward the “B” input to the next (right) DSP block through 0, 1, 2, or 3 level of pipeline registers.

“COB” input is used when two or mode DSP blocks have to be chained to forward data.

  • Z” output is 56-bit wide. It’s the main DSP block output to the fabric via general routing. It can be registered or not. The value available at the “Z” output is feedback to the ALU via the X-MUX (for example to implement an accumulator).

  • CZO” output is also 56-bit wide. It allows to forward the registered or un-registered ALU output to the next (right) DSP block, via direct routing (no delay).

“CZO” is particularly useful to chain DSP blocks for FIR filters and other DSP functions requiring more than one DSP block.

DSP block features and operators:

...

In all configuration modes, the configuration clock must be provided to the FPGA on the CLK dedicated input pin. Its frequency can range from 20 MHz to 50 MHz, in any case it must be strictly greater than twice the JTAG (TCK) frequency – if used.

MODE[3:0]

Configuration mode

1000 0x8

RESERVED

1001 0x9

RESERVED

1010 0Xa

Master Serial SPI

1011 0xB

Master Serial SPI with Vcc control

1100 0xC

Slave SpaceWire

1101 0xD

RESERVED

1110 0xE

Slave Parallel 8

1111 0xF

RESERVED

Anchor
_Table8
_Table8
Table 8: NG-MEDIUM configuration modes

...