JHDL 0.3.34

| JHDL Doc Home Page | User's Manual Home Page |


The Logic Class: Part 2 - Technology Mapping and Placement in JHDL

Overview

Mapping
Relating logic to primitive FPGA blocks
Placement
Determining the location of primitive blocks on the FPGA Modifying the default Mapping and Placement is done with the goal of achieving higher speed, smaller area, and less logic (by using carry logic.)
Warning:
Mapping and placement were used extensively with the Xilinx XC4000 and Virtex families. Little, if any mapping and placement exist in the Virtex2 libraries. Thus, this may or may not be applicable to that technology.

Introduction

What is Mapping and Placement?

"Mapping" is the term used to describe the grouping of logic together in a primitive FPGA block. For example, mapping logic in the Xilinx XC4000 architecture groups the logic into the LUTs and flip-flops of a CLB. In the Chess architecture, the logic would be grouped into the ALUs and memory blocks.

"Placement" involves grouping the primitive logic blocks on an FPGA. For example, placement in the Xilinx XC4000 architecture involves grouping the previously mapped LUTs and flip-flops into the appropriate CLBs and grouping the CLBs together on the FPGA. "Relative placement" refers to placing LUTs, flip-flops and CLBs relative to each other, and "absolute placement" refers to placing LUTs, flip-flops and CLBs at absolute locations of the FPGA.

Mapping and Placement will always be done during the back-end compilation step by automated map and PAR tools. However, if a user wishes to customize or optimize how circuitry is mapped or placed together, manual mapping and placement can be done during the design entry stage. For the rest of this manual, mapping and placement refer to the manual mapping and relative placement done during the design entry stage of circuit design.


Background and Motivation

Mapping and Placement of Circuitry in FPGAs

There are many desirable effects of mapping and placement within FPGAs. Mapping and placement can: