origen.application#
Classes#
Application: The base class of all Origenapplications.Base: The base class of all Origenapplications.
- class origen.application.Application(*args, **options)#
- property app_dir#
Returns a path to the application’s main Python dir, that is <app.root>/<app.name>
- property app_session#
Return this app’s session store
- block_path_to_dir(path, force_search=False)#
Translates something like “dut.falcon” to <root>/<app>/blocks/dut/derivatives/falcon
A tuple is returned where the first item is True/False indicating whether a block dir was found and if so then the second item is valid and contains the path to it.
Note that this method caches the results and will always return the same result for the same path by default regardless of whether the block directories have been changed on disk. To force a re-evaluation of the given path pass ‘True’ as a second argument.
- check_production_status()#
- property commands_dir#
- compile(*args, **options)#
Runs
Origen's Compiler. Note that this will also run any existing jobs in the compiler’s stack.
- property compiler#
Returns the application’s instance of
Origen's Compiler
- property config_dir#
- hey()#
- instantiate_block(path, base_path=None, *, class_name='Controller', sb_options=None)#
Instantiate the given block and return it
>>> origen.app.instantiate_block("dut.falcon") >>> origen.app.instantiate_block("nvm.flash.f2mb")
- instantiate_block_from_mod(mod, class_name='Controller', sb_options={})#
- instantiate_dut(path, **kwargs)#
Instantiate the given DUT and return it, this must be called first before any sub-blocks can be instantiated
- property is_plugin#
- property linter#
- load_block_files(controller, filename)#
Load the given block filetype to the given controller
>>> origen.app.load_block_files(dut.flash, "registers.py")
- property mailer#
- property name#
Returns the unique ID (name) of the app/plugin
- property output_dir#
Returns the directory in which generated content should be placed
- property plugin#
Will be set to true if the app instance it not the top-level app and is therefore operating as a plugin
- property publisher#
- property python_dir#
An alias for app_dir
- property rc#
- property release_scribe#
- property root#
Returns the application’s root directory
- property session#
If in an application workspace, return the this app’s app session, otherwise this app’s user session
- translate(remote_file)#
Runs
Origen's Translator
- property translator#
Returns the application’s instance of
Origen's Translator
- property unit_tester#
- property user_session#
Return this app’s user session store
- version#
- property website_output_dir#
Returns the output directory offset from
output_dir()in which generated web content should be placed
- property website_release_location#
Returns the release location (URL, system-path, etc.) which the resulting website should be placed upon using the
--releaseoption of origen web
- property website_release_name#
Returns the name under which to release the website
- property website_source_dir#
Returns the source directory for Origen’s sphinx app
- class origen.application.Base(*args, **options)#
The base class of all Origen
applications.- property app_dir#
Returns a path to the application’s main Python dir, that is <app.root>/<app.name>
- property app_session#
Return this app’s session store
- block_path_to_dir(path, force_search=False)#
Translates something like “dut.falcon” to <root>/<app>/blocks/dut/derivatives/falcon
A tuple is returned where the first item is True/False indicating whether a block dir was found and if so then the second item is valid and contains the path to it.
Note that this method caches the results and will always return the same result for the same path by default regardless of whether the block directories have been changed on disk. To force a re-evaluation of the given path pass ‘True’ as a second argument.
- check_production_status()#
- property commands_dir#
- compile(*args, **options)#
Runs
Origen's Compiler. Note that this will also run any existing jobs in the compiler’s stack.
- property compiler#
Returns the application’s instance of
Origen's Compiler
- property config_dir#
- instantiate_block(path, base_path=None, *, class_name='Controller', sb_options=None)#
Instantiate the given block and return it
>>> origen.app.instantiate_block("dut.falcon") >>> origen.app.instantiate_block("nvm.flash.f2mb")
- instantiate_block_from_mod(mod, class_name='Controller', sb_options={})#
- instantiate_dut(path, **kwargs)#
Instantiate the given DUT and return it, this must be called first before any sub-blocks can be instantiated
- property is_plugin#
- property linter#
- load_block_files(controller, filename)#
Load the given block filetype to the given controller
>>> origen.app.load_block_files(dut.flash, "registers.py")
- property mailer#
- property name#
Returns the unique ID (name) of the app/plugin
- property output_dir#
Returns the directory in which generated content should be placed
- property plugin#
Will be set to true if the app instance it not the top-level app and is therefore operating as a plugin
- property publisher#
- property python_dir#
An alias for app_dir
- property rc#
- property release_scribe#
- property root#
Returns the application’s root directory
- property session#
If in an application workspace, return the this app’s app session, otherwise this app’s user session
- translate(remote_file)#
Runs
Origen's Translator
- property translator#
Returns the application’s instance of
Origen's Translator
- property unit_tester#
- property user_session#
Return this app’s user session store
- version#
- property website_output_dir#
Returns the output directory offset from
output_dir()in which generated web content should be placed
- property website_release_location#
Returns the release location (URL, system-path, etc.) which the resulting website should be placed upon using the
--releaseoption of origen web
- property website_release_name#
Returns the name under which to release the website
- property website_source_dir#
Returns the source directory for Origen’s sphinx app