2023-12-18 15:45:38

The DesignWare Library's Datapath and Building Block IP is a collection of reusable intellectual property blocks that are tightly integrated into the Synopsys synthesis environment. Using the DesignWare Library's Datapath and Building Block IP allows transparent, high-level optimization of performance during synthesis. The large availability of IP components enables design reuse and significantly improves productivity. The DesignWare Library's Datapath and Building Block IP consists of:

Application Specific: Control Logic | |
---|---|

DW_arb_2t | Two-Tier Arbiter with Dynamic/Fair-Among-Equal Scheme |

DW_arb_dp | Arbiter with Dynamic Priority Scheme |

DW_arb_fcfs | Arbiter with First-Come-First-Served Priority Scheme |

DW_arb_rr | Arbiter with Round Robin Priority Scheme |

DW_arb_sp | Arbiter with Static Priority Scheme |

Datapath: Arithmetic Components | |

DW01_absval | Absolute Value |

DW01_add | Adder |

DW01_addsub | Adder-Subtractor |

DW01_ash | Arithmetic Shifter |

DW01_bsh | Barrel Shifter |

DW01_cmp2 | 2-Function Comparator |

DW01_cmp6 | 6-Function Comparator |

DW01_csa | Carry Save Adder |

DW01_dec | Decrementer |

DW01_inc | Incrementer |

DW01_incdec | Incrementer-Decrementer |

DW01_satrnd | Arithmetic Saturation and Rounding Logic |

DW01_sub | Subtractor |

DW02_mac | Multiplier-Accumulator |

DW02_mult | Multiplier |

DW02_multp | Partial Product Multiplier |

DW02_mult_2_stage | Two-Stage Pipelined Multiplier |

DW02_mult_3_stage | Three-Stage Pipelined Multiplier |

DW02_mult_4_stage | Four-Stage Pipelined Multiplier |

DW02_mult_5_stage | Five-Stage Pipelined Multiplier |

DW02_mult_6_stage | Six-Stage Pipelined Multiplier |

DW02_prod_sum | Generalized Sum of Products |

DW02_prod_sum1 | Multiplier-Adder |

DW02_sum | Vector Adder |

DW02_tree | Wallace Tree Compressor |

DW_addsub_dx | Duplex Adder/Subtractor with Saturation and Rounding |

DW_bin2gray | Binary to Gray Converter |

DW_cmp_dx | Duplex Comparator |

DW_cntr_gray | Gray Code Counter |

DW_div | Combinational Divider |

DW_div_pipe | Stallable Pipelined Divider |

DW_div_sat | Combinational Divider with Saturation |

DW_exp2 | Base-2 Exponential |

DW_gray2bin | Gray to Binary Converter |

DW_inc_gray | Gray Incrementer |

DW_inv_sqrt | Reciprocal of Square-Root |

DW_lbsh | Barrel Shifter with Preferred Left Direction |

DW_ln | Natural Logarithm |

DW_log2 | Base-2 Logarithm |

DW_lp_multifunc | minPower Low Power Multi-function Unit |

DW_lp_multifunc_DG | minPower Low Power Multi-function Unit with Datapath Gating |

DW_lp_piped_div | minPower Low Power Pipelined Divide |

DW_lp_piped_mult | minPower Low Power Pipelined Multiplier |

DW_lp_piped_prod_sum | minPower Low Power Pipelined Sum of Products |

DW_lp_piped_sqrt | minPower Low Power Pipelined Square Root |

DW_minmax | Minimum/Maximum Value |

DW_mult_dx | Duplex Multiplier |

DW_mult_pipe | Stallable Pipelined Multiplier |

DW_norm | Normalization for Fractional Input |

DW_norm_rnd | Normalization and Rounding |

DW_piped_mac | Pipelined Multiplier-Accumulator |

DW_prod_sum_pipe | Stallable Pipelined Generalized Sum of Products |

DW_rash | Arithmetic Shifter with Preferred Right Direction |

DW_rbsh | Barrel Shifter with Preferred Right Direction |

DW_shifter | Combined Arithmetic and Barrel Shifter |

DW_sla | Arithmetic Left Shifter |

DW_sqrt | Combinational Square Root |

DW_sqrt_pipe | Stallable Pipelined Square Root |

DW_square | Integer Squarer |

DW_squarep | Partial Product Integer Squarer |

