Implementation and assembly, sometimes referred to as “bottom-up” design, is the process of implementing the detailed design of the individual blocks. Assembly is the process of connecting all of the blocks in the design to result in the final product. In this process, there are often preexisting IP blocks (such as memories, cores, etc.) that need to be considered during the planning process and added to the design during the assembly process. Also, it is more efficient to add “glue logic” during the assembly of the final chip, rather than structure it has a separate block that needs to be implemented during the bottom-up process.