Altera Home Page
文档资料 许可
在线购买 下载

  主页   |   产品   |   支持   |   最终市场   |   技术中心   |   教育与活动   |   公司介绍   |   在线购买  
  mySupport   |   器件   |   软件   |   IP   |   设计范例   |   参考设计  

 产品
   Quartus II
      SOPC Builder
      MAX+PLUS II
      ModelSim-Altera
  
 资源中心
      简介
      安装&许可
      脚本
       电路板设计& I/O
      网表阅读器 & 综合
      编译增强特性
      优化
      功耗管理
   TimeQuest时序分析器
      标准时序分析器
      仿真 & 确认
      片内调试
      HardCopy设计
  
 软件资源
      操作系统支持
      驱动安装
  
 下载与许可
      下载
   许可
  
 Quartus II EDA 支持
      Quartus II 接口
   综合工具
   仿真工具
   验证工具
   时序分析工具
   再综合工具
   电路板级工具
  
 老版软件EDA支持
      供应商类
      工具类
      功能类
  

DesignWare FLEX 8000 Synthesis Example

Figure 1 shows a sample VHDL design, design_one.vhd, which illustrates component inference with the DesignWare interface for FLEX 8000 devices.


Figure 1. VHDL Design File (design_one.vhd)
This design illustrates the sum of A + B.
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.ALL;
ENTITY design_one IS
   PORT (a,b : IN STD_LOGIC_VECTOR (7 DOWNTO 0);
         f   : OUT STD_LOGIC_VECTOR (7 DOWNTO 0));
END design_one;
ARCHITECTURE add_design OF design_one IS
BEGIN
 f <= a + b;
END add_design;

When the VHDL Compiler or the HDL Compiler for Verilog software analyzes and elaborates the design, it replaces the "+" operator with its synthetic operator equivalent.

Figure 2 shows the design as it appears in the Design Analyzer software after it has been analyzed and elaborated by the VHDL Compiler software.

Figure 2. design_one.vhd after Analysis & Elaboration

design_one.vhd design

When you synthesize a design, the Design Compiler or FPGA Compiler software uses the synthetic library to match the synthetic operator to the FLEX-optimized logical implementation in the technology library. The Synopsys Design Compiler or FPGA Compiler software then instantiates and interconnects the correct number of flex_add and flex_carry functions to produce the 8-bit adder shown in Figure 1. When you save a compiled design as a VHDL, Verilog HDL or EDIF file, the file preserves the number of flex_add and flex_carry functions, as well as their interconnections. Consequently, area and performance predictions that you make in the Synopsys design environment closely match the final MAX+PLUS® II result.

Table 2 lists functions included in the DesignWare FLEX 6000, FLEX 8000, and FLEX 10K synthetic libraries.

Table 2. FLEX 6000, FLEX 8000, and FLEX 10K Synthetic Library Functions
Name Function
flex_add Sum of A, B, and Carry-In
flex_carry Carry of A, B, and Carry-In
flex_sub Difference of A, B, and Borrow-In
flex_borrow Borrow of A, B, and Borrow-In
flex_gt, flex_sgt Greater than (flex_gt is unsigned; flex_sgt is signed)
flex_carry_gt Greater than Carry
flex_lt, flex_slt Less than (flex_lt is unsigned; flex_slt is signed)
flex_carry_lt Less than Carry
flex_gteq, flex_sgteq Greater than or equal to (flex_gteq is unsigned; flex_sgteq is signed)
flex_carry_gteq Greater than or equal to Carry
flex_inc Incrementer (Count = Count + 1)
flex_carry_inc Incrementer Carry (Count = Count + 1)
flex_dec Decrementer (Count = Count - 1)
flex_carry_dec Decrementer Carry (Count = Count - 1)
flex_lteq, flex_slteq Less than or equal to (flex_lteq is unsigned; flex_slteq is signed)
flex_carry_lteq Less than or equal to Carry
flex_count Counter
aflex_carry_count Counter Carry
flex_add_sub Adder/Subtractor
flex_inc_dec Incrementer/Decrementer
flex_umult, flex_smult Multiplier (flex_umult is unsigned; flex_smult is signed)

Figure 3 shows design_one.vhd after it has been synthesized with the Design Compiler.

Figure 3. design_one.vhd Synthesized & Resolved for FLEX 6000, FLEX 8000 & FLEX 10K Architecture

design_one.vhd design

After you save the design as an EDIF Input File (.edf) and process it with the MAX+PLUS II Compiler, the Compiler replaces instances of flex_add and flex_carry with FLEX-optimized versions, as shown in Figure 4. The MAX+PLUS II Compiler maps these functions into a single logic element (LE). The result is a high-speed 8-bit adder that fits into 8 LEs.

Figure 4. One Slice of the design_one 8-bit Adder Design with Optimized FLEX 8000 Functions

one slice of design_one design

Related Links:

  • Refer to the following sources for related information on DesignWare and the Synopsys VHDL Compiler:
    • Synopsys DesignWare Databook
    • VHDL Compiler Reference Manual
  • Go to FLEX Devices, which is available on the web, for additional information.

Feedback

Did this information help you?

If no, please log onto mySupport to file a technical request or enhancement.


Altera does not warrant that this solution will work for the customer's intended purpose and disclaims all liability for use of or reliance on the solution.

  请填写反馈意见
  注册索取最新邮件通知