DW_sra | Arithmetic Right Shifter |

Datapath: Floating Point | |

DW_fp_add | Floating-Point Adder |

DW_fp_addsub | Floating-Point Adder/Subtractor |

DW_fp_addsub_DG | Floating-Point Adder/subtractor with Datapath Gating |

DW_fp_add_DG | Floating-Point Adder with Datapath Gating |

DW_fp_cmp | Floating-Point Comparator |

DW_fp_cmp_DG | Floating-Point Comparator with Datapath Gating |

DW_fp_div | Floating-Point Divider |

DW_fp_div_DG | Floating-Point Divider with Datapath Gating |

DW_fp_div_seq | Floating-Point Sequential Divider |

DW_fp_dp2 | 2-Term Floating-Point Dot-product |

DW_fp_dp3 | 3-Term Floating-Point Dot-product |

DW_fp_dp4 | 4-Term Floating-Point Dot-product |

DW_fp_exp | Floating-Point Exponential (e^a) |

DW_fp_exp2 | Floating-Point Base-2 Exponential |

DW_fp_flt2i | Floating-Point to Integer Converter |

DW_fp_i2flt | Integer to Floating-Point Converter |

DW_fp_invsqrt | Floating-Point Reciprocal of Square Root |

DW_fp_ln | Floating-Point Natural Logarithm |

DW_fp_log2 | Floating-Point Base-2 Logarithm |

DW_fp_mac | Floating-Point Multiply and Add |

DW_fp_mac_DG | Floating-Point Multiply-and-Add with Datapath Gating |

DW_fp_mult | Floating-Point Multiplier |

DW_fp_mult_DG | Floating-Point Multiply with Datapath Gating |

DW_fp_recip | Floating-Point Reciprocal |

DW_fp_recip_DG | Floating-Point Reciprocal with Datapath Gating |

DW_fp_sincos | Floating-Point Sine or Cosine |

DW_fp_sqrt | Floating-Point Square Root |

DW_fp_square | Floating-Point Square |

DW_fp_sub | Floating-Point Subtractor |

DW_fp_sub_DG | Floating-Point Subtractor with Datapath Gating |

DW_fp_sum3 | 3-input Floating-Point Adder |

DW_fp_sum3_DG | 3-Input Floating-Point Adder with Datapath Gating |

DW_fp_sum4 | 4-input Floating-Point Adder |

DW_lp_fp_multifunc | minPower Low Power Floating-Point Multi-function Unit |

DW_lp_fp_multifunc_DG | minPower Low Power Floating-Point Multi-function Unit with Datapath Gating |

DW_lp_piped_fp_add | minPower Low Power Pipelined Floating-Point Adder |

DW_lp_piped_fp_div | minPower Low Power Pipelined Floating-Point Divide |

DW_lp_piped_fp_mult | minPower Low Power Pipelined Floating-Point Multiplier |

DW_lp_piped_fp_recip | minPower Low Power Pipelined Floating-Point Reciprocal |

DW_lp_piped_fp_sum3 | minPower Low Power Pipelined 3-input Floating-Point Adder |

Datapath: Sequential | |

DW_div_seq | Sequential Divider |

DW_mult_seq | Sequential Multiplier |

DW_sqrt_seq | Sequential Square Root |

Datapath: Trigonometric | |

DW_sincos | Sine and Cosine |

Data Integrity | |

DW04_par_gen | Parity Generator and Checker |

DW_crc_p | Universal Parallel (Combinational) CRC Generator/Checker |

DW_crc_s | Universal Synchronous (Clocked) CRC Generator/Checker |

DW_ecc | Error Checking and Correction |

DW_lp_piped_ecc | minPower Low Power Pipelined Error Correction (ECC) |

Data Integrity: Coding | |

DW_8b10b_dec | 8b10b Decoder |

DW_8b10b_enc | 8b10b Encoder |

DW_8b10b_unbal | 8b10b Coding Balance Predictor |

Digital Signal Processing | |

DW_dct_2d | Two Dimensional Discreet Cosine Transform (DCT) |

DW_fir | High-Speed Digital FIR Filter |

DW_fir_seq | Sequential Digital FIR Filter Processor |

DW_iir_dc | High-Speed Digital IIR Filter with Dynamic Coefficients |

DW_iir_sc | High-Speed Digital IIR Filter with Static Coefficients |

Interface: Clock Domain Crossing | |

DW_data_qsync_hl | Quasi-Synchronous Data Interface for H-to-L Frequency Clocks |

DW_data_qsync_lh | Quasi-Synchronous Data Interface for L-to-H Frequency Clocks |

DW_data_sync | Data Bus Synchronizer with Acknowledge |

DW_data_sync_1c | Single Clock Filtered Data Bus Synchronizer |

DW_data_sync_na | Data Bus Synchronizer without Acknowledge |

DW_gray_sync | Gray Coded Synchronizer |

DW_pulseack_sync | Pulse Synchronizer with Acknowledge |

DW_pulse_sync | Dual Clock Pulse Synchronizer |

DW_reset_sync | Reset Sequence Synchronizer |

DW_stream_sync | Data Stream Synchronizer |

DW_sync | Single Clock Data Bus Synchronizer |

Logic: Combinational Components | |

DW01_binenc | Binary Encoder |

DW01_decode | Decoder |

DW01_mux_any | Universal Multiplexer |

DW01_prienc | Priority Encoder |

DW_decode_en | Binary Decoder with Enable |

DW_lod | Leading One's Detector |

DW_lsd | Leading Signs Detector |

DW_lza | Leading Zero's Anticipator |

DW_lzd | Leading Zero's Detector |

DW_pricod | Priority Coder |

DW_thermdec | Binary Thermometer Decoder with Enable |

Logic: Sequential Components | |

DW03_bictr_dcnto | Up/Down Binary Counter with Dynamic Count-to Flag |

DW03_bictr_decode | Up/Down Binary Counter with Output Decode |

DW03_bictr_scnto | Up/Down Binary Counter with Static Count-to Flag |

DW03_lfsr_dcnto | LFSR Counter with Dynamic Count-to Flag |

DW03_lfsr_load | LFSR Counter with Loadable Input |

DW03_lfsr_scnto | LFSR Counter with Static Count-to Flag |

DW03_lfsr_updn | LFSR Up/Down Counter |

DW03_updn_ctr | Up/Down Counter |

DW_dpll_sd | Digital Phase Locked Loop |

DW_lp_cntr_updn_df | minPower Low Power Counter with Dynamic Terminal Count Flag |

DW_lp_cntr_up_df | minPower Low Power Up Counter with Dynamic Terminal Count Flag |

Memory: FIFO | |

DW_asymdata_inbuf | Asymmetric Data Input Buffer |

DW_asymdata_outbuf | Asymmetric Data Output Buffer |

DW_asymfifo_s1_df | Asymmetric I/O Synchronous (Single Clock) FIFO with Dynamic Flags |

DW_asymfifo_s1_sf | Asymmetric I/O Synchronous (Single Clock) FIFO with Static Flags |

DW_asymfifo_s2_sf | Asymmetric Synchronous (Dual-Clock) FIFO with Static Flags |

DW_fifo_2c_df | Dual clock FIFO with Dynamic Flags |

DW_fifo_s1_df | Synchronous (Single Clock) FIFO with Dynamic Flags |

DW_fifo_s1_sf | Synchronous (Single Clock) FIFO with Static Flags |

DW_fifo_s2_sf | Synchronous (Dual-Clock) FIFO with Static Flags |

DW_lp_fifo_1c_df | Low Power Single Independent Clock FIFO |

Memory: FIFO Controllers | |

DW_asymfifoctl_2c_df | Asymmetric Synchronous (Dual Clock) FIFO Controller with Dynamic Flags |

DW_asymfifoctl_s1_df | Asymmetric I/O Synchronous (Single Clock) FIFO Controller with Dynamic Flags |

DW_asymfifoctl_s1_sf | Asymmetric I/O Synchronous (Single Clock) FIFO Controller with Static Flags |

DW_asymfifoctl_s2_sf | Asymmetric Synchronous (Dual-Clock) FIFO Controller with Static Flags |

DW_fifoctl_2c_df | Dual clock FIFO Controller with Synchronous Memory Support and Dynamic Flags |

DW_fifoctl_s1_df | Synchronous (Single Clock) FIFO Controller with Dynamic Flags |

DW_fifoctl_s1_sf | Synchronous (Single-Clock) FIFO Controller with Static Flags |

