Engee 中的代码生成器
通过图形用户界面生成代码
通过命令行或交互式脚本生成代码
要在 Engee 中生成代码,可在命令行 或脚本编辑器
中使用engee.generate_code 命令。
子系统代码生成
要为子系统生成代码,请使用 subsystem_name
参数指定子系统的完整路径。子系统的完整路径包括其在模型中的名称。
*函数签名:
engee.generate_code(
path/to/modelname.engee::String,
path/to/output_dir::String;
subsystem_name=subsystem_path::String,
subsystem_id = subsystem_id::String,
target::String
)
*参数
-
path/to/modelname.engee::String`: 生成代码的模型的绝对或相对路径。参数可以是模型对象(通过
engee.gcm
函数获得的模型类型对象)。 -
path/to/output_dir::String`:保存生成代码的目录的绝对路径或相对路径。如果
output_dir
目录不存在,将自动创建。 -
subsystem_name=path/to/subsystem::String
: 生成代码的原子子系统的完整路径。 -
subsystem_id= subsystem_id::String
: 生成代码的原子子系统的唯一标识符。 -
target::字符串:指定生成代码的语言。支持的语言有
Si
(默认)或Verilog
。
如果未指定生成子系统的路径,则从模型的顶层生成代码。
*例如
engee.generate_code("/user/newmodel_1.engee", "/user/newmodel_1/Subsystem") # генерация кода для подсистемы
engee.generate_code("/user/newmodel_1.engee", "/user/newmodel_1/Subsystem"; subsystem_id = "88275e0b-a049-4bb5-b8c7-057badd1b536") # генерация кода для атомарной подсистемы по ее id
为模型生成代码
要从整个模型生成代码,请指定模型路径和生成代码的保存目录。如果模型已在 Engee 中打开,则可以传递通过函数engee.gcm) 获得的模型对象。
函数签名:
engee.generate_code(
path/to/modelname.engee::String,
path/to/output_dir::String;
target::String
)
*参数
-
path/to/modelname.engee::String`: 生成代码的模型的绝对或相对路径。参数可以是模型对象(通过
engee.gcm
函数获得的模型类型对象)。 -
path/to/modelname.engee::String`: 生成代码的模型的绝对或相对路径。参数可以是模型对象(由
engee.gcm
函数获取的模型类型对象)。 -
path/to/output_dir::String`:保存生成代码的目录的绝对路径或相对路径。如果
output_dir
目录不存在,则会自动创建。 -
target::String
: 指定生成代码的语言。支持的语言有Ci
(默认)或Verilog
。
*示例:
engee.generate_code("/user/newmodel_1.engee", "/user/newmodel_1/codegen_output") # абсолютный путь к модели
engee.generate_code("newmodel_1.engee", "newmodel_1/codegen_output") # относительный путь к модели
m = engee.gcm() # получение текущей открытой модели
engee.generate_code(m, "/user/newmodel_1/codegen_output")