t1 icon indicating copy to clipboard operation
t1 copied to clipboard

Request some helper scripts

Open sequencer opened this issue 10 months ago • 0 comments

we need some helper script for development, future plan is hide nix command from developers.

  • genConfig [someConfig(fall back if not exist)] to pwd.
  • elaborate [ip, ipemu, ...] --config [some config.json by default from pwd]
    • use mill elaborator.run to generate the elaborator
  • setupScalaIDE {idea-community,metals(TBD)} --config[some config.json by default from pwd]
    • nix develop .#t1.elaborator.editable + nix shell .#espresso;
    • post run mill elaborator.assembly for jar;
    • IDE should be opened under this environment;
    • some idea to think about:
      • add our chisel-plugin(not opensourced yet) for D/I macro hack, ScalaPlugin for Scala. this can be used to simple onboarding new contributors.
      • In the future, we may add plugin for reading MLIR, HGLDD, FST to RPC surfer for debugging.(or RPC Verdi)
      • add IDE target for elaborator: image image This is extremely useful for debug Scala, see: image This is basically added some line to .idea/workspace.xml
  <component name="RunManager" selected="JAR Application.Elaborate">
    <configuration name="Elaborate" type="JarApplication" activateToolWindowBeforeRun="false">
      <option name="JAR_PATH" value="$PROJECT_DIR$/out/elaborator/assembly.dest/out.jar" />
      <option name="PROGRAM_PARAMETERS" value="ipemu -t . -c config.json " />
      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
      <option name="ALTERNATIVE_JRE_PATH" />
      <method v="2">
        <option name="RunConfigurationTask" enabled="true" run_configuration_name="assembly" run_configuration_type="ShConfigurationType" />
      </method>
    </configuration>
    <configuration name="assembly" type="ShConfigurationType">
      <option name="SCRIPT_TEXT" value="mill elaborator.assembly" />
      <option name="INDEPENDENT_SCRIPT_PATH" value="true" />
      <option name="SCRIPT_PATH" value="mill" />
      <option name="SCRIPT_OPTIONS" value="elaborator.assembly" />
      <option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
      <option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
      <option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
      <option name="INTERPRETER_PATH" value="/nix/store/i2z9yfbv0akyk6ad0fl0z0msqs9gmj3m-fish-3.7.1/bin/fish" />
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="EXECUTE_IN_TERMINAL" value="true" />
      <option name="EXECUTE_SCRIPT_FILE" value="false" />
      <envs />
      <method v="2" />
    </configuration>
    <list>
      <item itemvalue="JAR Application.Elaborate" />
      <item itemvalue="Shell Script.assembly" />
    </list>
  </component>

sequencer avatar Apr 22 '24 21:04 sequencer