Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

About books/projects/arm/second/fsqrt4/fsqrt4.cpp proof using ACL2 #1539

Open
whitecloudsun opened this issue Sep 13, 2023 · 8 comments
Open

Comments

@whitecloudsun
Copy link

After I read the book of Formal Verification of Floating Point Hardware Design, I haven't found any information about how to use proof scripts in the books/projects/arm/second/fsqrt4/ directory to complete prove process with ACL2。

After converting CModel into ACL2 script, are you sure that ACL2 can be used to complete the proof?Are there any operational guidelines that can be provided?

I hope to receive your reply as soon as possible. Thank you very much!

@russinoff
Copy link
Contributor

russinoff commented Sep 13, 2023 via email

@whitecloudsun
Copy link
Author

Thank you for your friendly answer。I run the projects/arm/second/fsqrt4/fsqrt4.lisp in the same way as running the projects/rp-rewriter/lib/mult3/demo/demo-2.lisp,but for statement of IN-PACKAGE "RTL" in scripts, an error that is unrecognized package names RTL will be reported, what should I do to resolve this error?

I hope to receive your reply as soon as possible. Thank you very much!

@ericwhitmansmith
Copy link
Member

Hi, Try standing in the directory books/projects/arm/second/fsqrt4/ and doing:
(ld "rtl/rel11/package.lsp" :dir :system)
(ld "fsqrt4.lisp")
If the directory is certified, the first of those 2 commands can be replaced by (ld "fsqrt4.port").

@whitecloudsun
Copy link
Author

Hi,ericwhitmansmith,may I ask if adding --load package.lsp during the CCL lx86cl64 execution ? it did not seem to have any effect, unrecognized RTL package error still reported.

@ericwhitmansmith
Copy link
Member

Hi, I don't know, but using --load doesn't sound like the kind of thing ACL2 users commonly do. To clarify my answer above, you should submit the two ld commands above to ACL2, not Common Lisp.

@whitecloudsun
Copy link
Author

Can I ask how to submit two ld commands to acl2 and what are the specific steps?I have execute that make -j 2 rtl in the directory of books and generate corresponding .cert and .out file,otherwise,fsqrt4. port has been generated by executing cert.pl -acl2 $path/saved fsqrt4.lisp in the fsqrt4 directory_ Generated by acl2, then I execute that ccl/lx86cl64 fsqrt4.lisp with -I 、-K、 -e options,and reported unrecognized "RTL" package error.

May I ask if there are any issues with my execution method, or if there are any steps that I have missed? Could you please help me point them out?

I hope to receive your reply as soon as possible. Thank you very much!

@whitecloudsun
Copy link
Author

Now, “RTL” package has been recognized, I did it according to the following steps,
1、write run_fsqrt4.lisp
(ld "path/to/rtl/package.lsp")
(ld "path/to/a.lisp")
2、saved_acl2 < run-fsqrt4.lisp

Thank you for your patient guidance!

@solswords
Copy link
Member

solswords commented Sep 15, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants