ICI Techno

ICI TechnoICI TechnoICI Techno

ICI Techno

ICI TechnoICI TechnoICI Techno
  • Home
  • Why Novakod
  • Products
    • Download
    • Licenses
    • License Self-Help
  • Support
    • Documentation
    • Examples and LIbraries
  • More
    • Home
    • Why Novakod
    • Products
      • Download
      • Licenses
      • License Self-Help
    • Support
      • Documentation
      • Examples and LIbraries
  • Sign In

  • My Account
  • Signed in as:

  • filler@godaddy.com


  • My Account
  • Sign out


Signed in as:

filler@godaddy.com

  • Home
  • Why Novakod
  • Products
    • Download
    • Licenses
    • License Self-Help
  • Support
    • Documentation
    • Examples and LIbraries

Account


  • My Account
  • Sign out


  • Sign In
  • My Account

Memory

Most FPGA boards have three types of memory. First is the LUT memory, which is built into the FPGA logic. LUT memory is useful for small-size memory. Second, FPGAs have memory blocks that can be organized into various sizes or word lengths. These embedded memory blocks are a useful part of FPGA for implementing medium-sized storage. And third, most FPGA boards have external memory, often DDR memory.

C++-like arrays

The psC language supports arrays, as in C++. Since psC is parallel, simultaneous read and write at two addresses is possible. Here is an example showing declaration and usage of psC arrays.

External memory

Novakod supports external memory, which is implemented as an external component. It is accessed using simple IO ports: Command, Address, Data_w and Data_r.   Here is an example where a psC program accesses two memory banks.

DMA access to external memory

Using the Novakod API, a C+++ application can directly read or write to the memory banks. This is supported in simulation and on real FPGA boards supporting the API, like the Opal Kelly XEM6002. Here is a diagram showing how a C++ application connects to a FPGA board.

Dual-port memory

Novakod supports block-based memories as external component.  For example, the memory blocks in the DE1SoC Board from Terasic are organized into six dual port memory banks:

  • Bank A: 32K × 32 bits 
  • Bank B: 64K × 16 bits
  • Bank C: 64K × 8 bits
  • Bank D: 64K × 8 bits
  • Bank E: 16K x×4 bits
  • Bank F: 32K × 1 bits

These are accessed like external memory.

Copyright © 2019-23 ICI Techno - All right reserved.

  • Home
  • Why Novakod
  • Download
  • Licenses
  • Privacy polilcy
  • Documentation

Powered by GoDaddy Website Builder