synattr.vhd
来自「free hardware ip core about sparcv8,a so」· VHDL 代码 · 共 413 行 · 第 1/2 页
VHD
413 行
-- Mapping attributes
-- {family $actel $xilinx $lucent $quicklogic $altera $apex $apexe}
attribute syn_maxfan : integer; -- {objtype input_port register_output cell} {desc Overrides the default fanout}
-- {family $actel $xilinx $lucent $quicklogic $lattice $mach $virtex $virtex2 $triscend $asic $atmel $cp_only}
attribute syn_noclockbuf : boolean; -- {objtype global cell input_port module} {app ~synplify_asic} {desc Use normal input buffer}
-- {family $virtex stratix* }
attribute syn_srlstyle : string; -- {objtype cell global module} {desc Determines how seq. shift comp. are implemented} {default select_srl} {enum virtex (select_srl registers noextractff_srl) stratix(select_srl registers noextractff_srl altshift_tap)}
-- set syn_ramstyle to a value of "registers" to force the ram
-- to be implemented with registers.
-- {family $altera $apex $apexe $xilinx $lucent $quicklogic stratix* }
attribute syn_ramstyle : string; -- {objtype cell global module} {desc Map inferred RAM to registers} {default registers} {desc Special implementation of inferred RAM} {enum Virtex virtex-E spartan2 spartan2e virtex2 virtex2-pro(registers block_ram no_rw_check select_ram) xilinx_default (registers select_ram) stratix (registers block_ram no_rw_check) altera_default (registers block_ram) default (registers) all_enums (registers block_ram no_rw_check select_ram)}
-- {family $virtex2 $altera $apex $apexe $apex20k $lattice $lucent $mach excalibur*}
attribute syn_multstyle : string; -- {objtype cell global module} {default block_mult} {desc Special implementation of multipliers} {enum Virtex virtex-E spartan2 spartan2e virtex2 virtex2-pro(logic block_mult) stratix(logic lpm_mult block_mult) altera_default (logic lpm_mult) all_enums (logic block_mult lpm_mult)}
-- {family $virtex $virtex2}
attribute syn_tops_region_size : integer; -- {objtype global} {desc max. size of valid TOPS region in LUTs} {app amplify}
-- set syn_romstyle to a value of "logic" to force the rom
-- to be implemented with logic, select_rom/block_rom
-- {family $altera $apex $apexe $xilinx}
attribute syn_romstyle : string; -- {objtype cell global module} {desc Controls mapping of inferred ROM} {default logic} {desc Special implementation of inferred ROM} {enum xilinx_default (logic select_rom) altera_default(logic block_rom lpm_rom) default(logic) all_enums (logic select_rom block_rom) }
-- set syn_pipeline to a value 1 to pipeline the module front of it
-- {family $altera $apex $apexe $xilinx}
attribute syn_pipeline : boolean; -- {objtype register} {desc Controls pipelining of registers} {default 1} {desc Special implementation of pipelined module}
-- controls EDIF format. Set true on top level to disable array ports
-- {family *}
attribute syn_noarrayports : boolean; -- {objtype global} {app ~synplify_asic} {desc Disable array ports}
-- controls EDIF port name length. Currently used in Altera
-- {family $altera}
attribute syn_edif_name_length : string; -- {enum Restricted Unrestricted} {default Restricted} {objtype global} {desc Use Restricted for MAXII; Unrestricted for quartus}
-- {family *}
-- controls reconstruction of hierarchy. Set false on top level
-- to disable hierarchy reconstruction.
attribute syn_netlist_hierarchy : boolean; -- {objtype global} {app ~synplify_asic} {desc Enable hierarchy reconstruction}
--
-- syn_hier on an instance/module/architecture can be used
-- to control treatment of the level of hierarchy.
-- "macro" - preserve instantiated netlist
-- "hard" - preserves the interface of the design unit with no exceptions.
-- "remove"- removes level of hierarchy
-- "soft" - managed by Synplify (default)
-- "firm" - preserve during opt, but allow mapping across boundary
--
-- {family *}
attribute syn_hier: string; -- {objtype module} {desc Control hierarchy flattening} {enum proASIC (soft remove flatten firm) xilinx_default(hard soft remove flatten firm) actel_default altera_default all_enums(hard soft macro remove flatten firm) lucent_default (soft macro remove flatten firm) quicklogic_default(soft macro remove flatten firm) default(soft remove flatten firm)}
-- syn_flatten on a module/architecture will flatten out the
-- module all the way down to primitives.
attribute syn_flatten : boolean; -- {noscope}
-- {family $cp_only }
attribute syn_allowed_resources : string; -- {objtype module} {desc Control resource usage in a compile point}
-- Architecture specific attributes
-- Actel
-- {family $actel}
--
-- syn_preserve_sr_priority is used if you want to preserve
-- reset over set priority for DFFRS. Actel FF models produce
-- an X for set and reset active. This attribute costs gates and delay.
attribute syn_preserve_sr_priority : boolean; -- {noscope}
attribute alspin : string ; --{objtype port} {desc Pin locations for Actel I/Os}
attribute alspreserve : boolean ; --{objtype signal} {desc Not collapse a net in Actel}
attribute alsfc : string ; --{noscope}
attribute alsdc : string ; --{noscope}
attribute alsloc : string ; --{noscope}
attribute alscrt : string ; --{noscope}
-- Altera
-- {family $altera $apex $apexe}
attribute altera_implement_style : string; -- placement {noscope}
attribute altera_clique : string; -- placement {noscope}
attribute altera_chip_pin_lc : string; -- placement {objtype port} {desc I/O pin location}
-- inst/module/arch: put comb logic into rom
attribute altera_implement_in_eab : boolean; -- {objtype cell} {desc Implment in Altera EABs, apply to module/component instance name only} {default 1}
attribute altera_lcell: string; -- arch attribute with values of "lut" and "car" {noscope}
-- for lcell config
attribute altera_auto_use_eab : boolean; -- {objtype global} {desc Use EABs automatically} {default 1}
attribute altera_auto_use_esb : boolean; -- {objtype global} {desc Use ESBs automatically} {default 1}
-- Apex
-- {family $apex $apexe}
attribute altera_implement_in_esb : boolean; -- {objtype cell} {desc Implment in Altera ESBs, apply to module/component instance name only} {default 1}
-- Apex
-- {family $apex $apexe}
attribute altera_logiclock_location : string; -- {objtype module} {desc Give the location of LogicLock region } {default floating}
-- Apex
-- {family $apex $apexe}
attribute altera_logiclock_size : string; -- {objtype module} {desc Give the size of LogicLock region} {default auto}
-- {family apex20kc apex20ke excalibur* mercury* cyclone stratix* acex* flex10k* }
attribute altera_io_opendrain : boolean; -- set to true to get opendrain port in APEX {objtype port} {desc Use opendrain capability on port or bit-port.}
-- {family $altera_retiming}
attribute altera_io_powerup : string; -- set to high to get IO FF to powerup high in APEX {objtype port} {desc Powerup high or low on port or bit-port in APEX20KE.}
-- Lattice
-- {family $lattice $quicklogic}
attribute lock: string; -- pin placement {objtype port} {desc Pin locations for Lattice I/Os}
-- Lucent
-- {family $lucent}
attribute din : string; -- orca2 FF placement attribute, use value "" {objtype input_port} {desc Input register goes next to I/O pad}
attribute dout : string; -- orca2 FF placement attribute, use value "" {objtype output_port} {desc Output register goes next to I/O pad}
attribute orca_padtype : string; -- value selects synth pad type {objtype port} {desc Pad type for I/O}
attribute orca_props : string; -- attributes to pass for instance {objtype cell port} {desc Forward annotate attributes to ORCA back-end}
-- Both Lucent and Mach
-- {family $lucent $mach}
attribute loc : string; -- placment attribute {objtype port} {desc Pin location}
-- Quicklogic
-- {family $quicklogic}
-- I/O attributes
attribute ql_padtype : string; -- {objtype port} {desc Override default pad types (use BIDIR, INPUT, CLOCK)} {enum BIDIR INPUT CLOCK}
attribute ql_placement : string; -- {objtype port cell} {desc Placement location}
-- Xilinx
-- {family $xilinx}
-- Instance Placement attributes
attribute xc_loc : string; -- placement (pads) {objtype port} {desc Port placement}
attribute xc_rloc : string; -- see RPMs in xilinx doc {objtype cell} {desc Relative placement specification, use with xc_uset}
attribute xc_uset : string; -- see RPMs in xilinx doc {objtype cell} {desc Assign group name for placement, use with xc_rloc}
-- I/O attributes
attribute xc_fast : boolean; -- {objtype output_port} {desc Fast transition time}
attribute xc_ioff : boolean; -- {noscope}
attribute xc_nodelay : boolean; -- {objtype input_port} {desc Remove input delay}
attribute xc_slow : boolean; -- {objtype output_port} {desc Slow transition time}
attribute xc_ttl : boolean; -- {noscope}
attribute xc_cmos : boolean; -- {noscope}
attribute xc_pullup : boolean; -- add a pullup to I/O {objtype port} {desc Add a pullup}
attribute xc_pulldown : boolean; -- add a pulldown to I/O {objtype port} {desc Add a pulldown}
attribute xc_clockbuftype : string; -- {objtype input_port} {default BUFGDLL} {desc Use the Xilinx BUFGDLL clock buffer}
attribute xc_padtype : string; -- {objtype port} {desc Applies an I/O standard to an I/O buffer}
-- Top level architecture attributes
-- number of global buffers, used only for XC4000, XC4000E
attribute syn_global_buffers : integer; -- {objtype global} {desc Number of global buffers}
attribute xc_use_timespec_for_io : boolean; -- {objtype global} {desc Enable use of from-to timepsec instead of offset for I/O constraint} {default 0}
-- Xilinx Modular Design Flow --
attribute xc_pseudo_pin_loc : string; -- {objtype signal} {default CLB_RrrCcc:CLB_RrrCcc} {desc Pseudo pin location on place and route block }
attribute xc_modular_design : boolean; -- {objtype global } {default 1} {desc Enable modular design flow }
attribute xc_modular_region : string; -- {objtype cell } {default rr#cc#rr#cc} {desc Specifies the number of CLB's for a modular region}
-- Xilinx Incremental Design Flow --
attribute xc_area_group : string; -- {objtype cell } {default rr#cc#rr#cc} {desc Specifies the region where instance should be placed}
-- Black box attributes
-- {family $xilinx}
attribute xc_alias : string; -- cell name change in XNF writer {noscope}
attribute xc_props : string; -- extra XNF attributes to pass for instance {objtype cell} {desc Extra XNF attributes to pass for instance}
attribute xc_map : string; -- used to map entity to fmap/hmap/lut {objtype module} {desc Map entity to fmap/hmap/lut} {enum fmap hmap lut}
attribute xc_isgsr : boolean; -- used to mark port of core with built in GSR {noscope}
attribute syn_tristatetomux : integer ; -- {objtype module global} {desc Threshold for converting tristates to mux}
attribute syn_edif_bit_format : string ; -- {objtype global} {desc Format bus names} {enum %u<%i> %u[%i] %u(%i) %u_%i %u%i %d<%i> %d[%i] %d(%i) %d_%i %d%i %n<%i> %n[%i] %n(%i) %n_%i %n%i}
attribute syn_edif_scalar_format : string; -- {objtype global} {desc Format scaler names} {enum %u %n %d}
attribute xc_fast_auto : boolean; -- {objtype global} {desc Enable automatic fast output buffer use}
-- Triscend
-- {family $triscend}
attribute tr_map : string; -- used to map entity to LUT {objtype module} {desc Map entity to LUT}
attribute syn_props : string; -- extra attributes to pass to EDIF for instance {objtype cell} {desc Extra attributes to pass to EDIF for instance}
-- syn_replicate controls replication of registers
-- {family $virtex $virtex2 $altera $apex $apexe $apex20k}
attribute syn_replicate : boolean; -- {objtype global register} {desc Controls replication of registers} {default 0}
-- {family $xilinx}
attribute syn_verification_options : string; -- {objtype module} {default black_box} {desc Allows a module to be defined as a black_box for verification }
end attributes;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?