Skip to content
This repository has been archived by the owner on Aug 19, 2024. It is now read-only.

Create VCS backend for testers2 #143

Merged
merged 1 commit into from
Mar 27, 2020
Merged

Create VCS backend for testers2 #143

merged 1 commit into from
Mar 27, 2020

Conversation

chick
Copy link
Contributor

@chick chick commented Mar 24, 2020

  • Create new VcsBackendAnnotation
  • Create support utilities for Vcs building tools
    • CopyVpiFiles move vpi and header files into place
    • GenVcsVerilogHarness Compile stuff
    • VcsAnnotations control behavior of the Vcs backend
  • Create VcsBackend, a trivial sub-classing of VerilatorBackend
  • Create VcsExecutive
    • constructs VcsBackEnd requirements calls the constructor
  • Create SimpleVcsTests
  • Added String to Uniquify Verilator and Vcs Tests
  • Suppress VCS tests if VCS not present in path
    • Updates to PR Add vcs backend support #58
    • Fixed CopyVpiFiles
      • looks like this might fail if early file was there but a late one wasn't
      • this code came from chisel-testers
    • Fix top level test names
      • behavior of "Testers2 with Vcs"
      • behavior of "Testers2 with Verilator"
    • Shortened VCS to just see if a simple circuit will build and simulate.
      • in long run we still need mechanism to run an arbitrary test with arbitrary backend
  • Create new VcsBackendAnnotation
  • Create support utilities for Vcs building tools
    • CopyVpiFiles move vpi and header files into place
    • GenVcsVerilogHarness Compile stuff
    • VcsAnnotations control behavior of the Vcs backend
  • Create VcsBackend, a trivial sub-classing of VerilatorBackend
  • Create VcsExecutive
    • constructs VcsBackEnd requirements calls the constructor
  • Create SimpleVcsTests
  • Added String to Uniquify Verilator and Vcs Tests
  • Fixed CopyVpiFiles
    • looks like this might fail if early file was there but a late one wasn't
    • this code came from chisel-testers
  • Fix top level test names
    • behavior of "Testers2 with Vcs"
    • behavior of "Testers2 with Verilator"
  • Shortened VCS to just see if a simple circuit will build and simulate.
    • in long run we still need mechanism to run an arbitrary test with arbitrary backend

- Create new VcsBackendAnnotation
- Create support utilities for Vcs building tools
  - CopyVpiFiles move vpi and header files into place
  - GenVcsVerilogHarness  Compile stuff
  - VcsAnnotations control behavior of the Vcs backend
- Create VcsBackend, a trivial sub-classing of VerilatorBackend
- Create VcsExecutive
  - constructs VcsBackEnd requirements calls the constructor
- Create SimpleVcsTests
- Added String to Uniquify Verilator and Vcs Tests
- Suppress VCS tests if VCS not present in path
  - Updates to PR #58
  - Fixed CopyVpiFiles
    - looks like this might fail if early file was there but a late one wasn't
    - this code came from chisel-testers
  - Fix top level test names
    - behavior of "Testers2 with Vcs"
    - behavior of "Testers2 with Verilator"
  - Shortened VCS to just see if a simple circuit will build and simulate.
    - in long run we still need mechanism to run an arbitrary test with arbitrary backend
- Create new VcsBackendAnnotation
- Create support utilities for Vcs building tools
  - CopyVpiFiles move vpi and header files into place
  - GenVcsVerilogHarness  Compile stuff
  - VcsAnnotations control behavior of the Vcs backend
- Create VcsBackend, a trivial sub-classing of VerilatorBackend
- Create VcsExecutive
  - constructs VcsBackEnd requirements calls the constructor
- Create SimpleVcsTests
- Added String to Uniquify Verilator and Vcs Tests
- Fixed CopyVpiFiles
  - looks like this might fail if early file was there but a late one wasn't
  - this code came from chisel-testers
- Fix top level test names
  - behavior of "Testers2 with Vcs"
  - behavior of "Testers2 with Verilator"
- Shortened VCS to just see if a simple circuit will build and simulate.
  - in long run we still need mechanism to run an arbitrary test with arbitrary backend

merged latest version of master then did lots and lots of cleanup
@chick chick added the enhancement New feature or request label Mar 24, 2020
@chick chick requested a review from ducky64 March 24, 2020 23:04
@chick chick self-assigned this Mar 24, 2020
@chick
Copy link
Contributor Author

chick commented Mar 24, 2020

Replacement for PR #58
That PR was very stale and had multiple merges of master this is a clean
rebase on current master

@chick chick mentioned this pull request Mar 24, 2020
Copy link
Member

@ducky64 ducky64 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine at a glance, probably doesn't need a super in-depth review for stuff going into legacy. I assume it's been tested somewhere?

Also, what happens if this is run on a platform without VCS (probably would be the case for many people)? Ideally it would give a skipped test warning, or just pass?

@chick
Copy link
Contributor Author

chick commented Mar 27, 2020

The test of VCS gives a "Test Canceled: firrtl.FileUtils.isVCSAvailable was false" message

@chick chick merged commit 14ee517 into master Mar 27, 2020
@ekiwi ekiwi deleted the add-vcs-support-2 branch December 17, 2021 21:29
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants