f4pga / f4pga/ideas

Convert the Verilog to Routing test runner from Perl to Python

Open
#16 8 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted project-verilog-to-routing type-coding type-infra
Dominant language
No language data
Stars
86
Forks
9
PR merge metrics
No merged PRs in 30d

Description

# Convert the test runner from Perl to Python

VtR has a [`vtr_flow`](https://github.com/verilog-to-routing/vtr-verilog-to-routing/tree/master/vtr_flow) test suite runner. Currently the [scripts are written in a mismash of Perl, Python and bash](https://github.com/verilog-to-routing/vtr-verilog-to-routing/tree/master/vtr_flow/scripts). It would be good if these scripts could all be rewritten in Python.

## Expected results

You can run the vtr test suite without requiring perl to be installed.

# Detailed Explanation

The major scripts which need to be converted are;
- [ ] [run_vtr_task.pl](https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/master/vtr_flow/scripts/run_vtr_task.pl)
- [ ] [run_vtr_flow.pl](https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/master/vtr_flow/scripts/run_vtr_flow.pl)

Some minor scripts which could be pretty easily converted are;
- [ ] [blif2vhd.pl](https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/master/vtr_flow/scripts/blif2vhd.pl)
- [ ] [vcd2act.pl](https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/master/vtr_flow/scripts/vcd2act.pl)
- [More stuff can be found via this search](https://github.com/verilog-to-routing/vtr-verilog-to-routing/search?q=language%3APerl&unscoped_q=language%3APerl)

# Knowledge Prerequisites

* Some Perl
* Some Python

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading vtr_flow/scripts/run_vtr_task.pl and run_vtr_flow.pl, then inspect the smaller Perl scripts such as blif2vhd.pl and vcd2act.pl. Run the vtr_flow test suite before and after the conversion. Done means the suite runs without Perl installed and the listed runner scripts are implemented in Python.

Written by the indexing model from the issue text.

Assessment

Tech stack
perl, python
Domain
testing, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.