DW_fifoctl_s2_sf | Synchronous (Dual-Clock) FIFO Controller with Static Flags |

DW_lp_fifoctl_1c_df | minPower Low Power Single clock FIFO Controller with Dynamic Flags |

Memory: Registers | |

DW03_pipe_reg | Pipeline Register |

DW03_reg_s_pl | Register with Synchronous Enable Reset |

DW03_shftreg | Shift Register |

DW04_shad_reg | Shadow and Multibit Register |

DW_pl_reg | Pipeline Register with individual enables |

Memory: SRAMs | |

DW_ram_2r_2w_s_dff | Synchronous write, asynchronous read, 4-port RAM (FF-based) |

DW_ram_2r_w_a_dff | Asynchronous Three-Port RAM (Flip-Flop Based) |

DW_ram_2r_w_a_lat | Write-Port, Dual-Read-Port RAM (Latch-Based) |

DW_ram_2r_w_s_dff | Synchronous Write-Port, Asynchronous Dual Read-Port RAM (Flip-Flop Based) |

DW_ram_2r_w_s_lat | Synchronous Write-Port, Asynchronous Dual Read-Port RAM (Latch-Based) |

DW_ram_rw_a_dff | Asynchronous Single-Port RAM (Flip-Flop Based) |

DW_ram_rw_a_lat | Asynchronous Single-Port RAM (Latch-Based) |

DW_ram_rw_s_dff | Synchronous Single-Port, Read/Write RAM (Flip-Flop Based) |

DW_ram_rw_s_lat | Synchronous Single-Port, Read/Write RAM (Latch-Based) |

DW_ram_r_w_2c_dff | Synchronous Two-Clock RAM (Flip-Flop-Based)) |

DW_ram_r_w_a_dff | Asynchronous Dual-Port RAM (Flip-Flop Based) |

DW_ram_r_w_a_lat | Asynchronous Dual-Port RAM (Latch-Based) |

DW_ram_r_w_s_dff | Synchronous Write-Port, Asynchronous Read-Port RAM (Flip-Flop Based) |

DW_ram_r_w_s_lat | Synchronous Write-Port, Asynchronous Read-Port RAM (Latch-Based) |

Memory: Stacks | |

DW_stack | Synchronous (Single Clock) Stack |

DW_stackctl | Synchronous (Single Clock) Stack Controller |

Test: JTAG | |

DW_bc_1 | Boundary Scan Cell Type BC_1 |

DW_bc_10 | Boundary Scan Cell Type BC_10 |

DW_bc_2 | Boundary Scan Cell Type BC_2 |

DW_bc_3 | Boundary Scan Cell Type BC_3 |

DW_bc_4 | Boundary Scan Cell Type BC_4 |

DW_bc_5 | Boundary Scan Cell Type BC_5 |

DW_bc_7 | Boundary Scan Cell Type BC_7 |

DW_bc_8 | Boundary Scan Cell Type BC_8 |

DW_bc_9 | Boundary Scan Cell Type BC_9 |

DW_tap | TAP Controller |

DW_tap_uc | TAP Controller with USERCODE Support |

Datapath Functions | |

DWF_dp_absval | Returns the absolute value (magnitude) of an argument |

DWF_dp_blend | Implements an alpha blender or linear interpolator |

DWF_dp_count_ones | Counts ones in argument |

DWF_dp_mult_comb | Performs a combined unsigned/signed multiply |

DWF_dp_mult_comb_ovfldet | Performs a combined unsigned/signed multiply and overflow detection |

DWF_dp_mult_comb_sat | Performs a combined unsigned/signed multiply and saturation |

DWF_dp_mult_ovfldet | Performs a multiplication with overflow detection |

DWF_dp_mult_sat | Performs a multiplication and saturation |

DWF_dp_rnd | Performs arithmetic rounding |

DWF_dp_rndsat | Performs arithmetic rounding and saturation |

DWF_dp_sat | Performs arithmetic saturation |

DWF_dp_sign_select | Performs sign selection / conditional two's complement |

DWF_dp_simd_add | Configurable SIMD adder |

DWF_dp_simd_addc | Configurable SIMD adder with carry |

DWF_dp_simd_mult | Configurable SIMD multiplier |

DWF_dp_sub_abs | Returns the absolute value of a subtraction |

DW_lp_pipe_mgr | minPower Low Power Pipeline Manager |

Search Tools