[ Excluded figure or table. ] Shell-Level CommandsNotation Conventions for Shell Commands QuickHDL User's and Reference Manual, 8.5_4.6c 5-1 Chapter 5 Shell-Level Commands The shell-level commands for QuickHDL allow you to perform tasks such as creating and manipulating the contents of a design library, compiling source code, and invoking the QuickHDL simulator on a design unit. These commands are entered from the shell command line and are case-sensitive. Notation Conventions for Shell Commands The syntax elements of QuickHDL shell commands are signified as follows: < >Angle brackets surrounding a syntax item indicate a user-defined option. Do not enter the brackets in commands. [ ]Square brackets indicate an optional item. If the brackets surround several words, all must be entered as a group. The brackets are not entered. ¼An ellipsis indicates items that may appear more than once. The ellipsis itself does not appear in commands. |The vertical bar indicates a choice between items on either side of it. Do not include the bar in the command. monospaced type Monospaced type is used in examples. Neither the prompt at the beginning of a line nor the or key that ends a line is shown in the examples. [ Excluded figure or table. ] QuickHDL User's and Reference Manual, 8.5_4.6c 5-2 Notation Conventions for Shell CommandsShell-Level Commands makefile_conv The makefile_conv command is used to convert makefiles that were generated by qhmake (from QuickVHDL, V8.4_1 or earlier) to use the new library format. Usage makefile_conv [input] [output] Arguments If you do not specify optional arguments, makefile_conv will read from standard in and write to standard out. See also qhmake [ Excluded figure or table. ] Shell-Level CommandsNotation Conventions for Shell Commands QuickHDL User's and Reference Manual, 8.5_4.6c 5-3 qhdel The qhdel command deletes a design unit from a specified library. Usage qhdel [ ±help ] [±lib ][ ±verbose ] [ ] Options -±help Displays a list of command options. -±lib Specifies the logical pathname of the library that holds the design unit to be deleted. Optional; by default, the design unit is deleted from the work library. -±verbose Displays progress message. Optional. Arguments - Specifies the name of an entity, package, configuration, or module to be deleted. Required. - Specifies the name of an architecture to be deleted. Optional; if omitted, all of the architectures for a specified entity are deleted. Invalid for a configuration, package, or module. Examples qhdel xor Deletes the entity named xor and all its architectures. qhdel xor behavior [ Excluded figure or table. ] QuickHDL User's and Reference Manual, 8.5_4.6c 5-4 Notation Conventions for Shell CommandsShell-Level Commands Deletes the architecture named behavior of the entity xor. [ Excluded figure or table. ] Shell-Level CommandsNotation Conventions for Shell Commands QuickHDL User's and Reference Manual, 8.5_4.6c 5-5 qhdir The qhdir command selectively lists the contents of a library. Usage qhdir [ -help ] [ L ] [ ±lib ] [ ] Options -±help Displays a list of command options. --L Lists a long description of each design unit listed. -±lib Specifies the logical name or the pathname of the library to be listed. Optional; by default, the contents of the work library are listed. Argument - Specifies the name of a module or an entity whose architectures are to be listed. Optional; by default, all entities, configurations, and packages in the specified library are listed. Examples qhdir ±lib design my_asic Lists the architectures associated with the entity named my_asic that resides in the design library called design. [ Excluded figure or table. ] QuickHDL User's and Reference Manual, 8.5_4.6c 5-6 Notation Conventions for Shell CommandsShell-Level Commands qhgencomp The qhgencomp command extracts the interface to a Verilog module that has been compiled into a component library and creates a VHDL component declaration. This allows referencing the Verilog component from a VHDL design. The component declaration is written to stdout. [ Excluded figure or table. ] A Verilog module must be compiled before a VHDL component can reference it. The qhgencomp command only generates a VHDL componentÐyou still must perform any required compilation on both Verilog and VHDL source code. Syntax qhgencomp [ -help ] [ -lib_name ] [ -s ] [ -b ] [ -v ] module_name Options -±help Displays a list of command options with a brief description for each. --lib_name Library name (default is work). --s Generate std_logic port types (default). --b Generate bit port types. --v Generate vl_logic port types. [ Excluded figure or table. ] Shell-Level CommandsNotation Conventions for Shell Commands QuickHDL User's and Reference Manual, 8.5_4.6c 5-7 Argument - Name of the module containing the component. [ Excluded figure or table. ] QuickHDL User's and Reference Manual, 8.5_4.6c 5-8 Notation Conventions for Shell CommandsShell-Level Commands Examples This example uses a Verilog module that is compiled into the work library. The module begins as Verilog source code module top(i1, o1, o2, io1); parameter width = 8; parameter delay = 4.5; parameter filename = "file.in"; input i1; output [7:0] o1; output [4:7] o2; inout [width-1:0] io1; endmodule After compiling, qhgencomp is invoked on the compiled module: qhgencomp top and writes the following to stdout: component top generic( width: integer := 8; delay: real:= 4.500000; filename: string:= "file.in" ); port( i1: instd_logic o1: outstd_logic_vector(7 downto 0); o2: outstd_logic_vector(4 to 7); io1: inoutstd_logic_vector ); end component; [ Excluded figure or table. ] Shell-Level CommandsNotation Conventions for Shell Commands QuickHDL User's and Reference Manual, 8.5_4.6c 5-9 qhlib The qhlib command creates a VHDL or Verilog design library. Usage qhlib [ -help ] [ ±dos ] Option -±help Displays a list of command options. -±dos Specifies that subdirectories in a library have names that are compatible with DOS. The option is not recommended if you use the qhmake utility. Optional. Argument - Specifies the pathname of the library to be created. Required. Examples qhlib design Creates a design library called design. You can define a logical name for the library using the qhmap command or by adding a line to the library section of the quickhdl.ini file that is located in the same directory. The qhlib command must be used to create a library directory. Operating system commands cannot be used to create a library directory or index file. If the specified library already exists as a valid QuickHDL library, the qhlib command will exit with an error message without touching the library. [ Excluded figure or table. ] QuickHDL User's and Reference Manual, 8.5_4.6c 5-10 Notation Conventions for Shell CommandsShell-Level Commands qhmake The qhmake utility allows you to use the UNIX make program to maintain VHDL or Verilog libraries. The qhmake utility prints a makefile for a library to the standard output. Usage qhmake [ -help ] [ ] Argument -±help Displays a list of command options. - Specifies the library name; if none is specified, then work is assumed. Optional. Examples qhmake > makefile Produces a makefile for library work. qhmake ieee | make ±f ± Pipes a makefile for library ieee into the make command. [ Excluded figure or table. ] Shell-Level CommandsNotation Conventions for Shell Commands QuickHDL User's and Reference Manual, 8.5_4.6c 5-11 qhmap The qhmap command defines a mapping between a logical library name and a directory by modifying the quickhdl.ini file. It also can be used to display all known mappings or just the current mapping of a specified logical name. Usage qhmap [ -help ] [-c] [-del] [] [] Arguments -±help Displays a list of command options. -±c Copies a quickhdl.ini file from the previous hierarchy of the default search path for .ini files into your current directory. -±del Deletes reference to the specified library. - Specifies the logical name of the library to be mapped or deleted from the map. Optional. - Specifies the pathname of the directory to which the library is to be mapped. Optional. If omitted, the command displays the mapping of the specified logical name. Examples qhmap design /my_sys/designs/wrg101 Establishes the logical library name design and maps it to the directory /my_sys/designs/wrg101. [ Excluded figure or table. ] QuickHDL User's and Reference Manual, 8.5_4.6c 5-12 Notation Conventions for Shell CommandsShell-Level Commands qhmap Without any arguments, the qhmap command displays all current mappings (based on the contents of the current project file, the quickhdl.ini file). qhmap my_asic If just a logical name is given, the qhmap command will display the current mapping for that name if one exists. qhmap -del old_asic Used with the -del option, qhmap deletes a mapping from the current project. [ Excluded figure or table. ] Shell-Level CommandsNotation Conventions for Shell Commands QuickHDL User's and Reference Manual, 8.5_4.6c 5-13 qhsim You can use the qhsim command either to invoke the simulator or to view results of a previous simulation run (with the ±view option). When invoking the simulator, you can specify a design unit (configuration, entity/architecture pair, or module) for simulation. If you specify a configuration, it is invalid to specify an architecture. If you do not specify a design unit, the Simulation Startup dialog will appear and prompt you for one. Usage qhsim [ ±help ] [ ±c ] [ -do ªº | ] [ ±i ] [ ±t ] [ ±gName= ] [ ±GName= ] [ ±lib ] [ ±wav ] [ ±view ] [ -f ] [ ±file ] [ -nocompress ] [ -restore ] [ ±noglitch ] [ ±noschematic ] [ ±schematic ] [ ±notcl ] [ -vital2.2b ] [ ±sdfmin [= ] ] [ ±sdftyp [= ] ] [ ±sdfmax [= ] ] [ ±sdfnowarn ] [ ±sdfholdv3 ] [-treefont ] [ ±L ] [ ±hazards ] [ +mindelays | +typdelays | +maxdelays ] [ +notimingchecks ] [ + ] [ ±usage ] [ ±version ] [ ±lmc ] [ ±title ] [ +pulse_r/ ] [ +pulse_e/ ] [ -pwrvh ] [ -pwrvl ] [ -multisource_delay