diff --git a/README.md b/README.md index 146680b..95235b0 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # RISC-V (Sub-Set) Out-of-Order Interpreter +![](public/demo.png) + ## Getting Started ```bash @@ -9,10 +11,21 @@ npm run dev # or `yarn dev` npm test # or `yarn test` ``` -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. [Docs](docs/README.md). ## TODO - [ ] Add more instructions - [ ] Add Decode Stage and Memory Stage -- [ ] HCI optimization + +## Technical Stack + +- core: typescript +- ui: next.js && react.js && antd && sass && mdx-js +- test: jest && ts-jest +- compability: core-js + + +## License + +MIT License diff --git a/docs/README.md b/docs/README.md index dde755c..65ad340 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,11 +1,22 @@ ## Docs +### CPU and Pipeline + +[risc-v core-code](/src/utils/rsic-v/index.ts) + +Pipline: +- IF: Instruction Fetch +- EX: Execution +- WB: Write Back + ### Supported Instructions `ADD` rd, rs1, rs2 `ADDI` rd, rs1, imm `SUB` rd, rs1, rs2 +`JAL` rd, imm + `FLD` rd, imm(rs1) : rd <- MEM[rs1+imm] `FSD` rs2, imm(rs1) : MEM[rs1+imm] <- rs2 diff --git a/package.json b/package.json index 007108f..19b0a65 100644 --- a/package.json +++ b/package.json @@ -14,21 +14,22 @@ "dependencies": { "@mdx-js/loader": "^2.1.5", "@mdx-js/react": "^2.1.5", - "@next/mdx": "^12.3.1", - "antd": "^4.23.6", + "@next/mdx": "^13.0.2", + "@uiw/react-codemirror": "^4.13.0", + "antd": "^4.24.1", "core-js": "^3.26.0", - "next": "12.3.1", + "next": "13.0.2", "react": "18.2.0", "react-dom": "18.2.0", - "sass": "^1.55.0" + "sass": "^1.56.1" }, "devDependencies": { - "@types/node": "18.11.3", - "@types/react": "18.0.21", - "@types/react-dom": "18.0.6", - "eslint": "8.25.0", - "eslint-config-next": "12.3.1", - "jest": "^29.2.1", + "@types/node": "18.11.9", + "@types/react": "18.0.25", + "@types/react-dom": "18.0.8", + "eslint": "8.27.0", + "eslint-config-next": "13.0.2", + "jest": "^29.3.1", "ts-jest": "^29.0.3", "typescript": "4.8.4" } diff --git a/public/demo.png b/public/demo.png new file mode 100644 index 0000000..59219e1 Binary files /dev/null and b/public/demo.png differ diff --git a/src/pages/docs.tsx b/src/pages/docs.tsx index b99db09..b9a5af2 100644 --- a/src/pages/docs.tsx +++ b/src/pages/docs.tsx @@ -16,7 +16,7 @@ export default function Page() {
- {title} + {title}
diff --git a/src/pages/index.tsx b/src/pages/index.tsx index c685c5d..946309e 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,7 +1,9 @@ import type { NextPage } from 'next' import Head from 'next/head' -import { SetStateAction, useState } from 'react' +import { useState, useCallback } from 'react' import { Input, Button, Space } from 'antd'; +import CodeMirror from '@uiw/react-codemirror'; +import { ViewUpdate } from '@codemirror/view'; import 'core-js/actual/structured-clone'; import { EditableTable } from '../components'; import { @@ -36,7 +38,7 @@ const Home: NextPage = () => {
- {title} + {title}
@@ -44,29 +46,27 @@ const Home: NextPage = () => {

Code place

-