Closed jpavieira closed 7 years ago
this file is only required if you want to use the debugger. for normal simulations it is not required. just uncomment it. also the -64 argument is not strictly required. it might even be the default argument in your case
On 02.12.2016 23:06, João Vieira wrote:
When running ..vsim/vcompile/rtl/vcompile_tb.sh using Modelsim SE-64 10.0b I get a error in the following line: |vlog -quiet -64 -work ${LIB_PATH} -ccflags "-I${TB_PATH}/mem_dpi/" ${TB_PATH}/mem_dpi/mem_dpi.c|
This version of modelsim do not have -ccflags argument and I can't get my hands on another version, is this argument really essencial?
My vlog options are the following:
|Usage: vlog [options] files Options: -help Print this message -time Print the compilation wall clock time -version Print the version of the compiler -32 Run in 32-bit mode -64 Run in 64-bit mode -work
Specify library WORK -error [, ...] Report the listed messages as errors -warning [, ...] Report the listed messages as warnings -note [, ...] Report the listed message as notes -suppress [, ...] Suppress the listed messages -msglimit [, ...] Limit the reporting of listed messages -93 Use VHDL 1076-1993 extended identifiers to preserve the case of names in the equivalent entity interface -ams Enable AMS wreal extensions +acc[= ][{+ [.]}] Enable PLI and debug command access to specified objects when optimizing a design. Objects are specified by a combination of design unit name and object-kind and/or hierarchical name and object-kind. The + and modifiers together specify a set of objects in a given place of a design. These modifiers help maximize simulation performance while retaining access to objects of interest. The effect of this option is limited only to those design units being compiled in the current vlog session. By default, this option has an effect on all design units being compiled. + can be used to target the extent of this option to only a specified design unit, instance, region, or object. When + is a design unit name, all instances of that design unit are affected. When + is a design pathname to an instance or region, only objects in that part of the design are affected. When + is a design pathname to an object, only that object is affected. For design units, instances, and regions, if a trailing '.' is present, the option is also applied recursively downwards (overriding any number given in if it is present). Examples: VHDL Design Unit: +acc+myentity(myarch) Verilog Design Unit: +acc=rn+Demux Instance and below: +acc=mrp+/top/u1. Object: +acc=r+/top/myreg Region and below: +acc+'/top/gen[3].' By default, +acc has effect on all kinds of design objects. is used to target more precisely certain kinds of objects. consists of one or more of the following letter codes: a (SVA/PSL objects, requirement for vsim -assertdebug) b (net bits) c (cell internal objects) f (finite state machine recognition and debugging) l (line debugging) m (module, program, and interface instances) n (nets) p (ports) r (variables and parameters) s (enable override of built-in system tasks) t (task and function scopes) u (primitive instances) When no valid characters are specified, the entire set is enabled. can contain a natural number to specify a recursive level downwards from the specified entity (unless overridden by a trailing '.' character given after + if present). +floatparameters[{+ [.]}] Don't lock down parameter values during compilation. This enables use of the vsim -g/G options on the affected parameters. The effect of the option is limited to parameters in design units being compiled in the current vlog session. The + modifier is described in the help text for the +acc option. -compat Disable optimizations that result in different event ordering than Verilog-XL (at expense of performance). -compile_uselibs[= ] Use the `uselib directive to find verilog source files and compile them into automatically created libraries -cuname Explicitly name the compilation unit package. The option can only be used with -mfcu. The can be top design unit name at vsim and vopt commandline +cover[= ] is used to enable code coverage metrics for certain kinds of constructs. consists of one or more of the following letter codes: s (statement) b (branch) c (condition) e (expression) f (finite state machine) t (toggle) x (extended toggle) If no characters are given, sbceft is the default. -coveropt Specify a digit for code coverage optimization level: 1 through 4. -coverexcludedefault Automatically exclude case default clauses. -coverfec Enable Focused Expression Coverage analysis for conditions and expressions. -nocoverfec Disable Focused Expression Coverage analysis for conditions and expressions. -coverudp Enable UDP Coverage analysis for conditions and expressions. -nocoverudp Disable UDP Coverage analysis for conditions and expressions. -nocovershort Disable short circuiting of expressions/condition when coverage is enabled. -nocoverexcludedefault Don't automatically exclude case default clauses. -covercells Enable code coverage options in cells -nocovercells Disable code coverage options in cells -constimmedassert Show constant immediate assertions in GUI/UCDB/reports etc. -togglecountlimit n Quit collecting toggle info after count n is reached. -togglewidthlimit n Don't collect toggle data on reg's or arrays wider than n. -extendedtogglemode [1|2|3] Change the level of support for extended toggles. The levels of support are: 1 - 0L->1H & 1H->0L & any one 'Z' transition (to/from 'Z') 2 - 0L->1H & 1H->0L & one transition to 'Z' & one transition from 'Z' 3 - 0L->1H & 1H->0L & all 'Z' transitions -toggleportsonly Enable toggle statistics collection only for ports. -maxudprows n Max number of rows allowed in UDP tables for code coverage. -maxfecrows n Max number of input patterns allowed in FEC table for code coverage. -coverreportcancelled Report coverage items that have been optimized away. +define+ [= ] Same as compiler directive: `define macro_name macro_text -deglitchalways Make always_comb and always @* insensitive to variable glitches, potentially breaking zero delay oscillations among combinatorial always blocks. +delay_mode_distributed Use structural delays and ignore path delays +delay_mode_path Set structural delays to zero and use path delays +delay_mode_unit Set non-zero structural delays to one +delay_mode_zero Set structural delays to zero -dpiforceheader Force generation of dpi header file even when empty of function prototypes -dpiheader Save the generated declarations of SystemVerilog DPI tasks and functions into -E Write preprocessed Verilog and SystemVerilog into -Epretty Write pretty preprocessed Verilog and SystemVerilog into -Edebug Write debugable preprocessed Verilog and SystemVerilog into -enumfirstinit Initialize an enum using its first elem. -f Specify a file containing more command line arguments -nofsmresettrans Disable recognition of implicit asynchronous reset transitions for FSMs -fsmresettrans Enable recognition of implicit asynchronous reset transitions for FSMs -nofsmsingle Disable recognition FSMs having single bit current state variable -fsmsingle Enable recognition FSMs having single bit current state variable -fsmimplicittrans Enable recognition of implicit transitions in FSMs -nofsmimplicittrans Disable recognition of implicit transitions in FSMs -fsmmultitrans Enable recognition of Multi-state transitions in FSMs -fsmverbose [b|t|w] Provides information about FSMs recognized, including state reachability analysis. There are three detail levels that can be set with this option. b (displays only basic information) t (displays a transition table in addition to the basic information) w (displays any warning messages in addition to the basic information) If no character is specified, btw is the default. -nofsmxassign Disable recognition of FSMs containing x assignment -fsmxassign Enable recognition of FSMs containing x assignment -gen_xml
When I'm running ..vsim/vcompile/rtl/vcompile_tb.sh using Modelsim SE-64 10.0b I get a error in the following line:
vlog -quiet -64 -work ${LIB_PATH} -ccflags "-I${TB_PATH}/mem_dpi/" ${TB_PATH}/mem_dpi/mem_dpi.c
This version of modelsim does not have -ccflags argument and I can't get my hands on another version, is this argument really essencial?
My vlog options are the following: