mirror of https://github.com/XS-MLVP/picker.git
29 lines
1.2 KiB
C++
29 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include "picker.hpp"
|
|
#include "parser/sv.hpp"
|
|
#include "parser/firrtl.hpp"
|
|
|
|
namespace picker { namespace codegen {
|
|
|
|
/// @brief render all files in src_dir to dst_dir recursively
|
|
/// @param src_dir
|
|
/// @param dst_dir
|
|
/// @param data
|
|
/// @param env
|
|
void recursive_render(std::string &src_dir, std::string &dst_dir, nlohmann::json &data, inja::Environment &env);
|
|
|
|
/// @brief render all svdpi files, build related files and copy other files
|
|
/// @param opts
|
|
/// @param external_pin
|
|
/// @param internal_pin
|
|
std::vector<picker::sv_signal_define> lib(picker::export_opts &opts,
|
|
const std::vector<picker::sv_module_define> sv_module_result,
|
|
const std::vector<picker::sv_signal_define> &internal_pin,
|
|
nlohmann::json &signal_tree_json);
|
|
|
|
using native_func = void (*)(picker::export_opts &opts, std::vector<picker::sv_signal_define> external_pin,
|
|
std::vector<picker::sv_signal_define> internal_signal, nlohmann::json &result);
|
|
|
|
native_func get_native_signal_processer(picker::export_opts &opts, nlohmann::json &result);
|
|
}} // namespace picker::codegen
|