mirror of
https://github.com/handsomezhuzhu/2025-yatcpu.git
synced 2026-02-20 20:10:14 +00:00
整理
This commit is contained in:
47
lab1/实验报告/1.md
Normal file
47
lab1/实验报告/1.md
Normal file
@@ -0,0 +1,47 @@
|
||||
好~我把(3)和(4)都整理成**流水线时序表**(5 级:IF/ID/EX/M/WB),空白表示该拍无操作。
|
||||
|
||||
# (3) 指令:
|
||||
|
||||
I1: LOAD R1,[a]
|
||||
I2: LOAD R2,[b]
|
||||
I3: ADD R1,R2 (结果写回 R2)
|
||||
I4: STORE R2,[x]
|
||||
|
||||
### 时序表(到 14 拍)
|
||||
|
||||
| 指令 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
|
||||
| -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
|
||||
| I1 | IF | ID | EX | M | WB | | | | | | | | | |
|
||||
| I2 | | IF | ID | EX | M | WB | | | | | | | | |
|
||||
| I3 | | | IF | ID | ID | ID | ID | EX | M | WB | | | | |
|
||||
| I4 | | | | | | | IF | ID | ID | ID | ID | EX | M | |
|
||||
|
||||
> 说明:I3 在 ID 等待到 R1@5、R2@6 写回后才在第 7 拍完成读寄存器;I4 受 I3 占据 ID 反压,IF 被阻塞到第 7 拍开始;又因需等 R2@10 写回,ID 等到第 11 拍才读到新 R2,随后 EX→M 结束。
|
||||
|
||||
---
|
||||
|
||||
# (4) 指令(提示给定):
|
||||
|
||||
I1: LOAD R1,[x]
|
||||
I2: LOAD R2,[a]
|
||||
I3: SHL R1 (x*2)
|
||||
I4: ADD R1,R2 (写回 R2)
|
||||
I5: STORE R2,[x]
|
||||
|
||||
### 时序表(到 16 拍)
|
||||
|
||||
| 指令 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|
||||
| -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
|
||||
| I1 | IF | ID | EX | M | WB | | | | | | | | | | | |
|
||||
| I2 | | IF | ID | EX | M | WB | | | | | | | | | | |
|
||||
| I3 | | | IF | ID | ID | ID | EX | M | WB | | | | | | | |
|
||||
| I4 | | | | | | | IF | ID | ID | ID | EX | M | WB | | | |
|
||||
| I5 | | | | | | | | | | IF | ID | ID | ID | ID | EX | M |
|
||||
|
||||
* 关键等待:
|
||||
|
||||
* I3 需等 R1@5 写回,故在 ID 等到第 6 拍读寄存器→7 EX→9 WB;
|
||||
* I4 需等 I3 的 R1 在第 9 拍写回,故在第 10 拍读寄存器→11 EX→13 WB;
|
||||
* I5 需等 R2 在第 13 拍写回,于第 14 拍读寄存器→15 EX→16 M(STORE 在 M 完成写内存)。
|
||||
|
||||
如果你想把这两张表导成可打印的 Word/Excel,我也可以直接帮你生成文件。
|
||||
BIN
lab1/实验报告/b42.png
Normal file
BIN
lab1/实验报告/b42.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
273
lab1/实验报告/report.fdb_latexmk
Normal file
273
lab1/实验报告/report.fdb_latexmk
Normal file
@@ -0,0 +1,273 @@
|
||||
# Fdb version 4
|
||||
["pdflatex"] 1762875595.0068 "e:/jizu/2025-fall-yatcpu-repo/lab1/实验报告/report.tex" "report.pdf" "report" 1762875599.99833 2
|
||||
"C:/Users/26586/AppData/Local/MiKTeX/fonts/map/pdftex/pdftex.map" 1761456855.17569 80909 eab91d9745dd2edfd62a31d53cd5fe15 ""
|
||||
"C:/Users/26586/AppData/Local/MiKTeX/fonts/pk/ljfour/jknappen/ec/dpi600/tcrm1200.pk" 1760284205.24029 14064 0435e595d6b2364a10c98a375d33de30 ""
|
||||
"C:/Users/26586/AppData/Local/MiKTeX/miktex/data/le/pdftex/pdflatex.fmt" 1760284172.44912 13286967 cf204fddfacb93f0867a71203b66337a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/sfd/ttf2pk/UGBK.sfd" 1458473944 185547 3920f4d0519124bae1340c8047ea76bc ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/sfd/ttf2pk/Unicode.sfd" 1458473944 107591 5aa427daaa6489b60892769618bdfe76 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/jknappen/ec/tcrm1200.tfm" 993062508 1444 95ffe0f19b974d50849790c8225c7ef7 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1233951848 1004 54797486969f23fa377b128694d548df ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1233951848 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmbx12.tfm" 1136765053 1324 c910af8c371558dc20f2d7822f66fe64 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmex10.tfm" 1136765053 992 662f679a0b3d2d53c1b94050fdaa3f50 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmitt10.tfm" 1136765053 768 2297ad2ac26f37e67f756dad27c77d68 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmmi10.tfm" 1136765053 1528 abec98dbc43e172678c11b3b9031252a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmmi12.tfm" 1136765053 1524 4414a8315f39513458b80dfc63bff03a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmmi6.tfm" 1136765053 1512 f21f83efb36853c0b70002322c1ab3ad ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmmi8.tfm" 1136765053 1520 eccf95517727cb11801f4f1aee3a21b4 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmr10.tfm" 1136765053 1296 45809c5a464d5f32c8f98ba97c1bb47f ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmr12.tfm" 1136765053 1288 655e228510b4c2a1abe905c368440826 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmr17.tfm" 1136765053 1292 296a67155bdbfc32aa9c636f21e91433 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmr6.tfm" 1136765053 1300 b62933e007d01cfd073f79b963c01526 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmr8.tfm" 1136765053 1292 21c1c5bfeaebccffdb478fd231a0997d ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmsy10.tfm" 1136765053 1124 6c73e740cf17375f03eec0ee63599741 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmsy6.tfm" 1136765053 1116 933a60c408fc0a863a92debe84b2d294 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmsy8.tfm" 1136765053 1120 8b7d695260f3cff42e636090a8002094 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmtt10.tfm" 1136765053 768 1321e9409b4137d6fb428ac9dc956269 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmtt12.tfm" 1136765053 772 9a936b7f5e2ff0557fce0f62822f0bbf ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs2c.tfm" 1247154072 1172 ee5931139b8ca44de9add03f234e54e0 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs3c.tfm" 1247154072 1172 f57611e995bb0bd0a39134d7932b6963 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs4c.tfm" 1247154072 1172 f1fd1a411a30f8fee31f7bf6d3bb0581 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs4e.tfm" 1247154072 1172 66721f51f04999b1ba30917a08b01c8c ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs51.tfm" 1247154072 1172 fb1d3bd240b471452891f42887192d13 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs54.tfm" 1247154072 1172 3fb17769b1ebc198fca44ab9c6c852ac ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs57.tfm" 1247154072 1172 1294d8c0b8a209ee8ed70c57a6da1903 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs5c.tfm" 1247154072 1172 171b9dfc8d00b2aa4652d56b483e81e8 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs63.tfm" 1247154072 1172 133c1833fb153408886bd45a32b088c7 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs65.tfm" 1247154072 1172 f7e3e3697ffcd2b4275e3af6d3c25c95 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs67.tfm" 1247154072 1172 2ac51daa11cb49d568b65a81bc53ad8e ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs6b.tfm" 1247154072 1172 51c9397f6ec1971497d3d5e6d0fac7e7 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs6c.tfm" 1247154072 1172 8341a565c911679161e36ccf197e0b05 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs76.tfm" 1247154072 1172 ccb4b4ddd6a5cc27db7819f2c6b445c9 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs8b.tfm" 1247154072 1172 d45a7893cb5d4d1acc86184ee0617a85 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs8f.tfm" 1247154072 1172 d3169b8d0b2839b5570b2ad9ce365b23 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs94.tfm" 1247154072 1172 ea1e2193d3bd028b2bad4d0666a14b6c ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei30.tfm" 1247154072 1172 18ad1097cc3f3c36c758d33bf2dd19bd ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei4e.tfm" 1247154072 1172 2d5e87dd6ec409d864e1fe1662d00646 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei4f.tfm" 1247154072 1172 d30a5fea134273110a27f48164b06e0c ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei51.tfm" 1247154072 1172 7ee56fddd7b8de24477f743547fdf508 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei52.tfm" 1247154072 1172 481a000690ef15d58de2a93b3c34574c ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei53.tfm" 1247154072 1172 a5c37c86ae9131b27b9c0199f3d12df2 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei54.tfm" 1247154072 1172 d48fa656debc44b54635777f72473a7c ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei56.tfm" 1247154072 1172 3d70386494675a81e9a6697b900ec8a8 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei57.tfm" 1247154072 1172 22fcff286e20a86fd370e6e42f5ce3ce ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei58.tfm" 1247154072 1172 72bdd9760fa9bdd25369ae236dd1ab29 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei59.tfm" 1247154072 1172 cb2089a3c8bd5826b7666fffdf326cbc ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei5b.tfm" 1247154072 1172 2120666fa3540653fd1185d802592022 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei5c.tfm" 1247154072 1172 bd43fa5a6a1bdc14b787de765c6df7cc ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei5d.tfm" 1247154072 1172 ad3b1e5fc915d97e4a51b8667388e1de ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei5e.tfm" 1247154072 1172 43d03c144e7fffa57074d64aa459c451 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei5f.tfm" 1247154072 1172 7048f0a8b693444590781debe54eecbd ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei62.tfm" 1247154072 1172 3b0f7c4bc785f23eefed0160e713cd09 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei63.tfm" 1247154072 1172 fff11ea27394506a041a526a495f9652 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei64.tfm" 1247154072 1172 abd4be36b7787f9979caadfeef9cdae5 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei65.tfm" 1247154072 1172 c34b1545992ab0d7393a03f889ceeb86 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei67.tfm" 1247154072 1172 127372bbba8b4f4a65a26e565c0c6a2e ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei68.tfm" 1247154072 1172 a6e39128d14a2d8e22ed8239e864feff ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei6a.tfm" 1247154072 1172 ea35fa13ee483c308a0c68cffa2f52fb ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei6b.tfm" 1247154072 1172 865a135040ed6ad7a3ce493fd0108ece ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei6c.tfm" 1247154072 1172 7dd7a6f05321dd25f399ebba47f53887 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei6d.tfm" 1247154072 1172 e5be6419407f0c8504254055afe6a633 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei70.tfm" 1247154072 1172 37cb57ab58b65f2767baaede9a4fe5d2 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei73.tfm" 1247154072 1172 04594028df286605c5e043f49c67e7c6 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei75.tfm" 1247154072 1172 a25bf5894dd20c7f5582ee012df9c39f ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei76.tfm" 1247154072 1172 717e1aab695517230a61456b5d0d4ae0 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei77.tfm" 1247154072 1172 e79da86bd1270a9d0d9c14bd9641a9f1 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei78.tfm" 1247154072 1172 f839ed6c9e325affc7a6f8b3ce684108 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei7a.tfm" 1247154072 1172 8e66b7d5a581fb748da225cc80739f0e ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei7c.tfm" 1247154072 1172 9e4fe5216b40afa8ffc6c259528a5985 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei7e.tfm" 1247154072 1172 fc758d34799896087d8800c18ce979f8 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei7f.tfm" 1247154072 1172 ea6db19cb8d2678f35079f6f874b4d84 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei80.tfm" 1247154072 1172 7c53005410278de6d612480963dd5ced ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei88.tfm" 1247154072 1172 4b5747a6c0d911e39c45f758903a60d6 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei89.tfm" 1247154072 1172 364fffd8ea27d98d6edb9222bf84c180 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei8b.tfm" 1247154072 1172 bdf00141a2e7bd9848cfb6dae5c7e1ef ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei8c.tfm" 1247154072 1172 d7fb4fbe30ca7c33dda3dd09f420024a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei8f.tfm" 1247154072 1172 e5ac568cbbb10c21a8919c10147ccf70 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei90.tfm" 1247154072 1172 bf3a9ea28c06174042dcd642737f0ad2 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei95.tfm" 1247154072 1172 5a7e9ba612e7803abcac167ef6c5a665 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei96.tfm" 1247154072 1172 baafaa35cbf14b936974ec3a58b5f3e8 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei98.tfm" 1247154072 1172 1261ce7302f6ac3352bb5ce3d475a0d8 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei9a.tfm" 1247154072 1172 8ba4cc771068baafaef7437667c8184d ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/uniheiff.tfm" 1247154072 1172 753ad64262b81ffe372ea0e0ce61c8b9 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong30.tfm" 1247154072 1172 87d6ba1aff8b955258f6ef7a5d8e86e5 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong4e.tfm" 1247154072 1172 89be830028b08964827966f204abf065 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong4f.tfm" 1247154072 1172 dd7ec0fe171ece0b66015cb8929849f0 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong50.tfm" 1247154072 1172 04255d5811683ec0231c5fbfdd125757 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong51.tfm" 1247154072 1172 c46d453988a7d703c4f5c5104bb894f0 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong52.tfm" 1247154072 1172 ebad2f047d83d1be72706895f11e9896 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong53.tfm" 1247154072 1172 e2a03d4bc65395303b42aaff9aacd7be ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong54.tfm" 1247154072 1172 c93f9362e45903cde8748b054b30ab56 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong56.tfm" 1247154072 1172 483bbebc510ee17933c3af062965b6d4 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong57.tfm" 1247154072 1172 eb821bcbfd385c0d470afef6ff6ac95b ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong59.tfm" 1247154072 1172 2aa8dc9bdcfa6684a19d81e71fa8a3e1 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong5b.tfm" 1247154072 1172 449ef25f4dcd447addb8325f7bf12b2a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong5c.tfm" 1247154072 1172 bbe7d94072c5d308e673fac2512329ac ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong5d.tfm" 1247154072 1172 1fd8042971efdf7ea35b87f9c6c10b8b ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong5e.tfm" 1247154072 1172 19d2fe591b31a07314df704f4d4d5035 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong5f.tfm" 1247154072 1172 e4d92bc2f617835508003ad811702c49 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong60.tfm" 1247154072 1172 7b3876cac8e97dc2d0915ac00b6e4c26 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong62.tfm" 1247154072 1172 9ffac14c72fbc4879502782835fb1e0a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong63.tfm" 1247154072 1172 5558042a53f0a34c54eaf1c8af13f377 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong64.tfm" 1247154072 1172 9123bc1a52f39fa754022a43a1394244 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong65.tfm" 1247154072 1172 2873dd6228ece5c9b075cfdc580febae ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong66.tfm" 1247154072 1172 f300cf9aac35a61638796e3d2ecc0e47 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong67.tfm" 1247154072 1172 bfeea74ab6553bd251ccbd092c04122a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong68.tfm" 1247154072 1172 e36ee82e53889b69220fe0f54fd031bb ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong69.tfm" 1247154072 1172 0209d2b99858d2df0c8ca278aa28ba42 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong6a.tfm" 1247154072 1172 00f8a00771908df2108694cbd69134d7 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong6b.tfm" 1247154072 1172 eec47476c8168dac40c6b0d39a32faa4 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong6c.tfm" 1247154072 1172 da6dd37ba8d24cc1a36aa510c8ac56f9 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong6d.tfm" 1247154072 1172 3942109a9ca7a08ec5324d8eec4093d9 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong6e.tfm" 1247154072 1172 42ca517602ab12cb60a5174be463b80a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong70.tfm" 1247154072 1172 65f78ffa41ce8b45f91f362b219db0e7 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong71.tfm" 1247154072 1172 ac9bcd3bdbf45728188f855f6ba1cf2f ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong72.tfm" 1247154072 1172 3988931ed4f7026bbecd81a5650d7854 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong73.tfm" 1247154072 1172 fd0cb8a34c74e2d27b9d6ceb95f2f96d ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong74.tfm" 1247154072 1172 9c784b2c832c4124ae2a4cc407dc47a5 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong75.tfm" 1247154072 1172 402d633b1aba150cdcd663d684057796 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong76.tfm" 1247154072 1172 44cc15829d76f419e5a8bac63a8fed30 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong77.tfm" 1247154072 1172 700f8f915e90952a352eb230ae635c92 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong78.tfm" 1247154072 1172 7693562f5e83d5e3f5e32b3aa27065f6 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong79.tfm" 1247154072 1172 ce37048b43f744f562318164cad22210 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong7a.tfm" 1247154072 1172 f8375167264f31944f2511f305972138 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong7b.tfm" 1247154072 1172 11ddb11e6fbba10bd31629a75b0d10c6 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong7c.tfm" 1247154072 1172 244f58522afea40d9573f43f05491e74 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong7e.tfm" 1247154072 1172 c58659cf25f9ba2d1c548f969b16af79 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong7f.tfm" 1247154072 1172 4fb15fe26ea6dad0b54285fd42fdf8b9 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong80.tfm" 1247154072 1172 bc023ebc9b121bce07974f18a4be28bc ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong81.tfm" 1247154072 1172 88aa66087396e79a2d9046555fe05ea9 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong82.tfm" 1247154072 1172 97758becb7742daa4b4c772be88e9009 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong86.tfm" 1247154072 1172 1c2dc910b8ad781a19e026043f33b0fe ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong88.tfm" 1247154072 1172 e80b61bcc19bffe1009dc0e70ca042e8 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong89.tfm" 1247154072 1172 8b185a44b25b68fee81f017ffd4f4c82 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8a.tfm" 1247154072 1172 a036683e790606984e21b7cb9523d25d ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8b.tfm" 1247154072 1172 cb1829d4415ae14a6d1b42840373e23a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8c.tfm" 1247154072 1172 ef00399cafeb3f8b6343803347ead58f ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8d.tfm" 1247154072 1172 766e8f05ddf433a70188e0789a492ab5 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8e.tfm" 1247154072 1172 9dfad4829b5a6e75e3e50384da3f5d00 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8f.tfm" 1247154072 1172 39abbbe02586d0f65fa39c19429184a6 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong90.tfm" 1247154072 1172 1dd258add692258fd748a53ff76ed075 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong91.tfm" 1247154072 1172 084e1e91aa4ae30efc415c3663943670 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong94.tfm" 1247154072 1172 00477fac41b20ed3dc624d7550b67f54 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong95.tfm" 1247154072 1172 b83dfb32a9b8d234282a0b11898d2c55 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong96.tfm" 1247154072 1172 97abce3faa5097f1401cb707f6f69600 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong97.tfm" 1247154072 1172 3322410a0eee91e13e02457b09378209 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong98.tfm" 1247154072 1172 0d85b1f7b78508ff1f0a5ef94e0aaca9 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong99.tfm" 1247154072 1172 445e3c81b2f1f84601e454216cbde866 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong9a.tfm" 1247154072 1172 37a3cd36cf03e67f393bee80b1370d05 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong9e.tfm" 1247154072 1172 e797949130fb017e573d6826989dff50 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisongff.tfm" 1247154072 1172 156175f4eaa9daea4e21b890ac9fafb8 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmbx12.pfb" 1247596666 32080 340ef9bf63678554ee606688e7b5339d ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmitt10.pfb" 1247596666 26057 fad158094905eaf20f4ae3782af0c45c ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmmi10.pfb" 1247596667 36299 5f9df58c2139e7edcf37c8fca4bd384d ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmmi8.pfb" 1247596666 35469 70d41d2b9ea31d5d813066df7c99281c ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1247596667 35752 024fb6c41858982481f6968b5fc26508 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmr12.pfb" 1247596667 32722 d7379af29a190c3f453aba36302ff5a9 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmtt10.pfb" 1247596667 31099 c85edf1dd5b9e826d67c9c7293b6786c ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmtt12.pfb" 1247596666 24252 1e4e051947e12dfb50fee0b7f4e26e3a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/context/base/mkii/supp-pdf.mkii" 1580390158 71627 94eb9990bed73c364d7f53f960cc8c5b ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/bigintcalc/bigintcalc.sty" 1576433602 40635 c40361e206be584d448876bba8a64a3b ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/bitset/bitset.sty" 1575926576 33961 6b5c75130e435b2bfdb9f480a09a39f9 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/ctex/zhmap/ctex-zhmap-windows.tex" 1657818410 5818 f8fc8b7a2383410fd5810f6ec6565186 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/gettitlestring/gettitlestring.sty" 1576433666 8371 9d55b8bd010bc717624922fb3477d92e ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/iftex/ifpdf.sty" 1734114575 480 5778104efadad304ced77548ca2184b1 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/iftex/iftex.sty" 1734114575 7984 7dbb9280f03c0a315425f1b4f35d43ee ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/iftex/ifvtex.sty" 1734114575 1057 525c2192b5febbd8c1f662c9468335bb ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/infwarerr/infwarerr.sty" 1575399508 8356 7bbb2c2373aa810be568c29e333da8ed ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/intcalc/intcalc.sty" 1576433764 31769 002a487f55041f8e805cfbf6385ffd97 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576763304 5412 d5a2436094cd7be85769db90f29250a6 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/ltxcmds/ltxcmds.sty" 1702206890 17865 1a9bd36b4f98178fa551aca822290953 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/pdfescape/pdfescape.sty" 1575926700 19007 15924f7228aca6c6d184b115f4baa231 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/pdftexcmds/pdftexcmds.sty" 1623005277 20089 80423eac55aa175305d35b49e04fe23b ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/stringenc/stringenc.sty" 1575105840 21514 b7557edcee22835ef6b03ede1802dad4 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/uniquecounter/uniquecounter.sty" 1576434012 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/00miktex/epstopdf-sys.cfg" 1616067285 584 2a1075dd71571459f59146da9f7502ad ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/amsmath/amsbsy.sty" 1750428994 2222 27db7d52163edae53881b71ff62e754e ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/amsmath/amsgen.sty" 1750428993 4173 1b3e76addfb8afcb47db4811d66e1dc6 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/amsmath/amsmath.sty" 1750428995 88401 0c3d1897569ad77cb9d8fb25b0bdf668 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/amsmath/amsopn.sty" 1750428994 4474 c510a88aa5f51b8c773b50a7ee92befd ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/amsmath/amstext.sty" 1750428995 2444 9983e1d0683f102e3b190c64a49313aa ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/article.cls" 1749467999 20144 b966087dda3b194755eb460d32e2ef75 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/fix-cm.sty" 1749467999 14741 6ad9efc94c78efc56749b0f059d15546 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/fontenc.sty" 1749467999 5275 2f50a1b91fdc3c2c6ff41843a6854061 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/ifthen.sty" 1749467999 5525 1593ca62a2554dd7423fc8a4e5a82125 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/inputenc.sty" 1749467999 5048 0270515b828149155424600fd2d58ac5 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/size12.clo" 1749467999 8449 8dc66c6c313c8eb2d774af83bca435dd ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/ts1enc.def" 1749467999 8090 bcb38b4f148e75e16d2c33225dbca53b ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/CJK.enc" 1670582841 29591 d67c9aa515f4260cdd60fa9f76d96368 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/CJK.sty" 1670582841 33241 3ee25f21824a4a347866900e5037d6f3 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/CJKspace.sty" 1670582841 2451 fef3f022e9041e00c5a6e0f269d142dd ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/CJKutf8.sty" 1670582841 24621 e1c0abd54a87918dd1e31a35b20e99e4 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/UTF8/UTF8.bdg" 1670582841 3857 eb1bacae4debef49a730cd935a17d208 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/UTF8/UTF8.chr" 1670582841 8601 48822bfc9ff5adbcc1c7f832dd920f29 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/UTF8/UTF8.enc" 1670582841 6111 5a99517ba8cc0c0905d3c54d7c7bcc48 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/mule/MULEenc.sty" 1670582841 12177 48c95ebf85a580326918e5eb490b477b ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjkpunct/CJKpunct.spa" 1463194434 7 7979211695692235f48c7d3ba95863ea ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjkpunct/CJKpunct.sty" 1463224796 17985 35c6beb757001c750ed764f3ac4ef0d6 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/config/ctex-name-utf8.cfg" 1657818410 1770 50e40a993c4c5ea72af9155aff7e605c ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/config/ctex.cfg" 1657818410 1230 140911b70e325208170dc573931e772d ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/config/ctexbackend.cfg" 1657818410 1904 e0018b8e661c6b3e37f6e4a53f472d74 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/config/ctexopts.cfg" 1657818410 1291 feb9a19ff907013e8b3014895a284585 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/ctexart.cls" 1657818410 55219 69f0e9646f7b8e2f2ed4c5f3eef59f5c ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/ctexhook.sty" 1657818410 6505 33157acfddefdd8fd513e2308e07a435 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/ctexpatch.sty" 1657818410 8448 194e901f66d106236c72ef098b091d00 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/ctexspa.def" 1657818410 10881 81f1c81c512ebcc46745af438dfa73d9 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/engine/ctex-engine-pdftex.def" 1657818410 20297 90a9347d15e74883d4c66bd8b9fe695e ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/fd/c70rm.fd" 1657818410 1820 94b600cf0e8675b72e2f47cdec13db0a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/fontset/ctex-fontset-windows.def" 1657818410 4952 f781dcade04ad6ae6d09fde004a752be ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/scheme/ctex-scheme-chinese-article.def" 1657818410 4622 4f152431881516d2a81822d98108b61f ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/enumitem/enumitem.sty" 1738917170 52272 63d293bc0d496619edb57585740861a2 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1623003186 13886 d1306dcf79a944f6988e688c1785f9ce ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/etoolbox/etoolbox.sty" 1739279216 46850 d87daedc2abdc653769a6f1067849fe0 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/fancyhdr/fancyhdr.sty" 1740138435 31715 19e60610b63819fe670dfa1cd84a4e94 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/geometry/geometry.cfg" 1578053545 1104 d237cad3f14be9fd91fe1f904d051a01 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/geometry/geometry.sty" 1578053545 42759 e63af52ccddba7489ac0e17d6a3344bd ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics-cfg/color.cfg" 1465894292 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics-cfg/graphics.cfg" 1465894292 1224 978390e9c2234eab29404bc21b268d1e ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics-def/pdftex.def" 1713599642 19440 9da9dcbb27470349a580fca7372d454b ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/color.sty" 1749322634 7245 a7e8457a46cda4920df85d975267efb4 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/graphics.sty" 1749322634 18363 69bb4f5538964bfea50d1e6d89cbe69f ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/graphicx.sty" 1749322634 8118 43b99e52946c33a23f5f43b52d5cc5ec ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/keyval.sty" 1749322634 2671 d9941f4bf4750e9b0603c9a2ec54693b ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/mathcolor.ltx" 1749322634 2885 9c645d672ae17285bba324998918efd8 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/trig.sty" 1749322634 4023 e66acf578d6b564c4670fb57ff336a7a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hycolor/hycolor.sty" 1580380792 18571 5a6205e2f490b14bdc73fa03b48f19d6 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hyperref/hpdftex.def" 1752319040 48140 5e8a3a4aa88ae09b90d524926a067201 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hyperref/hyperref.sty" 1752319040 223112 93e90b2b1b3ef21af41adaf029922dd3 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hyperref/nameref.sty" 1752319040 11027 0fe7ce2c6b5291fd809c2de7bbdca37e ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hyperref/pd1enc.def" 1752319041 14249 e14b403fb70abdf1f6742598a63b0e2a ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hyperref/puenc.def" 1752319041 117118 e2f5f7983a43f89e2ffcd709fc59d37c ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/kvoptions/kvoptions.sty" 1656236481 22555 6d8e155cfef6d82c3d5c742fea7c992e ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/kvsetkeys/kvsetkeys.sty" 1665066333 13815 760b0c02f691ea230f5359c4e1de23a7 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/l3backend/l3backend-pdftex.def" 1751005717 30351 a2b09edc6c93a742566b222c33d0278e ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/l3kernel/expl3.sty" 1758055987 6558 bec0a36183594509927de3d0194841f8 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/listings/listings.cfg" 1741168183 1865 301ae3c26fb8c0243307b619a6aa2dd3 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/listings/listings.sty" 1741168182 81640 997090b6c021dc4af9ee00a97b85c5b4 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/listings/lstlang1.sty" 1741168183 206518 4eb59a801ad842a713fa168c34227290 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/listings/lstmisc.sty" 1741168182 77051 be68720e5402397a830abb9eed5a2cb4 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/listings/lstpatch.sty" 1741168182 353 9024412f43e92cd5b21fe9ded82d0610 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/refcount/refcount.sty" 1576433952 9878 9e94e8fa600d95f9c7731bb21dfb67a4 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1751104012 9684 a33a14b82ce60d6e77cb9be689d79ee6 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/url/url.sty" 1388490452 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/xcolor/xcolor.sty" 1729265222 55384 b454dec21c2d9f45ec0b793f0995b992 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/zhmetrics/c70zhfs.fd" 1253728767 998 00d438c2ab2c3d6b03167dfc6defbbd4 ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/zhnumber/zhnumber-utf8.cfg" 1657817710 5700 603e2f09dad175efabc8594730623a0b ""
|
||||
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/zhnumber/zhnumber.sty" 1657817710 38160 aafa8d740e4f21b62a4acd4835e54359 ""
|
||||
"C:/WINDOWS/Fonts/msyh.ttc" 1753780693.17946 19704352 fa04b86eb9c632ef04217c3e43d81c4d ""
|
||||
"C:/WINDOWS/Fonts/simfang.ttf" 1711630440 10580176 decb47e7590859ba54ed4f18208e1ed7 ""
|
||||
"C:/WINDOWS/Fonts/simhei.ttf" 1711630440 9755440 186b27ff118e04e580eaad8ae78f2420 ""
|
||||
"C:/WINDOWS/Fonts/simsun.ttc" 1753780693.16377 18070492 1615784d420bffd42e8addd1714f7c6a ""
|
||||
"b1.png" 1760016100.1311 133511 c4d7015bc0ffd59062cc43dabb38dee0 ""
|
||||
"b2.png" 1760016308.25508 160026 1cb39dce57540fc47ade8fa5d67427df ""
|
||||
"b3.png" 1760017262.67962 146829 91f9628ae583b81275dd0f7fb2700bc5 ""
|
||||
"b41.png" 1762870341.84854 38634 6ab518edbcd4e070e4e9c7debc494b0e ""
|
||||
"e:/jizu/2025-fall-yatcpu-repo/lab1/实验报告/report.tex" 1762875590.50658 19013 53a6fb21429e9aa6b3f6f5a066409f4b ""
|
||||
"report.aux" 1762875597.9566 5906 e3292a3e7e0121d304f285d918f08e54 "pdflatex"
|
||||
"report.out" 1762875597.9586 2657 419e0e626d89895c61f1e0057f559761 "pdflatex"
|
||||
(generated)
|
||||
"report.aux"
|
||||
"report.log"
|
||||
"report.out"
|
||||
"report.pdf"
|
||||
(rewritten before read)
|
||||
602
lab1/实验报告/report.fls
Normal file
602
lab1/实验报告/report.fls
Normal file
@@ -0,0 +1,602 @@
|
||||
PWD E:\jizu\2025-fall-yatcpu-repo\lab1\实验报告
|
||||
INPUT C:\Users\26586\AppData\Local\MiKTeX\miktex\data\le\pdftex\pdflatex.fmt
|
||||
INPUT e:\jizu\2025-fall-yatcpu-repo\lab1\实验报告\report.tex
|
||||
OUTPUT report.log
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexart.cls
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexart.cls
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctexbackend.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctexbackend.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctexbackend.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\l3kernel\expl3.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\l3kernel\expl3.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\l3backend\l3backend-pdftex.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\l3backend\l3backend-pdftex.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\engine\ctex-engine-pdftex.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexhook.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexhook.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr10.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexpatch.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexpatch.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\fix-cm.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\fix-cm.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\ts1enc.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr10.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctexopts.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctexopts.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\article.cls
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\article.cls
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\size12.clo
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\size12.clo
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\size12.clo
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr12.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\engine\ctex-engine-pdftex.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJKutf8.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJKutf8.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\ifpdf.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\ifpdf.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\iftex.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\iftex.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\inputenc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\inputenc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJK.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJK.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\mule\MULEenc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\mule\MULEenc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJK.enc
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\fontenc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\fontenc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjkpunct\CJKpunct.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjkpunct\CJKpunct.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjkpunct\CJKpunct.spa
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjkpunct\CJKpunct.spa
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjkpunct\CJKpunct.spa
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJKspace.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJKspace.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr10.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.bdg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.bdg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexspa.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexspa.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\hyperref.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhnumber\zhnumber.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhnumber\zhnumber.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhnumber\zhnumber-utf8.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhnumber\zhnumber-utf8.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\scheme\ctex-scheme-chinese-article.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\scheme\ctex-scheme-chinese-article.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctex-name-utf8.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctex-name-utf8.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\fontset\ctex-fontset-windows.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\fontset\ctex-fontset-windows.def
|
||||
INPUT C:\WINDOWS\Fonts\msyh.ttc
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctex.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctex.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\geometry\geometry.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\geometry\geometry.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\keyval.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\keyval.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\ifvtex.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\ifvtex.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\geometry\geometry.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\geometry\geometry.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\geometry\geometry.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\graphicx.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\graphicx.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\graphics.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\graphics.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\trig.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\trig.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\graphics.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\graphics.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\graphics.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-def\pdftex.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-def\pdftex.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-def\pdftex.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsmath.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsmath.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsopn.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amstext.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amstext.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsgen.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsgen.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsbsy.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsbsy.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsopn.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\listings.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\listings.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstpatch.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstpatch.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstpatch.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\listings.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\listings.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\listings.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\xcolor\xcolor.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\xcolor\xcolor.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\color.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\color.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\color.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\mathcolor.ltx
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\mathcolor.ltx
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\mathcolor.ltx
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\hyperref.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\kvsetkeys\kvsetkeys.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\kvsetkeys\kvsetkeys.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\kvdefinekeys\kvdefinekeys.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\kvdefinekeys\kvdefinekeys.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\pdfescape\pdfescape.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\pdfescape\pdfescape.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\ltxcmds\ltxcmds.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\ltxcmds\ltxcmds.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\pdftexcmds\pdftexcmds.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\pdftexcmds\pdftexcmds.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\infwarerr\infwarerr.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\infwarerr\infwarerr.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hycolor\hycolor.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hycolor\hycolor.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\nameref.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\nameref.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\refcount\refcount.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\refcount\refcount.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\gettitlestring\gettitlestring.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\gettitlestring\gettitlestring.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\kvoptions\kvoptions.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\kvoptions\kvoptions.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\etoolbox\etoolbox.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\etoolbox\etoolbox.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\stringenc\stringenc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\stringenc\stringenc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\pd1enc.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\pd1enc.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\pd1enc.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\intcalc\intcalc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\intcalc\intcalc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\puenc.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\puenc.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\puenc.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\url\url.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\url\url.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\bitset\bitset.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\bitset\bitset.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\bigintcalc\bigintcalc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\bigintcalc\bigintcalc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\hpdftex.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\hpdftex.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\hpdftex.def
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\rerunfilecheck\rerunfilecheck.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\rerunfilecheck\rerunfilecheck.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\uniquecounter\uniquecounter.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\uniquecounter\uniquecounter.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\fancyhdr\fancyhdr.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\fancyhdr\fancyhdr.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\enumitem\enumitem.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\enumitem\enumitem.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\ifthen.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\ifthen.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.enc
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.enc
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.chr
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.chr
|
||||
INPUT .\report.aux
|
||||
INPUT .\report.aux
|
||||
INPUT report.aux
|
||||
OUTPUT report.aux
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\context\base\mkii\supp-pdf.mkii
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\context\base\mkii\supp-pdf.mkii
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\context\base\mkii\supp-pdf.mkii
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\epstopdf-pkg\epstopdf-base.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\epstopdf-pkg\epstopdf-base.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\00miktex\epstopdf-sys.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\00miktex\epstopdf-sys.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\00miktex\epstopdf-sys.cfg
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\color.sty
|
||||
INPUT .\report.out
|
||||
INPUT .\report.out
|
||||
INPUT report.out
|
||||
INPUT report.out
|
||||
OUTPUT report.pdf
|
||||
INPUT .\report.out
|
||||
INPUT .\report.out
|
||||
OUTPUT report.out
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\fd\c70rm.fd
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\fd\c70rm.fd
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\fd\c70rm.fd
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong9a.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong4e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisongff.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong53.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong54.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong67.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong73.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\ctex\zhmap\ctex-zhmap-windows.tex
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\ctex\zhmap\ctex-zhmap-windows.tex
|
||||
INPUT C:\Users\26586\AppData\Local\MiKTeX\fonts\map\pdftex\pdftex.map
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\sfd\ttf2pk\UGBK.sfd
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\sfd\ttf2pk\Unicode.sfd
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr17.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmbx12.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei9a.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\uniheiff.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei53.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei54.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei67.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei73.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr12.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmmi12.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmsy10.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmex10.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\amsfonts\cmextra\cmex7.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong67.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong68.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6d.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong53.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisongff.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong65.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr17.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmbx12.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei9a.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei76.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong65.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong57.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6d.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong51.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong74.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong89.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong63.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong96.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong76.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5d.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong4f.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong30.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong68.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong62.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong90.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong52.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong7e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong78.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong88.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong56.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6a.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8d.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8f.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong75.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8a.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong7f.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmtt12.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5f.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong80.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong60.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei73.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei58.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\jknappen\ec\tcrm1200.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmbx12.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei64.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4f.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei7c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei7e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5f.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei53.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5d.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei51.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei67.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei77.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6d.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei96.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei52.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei80.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong71.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong69.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong86.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong66.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei63.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong7a.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong50.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong94.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong9e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong82.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei78.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong64.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong97.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei62.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei88.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong7b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong81.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei56.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6a.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei57.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei67.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmbx12.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei53.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei63.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei52.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei80.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei73.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei89.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei70.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong98.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmtt10.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6c.tfm
|
||||
INPUT .\b1.png
|
||||
INPUT .\b1.png
|
||||
INPUT .\b1.png
|
||||
INPUT .\b1.png
|
||||
INPUT .\b1.png
|
||||
INPUT .\b1.png
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei78.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong95.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong59.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong7c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr10.tfm
|
||||
INPUT .\b2.png
|
||||
INPUT .\b2.png
|
||||
INPUT .\b2.png
|
||||
INPUT .\b2.png
|
||||
INPUT .\b2.png
|
||||
INPUT .\b2.png
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei62.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei88.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong70.tfm
|
||||
INPUT .\b3.png
|
||||
INPUT .\b3.png
|
||||
INPUT .\b3.png
|
||||
INPUT .\b3.png
|
||||
INPUT .\b3.png
|
||||
INPUT .\b3.png
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6a.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei57.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6d.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei7e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei51.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6d.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\uniheiff.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei52.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei67.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong99.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong79.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong91.tfm
|
||||
INPUT .\b2.png
|
||||
INPUT .\b2.png
|
||||
INPUT .\b2.png
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei65.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4f.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmtt12.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei7a.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstlang1.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstlang1.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstlang1.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmitt10.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhmetrics\c70zhfs.fd
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhmetrics\c70zhfs.fd
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhmetrics\c70zhfs.fd
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs5c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs4c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs3c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei68.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei65.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong77.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs6c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs2c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs6b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs8f.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs4e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs65.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs94.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs54.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs67.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr8.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr6.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmmi10.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmmi8.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmmi6.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmsy10.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmsy8.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmsy6.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmex10.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\amsfonts\cmextra\cmex8.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\amsfonts\cmextra\cmex7.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs57.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs8b.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs51.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs76.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs63.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong72.tfm
|
||||
INPUT .\b41.png
|
||||
INPUT .\b41.png
|
||||
INPUT .\b41.png
|
||||
INPUT .\b41.png
|
||||
INPUT .\b41.png
|
||||
INPUT .\b41.png
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei90.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei95.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei98.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei65.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8f.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5e.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei95.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei98.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\uniheiff.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei75.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei59.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei30.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei7f.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8c.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei76.tfm
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8e.tfm
|
||||
INPUT report.aux
|
||||
INPUT .\report.out
|
||||
INPUT .\report.out
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simfang.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\Users\26586\AppData\Local\MiKTeX\fonts\pk\ljfour\jknappen\ec\dpi600\tcrm1200.pk
|
||||
INPUT C:\Users\26586\AppData\Local\MiKTeX\fonts\pk\ljfour\jknappen\ec\dpi600\tcrm1200.pk
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simhei.ttf
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\WINDOWS\Fonts\simsun.ttc
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmbx12.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmbx12.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmitt10.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmitt10.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmmi10.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmmi10.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmmi8.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmmi8.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmr10.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmr10.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmr12.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmr12.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmtt10.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmtt10.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmtt12.pfb
|
||||
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmtt12.pfb
|
||||
BIN
lab1/朱梓涵24325356.rar
Normal file
BIN
lab1/朱梓涵24325356.rar
Normal file
Binary file not shown.
70
lab1/朱梓涵24325356/core/ALU.scala
Normal file
70
lab1/朱梓涵24325356/core/ALU.scala
Normal file
@@ -0,0 +1,70 @@
|
||||
// Copyright 2021 Howard Lau
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package riscv.core
|
||||
|
||||
import chisel3._
|
||||
import chisel3.experimental.ChiselEnum
|
||||
import chisel3.util._
|
||||
import riscv.Parameters
|
||||
|
||||
object ALUFunctions extends ChiselEnum {
|
||||
val zero, add, sub, sll, slt, xor, or, and, srl, sra, sltu = Value
|
||||
}
|
||||
|
||||
class ALU extends Module {
|
||||
val io = IO(new Bundle {
|
||||
val func = Input(ALUFunctions())
|
||||
|
||||
val op1 = Input(UInt(Parameters.DataWidth))
|
||||
val op2 = Input(UInt(Parameters.DataWidth))
|
||||
|
||||
val result = Output(UInt(Parameters.DataWidth))
|
||||
})
|
||||
|
||||
io.result := 0.U
|
||||
switch(io.func) {
|
||||
is(ALUFunctions.add) {
|
||||
io.result := io.op1 + io.op2
|
||||
}
|
||||
is(ALUFunctions.sub) {
|
||||
io.result := io.op1 - io.op2
|
||||
}
|
||||
is(ALUFunctions.sll) {
|
||||
io.result := io.op1 << io.op2(4, 0)
|
||||
}
|
||||
is(ALUFunctions.slt) {
|
||||
io.result := io.op1.asSInt < io.op2.asSInt
|
||||
}
|
||||
is(ALUFunctions.xor) {
|
||||
io.result := io.op1 ^ io.op2
|
||||
}
|
||||
is(ALUFunctions.or) {
|
||||
io.result := io.op1 | io.op2
|
||||
}
|
||||
is(ALUFunctions.and) {
|
||||
io.result := io.op1 & io.op2
|
||||
}
|
||||
is(ALUFunctions.srl) {
|
||||
io.result := io.op1 >> io.op2(4, 0)
|
||||
}
|
||||
is(ALUFunctions.sra) {
|
||||
io.result := (io.op1.asSInt >> io.op2(4, 0)).asUInt
|
||||
}
|
||||
is(ALUFunctions.sltu) {
|
||||
io.result := io.op1 < io.op2
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
86
lab1/朱梓涵24325356/core/ALUControl.scala
Normal file
86
lab1/朱梓涵24325356/core/ALUControl.scala
Normal file
@@ -0,0 +1,86 @@
|
||||
// Copyright 2021 Howard Lau
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package riscv.core
|
||||
|
||||
import chisel3._
|
||||
import chisel3.util._
|
||||
|
||||
class ALUControl extends Module {
|
||||
val io = IO(new Bundle {
|
||||
val opcode = Input(UInt(7.W))
|
||||
val funct3 = Input(UInt(3.W))
|
||||
val funct7 = Input(UInt(7.W))
|
||||
|
||||
val alu_funct = Output(ALUFunctions())
|
||||
})
|
||||
|
||||
io.alu_funct := ALUFunctions.zero
|
||||
|
||||
switch(io.opcode) {
|
||||
is(InstructionTypes.I) {
|
||||
io.alu_funct := MuxLookup(
|
||||
io.funct3,
|
||||
ALUFunctions.zero,
|
||||
IndexedSeq(
|
||||
InstructionsTypeI.addi -> ALUFunctions.add,
|
||||
InstructionsTypeI.slli -> ALUFunctions.sll,
|
||||
InstructionsTypeI.slti -> ALUFunctions.slt,
|
||||
InstructionsTypeI.sltiu -> ALUFunctions.sltu,
|
||||
InstructionsTypeI.xori -> ALUFunctions.xor,
|
||||
InstructionsTypeI.ori -> ALUFunctions.or,
|
||||
InstructionsTypeI.andi -> ALUFunctions.and,
|
||||
InstructionsTypeI.sri -> Mux(io.funct7(5), ALUFunctions.sra, ALUFunctions.srl)
|
||||
),
|
||||
)
|
||||
}
|
||||
is(InstructionTypes.RM) {
|
||||
io.alu_funct := MuxLookup(
|
||||
io.funct3,
|
||||
ALUFunctions.zero,
|
||||
IndexedSeq(
|
||||
InstructionsTypeR.add_sub -> Mux(io.funct7(5), ALUFunctions.sub, ALUFunctions.add),
|
||||
InstructionsTypeR.sll -> ALUFunctions.sll,
|
||||
InstructionsTypeR.slt -> ALUFunctions.slt,
|
||||
InstructionsTypeR.sltu -> ALUFunctions.sltu,
|
||||
InstructionsTypeR.xor -> ALUFunctions.xor,
|
||||
InstructionsTypeR.or -> ALUFunctions.or,
|
||||
InstructionsTypeR.and -> ALUFunctions.and,
|
||||
InstructionsTypeR.sr -> Mux(io.funct7(5), ALUFunctions.sra, ALUFunctions.srl)
|
||||
),
|
||||
)
|
||||
}
|
||||
is(InstructionTypes.B) {
|
||||
io.alu_funct := ALUFunctions.add
|
||||
}
|
||||
is(InstructionTypes.L) {
|
||||
io.alu_funct := ALUFunctions.add
|
||||
}
|
||||
is(InstructionTypes.S) {
|
||||
io.alu_funct := ALUFunctions.add
|
||||
}
|
||||
is(Instructions.jal) {
|
||||
io.alu_funct := ALUFunctions.add
|
||||
}
|
||||
is(Instructions.jalr) {
|
||||
io.alu_funct := ALUFunctions.add
|
||||
}
|
||||
is(Instructions.lui) {
|
||||
io.alu_funct := ALUFunctions.add
|
||||
}
|
||||
is(Instructions.auipc) {
|
||||
io.alu_funct := ALUFunctions.add
|
||||
}
|
||||
}
|
||||
}
|
||||
82
lab1/朱梓涵24325356/core/CPU.scala
Normal file
82
lab1/朱梓涵24325356/core/CPU.scala
Normal file
@@ -0,0 +1,82 @@
|
||||
// Copyright 2021 Howard Lau
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package riscv.core
|
||||
|
||||
import chisel3._
|
||||
import chisel3.util.Cat
|
||||
import riscv.{CPUBundle, Parameters}
|
||||
|
||||
class CPU extends Module {
|
||||
val io = IO(new CPUBundle)
|
||||
|
||||
val regs = Module(new RegisterFile)
|
||||
val inst_fetch = Module(new InstructionFetch)
|
||||
val id = Module(new InstructionDecode)
|
||||
val ex = Module(new Execute)
|
||||
val mem = Module(new MemoryAccess)
|
||||
val wb = Module(new WriteBack)
|
||||
|
||||
|
||||
io.deviceSelect := mem.io.memory_bundle.address(Parameters.AddrBits - 1, Parameters.AddrBits - Parameters.SlaveDeviceCountBits)
|
||||
|
||||
inst_fetch.io.jump_address_id := ex.io.if_jump_address
|
||||
inst_fetch.io.jump_flag_id := ex.io.if_jump_flag
|
||||
inst_fetch.io.instruction_valid := io.instruction_valid
|
||||
inst_fetch.io.instruction_read_data := io.instruction
|
||||
io.instruction_address := inst_fetch.io.instruction_address
|
||||
|
||||
regs.io.write_enable := id.io.reg_write_enable
|
||||
regs.io.write_address := id.io.reg_write_address
|
||||
regs.io.write_data := wb.io.regs_write_data
|
||||
regs.io.read_address1 := id.io.regs_reg1_read_address
|
||||
regs.io.read_address2 := id.io.regs_reg2_read_address
|
||||
|
||||
regs.io.debug_read_address := io.debug_read_address
|
||||
io.debug_read_data := regs.io.debug_read_data
|
||||
|
||||
id.io.instruction := inst_fetch.io.instruction
|
||||
|
||||
// lab1(cpu)
|
||||
|
||||
ex.io.instruction := inst_fetch.io.instruction
|
||||
ex.io.instruction_address := inst_fetch.io.instruction_address
|
||||
ex.io.reg1_data := regs.io.read_data1
|
||||
ex.io.reg2_data := regs.io.read_data2
|
||||
ex.io.immediate := id.io.ex_immediate
|
||||
ex.io.aluop1_source := id.io.ex_aluop1_source
|
||||
ex.io.aluop2_source := id.io.ex_aluop2_source
|
||||
|
||||
|
||||
|
||||
// lab1(cpu) end
|
||||
|
||||
|
||||
mem.io.alu_result := ex.io.mem_alu_result
|
||||
mem.io.reg2_data := regs.io.read_data2
|
||||
mem.io.memory_read_enable := id.io.memory_read_enable
|
||||
mem.io.memory_write_enable := id.io.memory_write_enable
|
||||
mem.io.funct3 := inst_fetch.io.instruction(14, 12)
|
||||
|
||||
io.memory_bundle.address := Cat(0.U(Parameters.SlaveDeviceCountBits.W),mem.io.memory_bundle.address(Parameters.AddrBits - 1 - Parameters.SlaveDeviceCountBits, 0))
|
||||
io.memory_bundle.write_enable := mem.io.memory_bundle.write_enable
|
||||
io.memory_bundle.write_data := mem.io.memory_bundle.write_data
|
||||
io.memory_bundle.write_strobe := mem.io.memory_bundle.write_strobe
|
||||
mem.io.memory_bundle.read_data := io.memory_bundle.read_data
|
||||
|
||||
wb.io.instruction_address := inst_fetch.io.instruction_address
|
||||
wb.io.alu_result := ex.io.mem_alu_result
|
||||
wb.io.memory_read_data := mem.io.wb_memory_read_data
|
||||
wb.io.regs_write_source := id.io.wb_reg_write_source
|
||||
}
|
||||
81
lab1/朱梓涵24325356/core/Execute.scala
Normal file
81
lab1/朱梓涵24325356/core/Execute.scala
Normal file
@@ -0,0 +1,81 @@
|
||||
// Copyright 2021 Howard Lau
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package riscv.core
|
||||
|
||||
import chisel3._
|
||||
import chisel3.util.{Cat, MuxLookup}
|
||||
import riscv.Parameters
|
||||
|
||||
class Execute extends Module {
|
||||
val io = IO(new Bundle {
|
||||
val instruction = Input(UInt(Parameters.InstructionWidth))
|
||||
val instruction_address = Input(UInt(Parameters.AddrWidth))
|
||||
val reg1_data = Input(UInt(Parameters.DataWidth))
|
||||
val reg2_data = Input(UInt(Parameters.DataWidth))
|
||||
val immediate = Input(UInt(Parameters.DataWidth))
|
||||
val aluop1_source = Input(UInt(1.W))
|
||||
val aluop2_source = Input(UInt(1.W))
|
||||
|
||||
val mem_alu_result = Output(UInt(Parameters.DataWidth))
|
||||
val if_jump_flag = Output(Bool())
|
||||
val if_jump_address = Output(UInt(Parameters.DataWidth))
|
||||
})
|
||||
|
||||
val opcode = io.instruction(6, 0)
|
||||
val funct3 = io.instruction(14, 12)
|
||||
val funct7 = io.instruction(31, 25)
|
||||
val rd = io.instruction(11, 7)
|
||||
val uimm = io.instruction(19, 15)
|
||||
|
||||
val alu = Module(new ALU)
|
||||
val alu_ctrl = Module(new ALUControl)
|
||||
|
||||
alu_ctrl.io.opcode := opcode
|
||||
alu_ctrl.io.funct3 := funct3
|
||||
alu_ctrl.io.funct7 := funct7
|
||||
|
||||
// lab1(Execute)
|
||||
alu.io.func := alu_ctrl.io.alu_funct
|
||||
alu.io.op1 := Mux(
|
||||
io.aluop1_source === ALUOp1Source.Register,
|
||||
io.reg1_data,
|
||||
io.instruction_address
|
||||
)
|
||||
alu.io.op2 := Mux(
|
||||
io.aluop2_source === ALUOp2Source.Register,
|
||||
io.reg2_data,
|
||||
io.immediate
|
||||
)
|
||||
|
||||
|
||||
// lab1(Execute) end
|
||||
|
||||
io.mem_alu_result := alu.io.result
|
||||
io.if_jump_flag := opcode === Instructions.jal ||
|
||||
(opcode === Instructions.jalr) ||
|
||||
(opcode === InstructionTypes.B) && MuxLookup(
|
||||
funct3,
|
||||
false.B,
|
||||
IndexedSeq(
|
||||
InstructionsTypeB.beq -> (io.reg1_data === io.reg2_data),
|
||||
InstructionsTypeB.bne -> (io.reg1_data =/= io.reg2_data),
|
||||
InstructionsTypeB.blt -> (io.reg1_data.asSInt < io.reg2_data.asSInt),
|
||||
InstructionsTypeB.bge -> (io.reg1_data.asSInt >= io.reg2_data.asSInt),
|
||||
InstructionsTypeB.bltu -> (io.reg1_data.asUInt < io.reg2_data.asUInt),
|
||||
InstructionsTypeB.bgeu -> (io.reg1_data.asUInt >= io.reg2_data.asUInt)
|
||||
)
|
||||
)
|
||||
io.if_jump_address := io.immediate + Mux(opcode === Instructions.jalr, io.reg1_data, io.instruction_address)
|
||||
}
|
||||
205
lab1/朱梓涵24325356/core/InstructionDecode.scala
Normal file
205
lab1/朱梓涵24325356/core/InstructionDecode.scala
Normal file
@@ -0,0 +1,205 @@
|
||||
// Copyright 2021 Howard Lau
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package riscv.core
|
||||
|
||||
import chisel3._
|
||||
import chisel3.util._
|
||||
import riscv.Parameters
|
||||
|
||||
object InstructionTypes {
|
||||
val L = "b0000011".U
|
||||
val I = "b0010011".U
|
||||
val S = "b0100011".U
|
||||
val RM = "b0110011".U
|
||||
val B = "b1100011".U
|
||||
}
|
||||
|
||||
object Instructions {
|
||||
val lui = "b0110111".U
|
||||
val nop = "b0000001".U
|
||||
val jal = "b1101111".U
|
||||
val jalr = "b1100111".U
|
||||
val auipc = "b0010111".U
|
||||
val csr = "b1110011".U
|
||||
val fence = "b0001111".U
|
||||
}
|
||||
|
||||
object InstructionsTypeL {
|
||||
val lb = "b000".U
|
||||
val lh = "b001".U
|
||||
val lw = "b010".U
|
||||
val lbu = "b100".U
|
||||
val lhu = "b101".U
|
||||
}
|
||||
|
||||
object InstructionsTypeI {
|
||||
val addi = 0.U
|
||||
val slli = 1.U
|
||||
val slti = 2.U
|
||||
val sltiu = 3.U
|
||||
val xori = 4.U
|
||||
val sri = 5.U
|
||||
val ori = 6.U
|
||||
val andi = 7.U
|
||||
}
|
||||
|
||||
object InstructionsTypeS {
|
||||
val sb = "b000".U
|
||||
val sh = "b001".U
|
||||
val sw = "b010".U
|
||||
}
|
||||
|
||||
object InstructionsTypeR {
|
||||
val add_sub = 0.U
|
||||
val sll = 1.U
|
||||
val slt = 2.U
|
||||
val sltu = 3.U
|
||||
val xor = 4.U
|
||||
val sr = 5.U
|
||||
val or = 6.U
|
||||
val and = 7.U
|
||||
}
|
||||
|
||||
object InstructionsTypeM {
|
||||
val mul = 0.U
|
||||
val mulh = 1.U
|
||||
val mulhsu = 2.U
|
||||
val mulhum = 3.U
|
||||
val div = 4.U
|
||||
val divu = 5.U
|
||||
val rem = 6.U
|
||||
val remu = 7.U
|
||||
}
|
||||
|
||||
object InstructionsTypeB {
|
||||
val beq = "b000".U
|
||||
val bne = "b001".U
|
||||
val blt = "b100".U
|
||||
val bge = "b101".U
|
||||
val bltu = "b110".U
|
||||
val bgeu = "b111".U
|
||||
}
|
||||
|
||||
object InstructionsTypeCSR {
|
||||
val csrrw = "b001".U
|
||||
val csrrs = "b010".U
|
||||
val csrrc = "b011".U
|
||||
val csrrwi = "b101".U
|
||||
val csrrsi = "b110".U
|
||||
val csrrci = "b111".U
|
||||
}
|
||||
|
||||
object InstructionsNop {
|
||||
val nop = 0x00000013L.U(Parameters.DataWidth)
|
||||
}
|
||||
|
||||
object InstructionsRet {
|
||||
val mret = 0x30200073L.U(Parameters.DataWidth)
|
||||
val ret = 0x00008067L.U(Parameters.DataWidth)
|
||||
}
|
||||
|
||||
object InstructionsEnv {
|
||||
val ecall = 0x00000073L.U(Parameters.DataWidth)
|
||||
val ebreak = 0x00100073L.U(Parameters.DataWidth)
|
||||
}
|
||||
|
||||
object ALUOp1Source {
|
||||
val Register = 0.U(1.W)
|
||||
val InstructionAddress = 1.U(1.W)
|
||||
}
|
||||
|
||||
object ALUOp2Source {
|
||||
val Register = 0.U(1.W)
|
||||
val Immediate = 1.U(1.W)
|
||||
}
|
||||
|
||||
object RegWriteSource {
|
||||
val ALUResult = 0.U(2.W)
|
||||
val Memory = 1.U(2.W)
|
||||
//val CSR = 2.U(2.W)
|
||||
val NextInstructionAddress = 3.U(2.W)
|
||||
}
|
||||
|
||||
class InstructionDecode extends Module {
|
||||
val io = IO(new Bundle {
|
||||
val instruction = Input(UInt(Parameters.InstructionWidth))
|
||||
|
||||
val regs_reg1_read_address = Output(UInt(Parameters.PhysicalRegisterAddrWidth))
|
||||
val regs_reg2_read_address = Output(UInt(Parameters.PhysicalRegisterAddrWidth))
|
||||
val ex_immediate = Output(UInt(Parameters.DataWidth))
|
||||
val ex_aluop1_source = Output(UInt(1.W))
|
||||
val ex_aluop2_source = Output(UInt(1.W))
|
||||
val memory_read_enable = Output(Bool())
|
||||
val memory_write_enable = Output(Bool())
|
||||
val wb_reg_write_source = Output(UInt(2.W))
|
||||
val reg_write_enable = Output(Bool())
|
||||
val reg_write_address = Output(UInt(Parameters.PhysicalRegisterAddrWidth))
|
||||
})
|
||||
val opcode = io.instruction(6, 0)
|
||||
val funct3 = io.instruction(14, 12)
|
||||
val funct7 = io.instruction(31, 25)
|
||||
val rd = io.instruction(11, 7)
|
||||
val rs1 = io.instruction(19, 15)
|
||||
val rs2 = io.instruction(24, 20)
|
||||
|
||||
io.regs_reg1_read_address := Mux(opcode === Instructions.lui, 0.U(Parameters.PhysicalRegisterAddrWidth), rs1)
|
||||
io.regs_reg2_read_address := rs2
|
||||
val immediate = MuxLookup(
|
||||
opcode,
|
||||
Cat(Fill(20, io.instruction(31)), io.instruction(31, 20)),
|
||||
IndexedSeq(
|
||||
InstructionTypes.I -> Cat(Fill(21, io.instruction(31)), io.instruction(30, 20)),
|
||||
InstructionTypes.L -> Cat(Fill(21, io.instruction(31)), io.instruction(30, 20)),
|
||||
Instructions.jalr -> Cat(Fill(21, io.instruction(31)), io.instruction(30, 20)),
|
||||
InstructionTypes.S -> Cat(Fill(21, io.instruction(31)), io.instruction(30, 25), io.instruction(11, 7)),
|
||||
InstructionTypes.B -> Cat(Fill(20, io.instruction(31)), io.instruction(7), io.instruction(30, 25), io.instruction(11, 8), 0.U(1.W)),
|
||||
Instructions.lui -> Cat(io.instruction(31, 12), 0.U(12.W)),
|
||||
Instructions.auipc -> Cat(io.instruction(31, 12), 0.U(12.W)),
|
||||
Instructions.jal -> Cat(Fill(12, io.instruction(31)), io.instruction(19, 12), io.instruction(20), io.instruction(30, 21), 0.U(1.W))
|
||||
)
|
||||
)
|
||||
io.ex_immediate := immediate
|
||||
io.ex_aluop1_source := Mux(
|
||||
opcode === Instructions.auipc || opcode === InstructionTypes.B || opcode === Instructions.jal,
|
||||
ALUOp1Source.InstructionAddress,
|
||||
ALUOp1Source.Register
|
||||
)
|
||||
|
||||
// lab1(InstructionDecode)
|
||||
io.ex_aluop2_source := Mux(opcode === InstructionTypes.RM,
|
||||
ALUOp2Source.Register,
|
||||
ALUOp2Source.Immediate
|
||||
)
|
||||
// 仅当指令是 Load 类型时,才使能内存读。
|
||||
io.memory_read_enable := opcode === InstructionTypes.L
|
||||
// 仅当指令是 Store 类型时,才使能内存写。
|
||||
io.memory_write_enable := opcode === InstructionTypes.S
|
||||
// 根据指令类型,选择写回寄存器的数据来源。
|
||||
io.wb_reg_write_source := MuxLookup(
|
||||
opcode,
|
||||
RegWriteSource.ALUResult // 默认来源是ALU计算结果
|
||||
)( // 使用新的 MuxLookup 语法
|
||||
IndexedSeq(
|
||||
InstructionTypes.L -> RegWriteSource.Memory, // Load 指令来源是内存
|
||||
Instructions.jal -> RegWriteSource.NextInstructionAddress, // jal/jalr 来源是下一条指令地址 (PC+4)
|
||||
Instructions.jalr -> RegWriteSource.NextInstructionAddress
|
||||
)
|
||||
)
|
||||
// lab1(InstructionDecode) end
|
||||
io.reg_write_enable := (opcode === InstructionTypes.RM) || (opcode === InstructionTypes.I) ||
|
||||
(opcode === InstructionTypes.L) || (opcode === Instructions.auipc) || (opcode === Instructions.lui) ||
|
||||
(opcode === Instructions.jal) || (opcode === Instructions.jalr)
|
||||
io.reg_write_address := io.instruction(11, 7)
|
||||
}
|
||||
55
lab1/朱梓涵24325356/core/InstructionFetch.scala
Normal file
55
lab1/朱梓涵24325356/core/InstructionFetch.scala
Normal file
@@ -0,0 +1,55 @@
|
||||
// Copyright 2021 Howard Lau
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package riscv.core
|
||||
|
||||
import chisel3._
|
||||
import riscv.Parameters
|
||||
|
||||
object ProgramCounter {
|
||||
val EntryAddress = Parameters.EntryAddress
|
||||
}
|
||||
|
||||
class InstructionFetch extends Module {
|
||||
val io = IO(new Bundle {
|
||||
val jump_flag_id = Input(Bool())
|
||||
val jump_address_id = Input(UInt(Parameters.AddrWidth))
|
||||
val instruction_read_data = Input(UInt(Parameters.DataWidth))
|
||||
val instruction_valid = Input(Bool())
|
||||
|
||||
val instruction_address = Output(UInt(Parameters.AddrWidth))
|
||||
val instruction = Output(UInt(Parameters.InstructionWidth))
|
||||
})
|
||||
val pc = RegInit(ProgramCounter.EntryAddress)
|
||||
|
||||
when(io.instruction_valid) {
|
||||
io.instruction := io.instruction_read_data
|
||||
// lab1(InstructionFetch)
|
||||
|
||||
when(io.jump_flag_id) {
|
||||
pc := io.jump_address_id
|
||||
}.otherwise {
|
||||
pc := pc + 4.U
|
||||
}
|
||||
|
||||
|
||||
// la1(InstructionFetch) end
|
||||
|
||||
|
||||
}.otherwise{
|
||||
pc := pc
|
||||
io.instruction := 0x00000013.U
|
||||
}
|
||||
io.instruction_address := pc
|
||||
}
|
||||
106
lab1/朱梓涵24325356/core/MemoryAccess.scala
Normal file
106
lab1/朱梓涵24325356/core/MemoryAccess.scala
Normal file
@@ -0,0 +1,106 @@
|
||||
// Copyright 2022 Canbin Huang
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package riscv.core
|
||||
|
||||
import chisel3._
|
||||
import chisel3.util._
|
||||
import peripheral.RAMBundle
|
||||
import riscv.Parameters
|
||||
|
||||
class MemoryAccess extends Module {
|
||||
val io = IO(new Bundle() {
|
||||
val alu_result = Input(UInt(Parameters.DataWidth))
|
||||
val reg2_data = Input(UInt(Parameters.DataWidth))
|
||||
val memory_read_enable = Input(Bool())
|
||||
val memory_write_enable = Input(Bool())
|
||||
val funct3 = Input(UInt(3.W))
|
||||
|
||||
val wb_memory_read_data = Output(UInt(Parameters.DataWidth))
|
||||
|
||||
val memory_bundle = Flipped(new RAMBundle)
|
||||
})
|
||||
val mem_address_index = io.alu_result(log2Up(Parameters.WordSize) - 1, 0).asUInt
|
||||
|
||||
io.memory_bundle.write_enable := false.B
|
||||
io.memory_bundle.write_data := 0.U
|
||||
io.memory_bundle.address := io.alu_result
|
||||
io.memory_bundle.write_strobe := VecInit(Seq.fill(Parameters.WordSize)(false.B))
|
||||
io.wb_memory_read_data := 0.U
|
||||
|
||||
when(io.memory_read_enable) {
|
||||
val data = io.memory_bundle.read_data
|
||||
io.wb_memory_read_data := MuxLookup(
|
||||
io.funct3,
|
||||
0.U,
|
||||
IndexedSeq(
|
||||
InstructionsTypeL.lb -> MuxLookup(
|
||||
mem_address_index,
|
||||
Cat(Fill(24, data(31)), data(31, 24)),
|
||||
IndexedSeq(
|
||||
0.U -> Cat(Fill(24, data(7)), data(7, 0)),
|
||||
1.U -> Cat(Fill(24, data(15)), data(15, 8)),
|
||||
2.U -> Cat(Fill(24, data(23)), data(23, 16))
|
||||
)
|
||||
),
|
||||
InstructionsTypeL.lbu -> MuxLookup(
|
||||
mem_address_index,
|
||||
Cat(Fill(24, 0.U), data(31, 24)),
|
||||
IndexedSeq(
|
||||
0.U -> Cat(Fill(24, 0.U), data(7, 0)),
|
||||
1.U -> Cat(Fill(24, 0.U), data(15, 8)),
|
||||
2.U -> Cat(Fill(24, 0.U), data(23, 16))
|
||||
)
|
||||
),
|
||||
InstructionsTypeL.lh -> Mux(
|
||||
mem_address_index === 0.U,
|
||||
Cat(Fill(16, data(15)), data(15, 0)),
|
||||
Cat(Fill(16, data(31)), data(31, 16))
|
||||
|
||||
),
|
||||
InstructionsTypeL.lhu -> Mux(
|
||||
mem_address_index === 0.U,
|
||||
Cat(Fill(16, 0.U), data(15, 0)),
|
||||
Cat(Fill(16, 0.U), data(31, 16))
|
||||
),
|
||||
InstructionsTypeL.lw -> data
|
||||
)
|
||||
)
|
||||
}.elsewhen(io.memory_write_enable) {
|
||||
io.memory_bundle.write_data := io.reg2_data
|
||||
io.memory_bundle.write_enable := true.B
|
||||
io.memory_bundle.write_strobe := VecInit(Seq.fill(Parameters.WordSize)(false.B))
|
||||
when(io.funct3 === InstructionsTypeS.sb) {
|
||||
io.memory_bundle.write_strobe(mem_address_index) := true.B
|
||||
io.memory_bundle.write_data := io.reg2_data(Parameters.ByteBits, 0) << (mem_address_index << log2Up(Parameters.ByteBits).U)
|
||||
}.elsewhen(io.funct3 === InstructionsTypeS.sh) {
|
||||
when(mem_address_index === 0.U) {
|
||||
for (i <- 0 until Parameters.WordSize / 2) {
|
||||
io.memory_bundle.write_strobe(i) := true.B
|
||||
}
|
||||
io.memory_bundle.write_data := io.reg2_data(Parameters.WordSize / 2 * Parameters.ByteBits, 0)
|
||||
}.otherwise {
|
||||
for (i <- Parameters.WordSize / 2 until Parameters.WordSize) {
|
||||
io.memory_bundle.write_strobe(i) := true.B
|
||||
}
|
||||
io.memory_bundle.write_data := io.reg2_data(Parameters.WordSize / 2 * Parameters.ByteBits, 0) << (Parameters
|
||||
.WordSize / 2 * Parameters.ByteBits)
|
||||
}
|
||||
}.elsewhen(io.funct3 === InstructionsTypeS.sw) {
|
||||
for (i <- 0 until Parameters.WordSize) {
|
||||
io.memory_bundle.write_strobe(i) := true.B
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
70
lab1/朱梓涵24325356/core/RegisterFile.scala
Normal file
70
lab1/朱梓涵24325356/core/RegisterFile.scala
Normal file
@@ -0,0 +1,70 @@
|
||||
// Copyright 2021 Howard Lau
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package riscv.core
|
||||
|
||||
import chisel3._
|
||||
import riscv.Parameters
|
||||
|
||||
object Registers extends Enumeration {
|
||||
type Register = Value
|
||||
val zero,
|
||||
ra, sp, gp, tp,
|
||||
t0, t1, t2, fp,
|
||||
s1,
|
||||
a0, a1, a2, a3, a4, a5, a6, a7,
|
||||
s2, s3, s4, s5, s6, s7, s8, s9, s10, s11,
|
||||
t3, t4, t5, t6 = Value
|
||||
}
|
||||
|
||||
class RegisterFile extends Module {
|
||||
val io = IO(new Bundle {
|
||||
val write_enable = Input(Bool())
|
||||
val write_address = Input(UInt(Parameters.PhysicalRegisterAddrWidth))
|
||||
val write_data = Input(UInt(Parameters.DataWidth))
|
||||
|
||||
val read_address1 = Input(UInt(Parameters.PhysicalRegisterAddrWidth))
|
||||
val read_address2 = Input(UInt(Parameters.PhysicalRegisterAddrWidth))
|
||||
val read_data1 = Output(UInt(Parameters.DataWidth))
|
||||
val read_data2 = Output(UInt(Parameters.DataWidth))
|
||||
|
||||
val debug_read_address = Input(UInt(Parameters.PhysicalRegisterAddrWidth))
|
||||
val debug_read_data = Output(UInt(Parameters.DataWidth))
|
||||
})
|
||||
val registers = RegInit(VecInit(Seq.fill(Parameters.PhysicalRegisters)(0.U(Parameters.DataWidth))))
|
||||
|
||||
when(!reset.asBool) {
|
||||
when(io.write_enable && io.write_address =/= 0.U) {
|
||||
registers(io.write_address) := io.write_data
|
||||
}
|
||||
}
|
||||
|
||||
io.read_data1 := Mux(
|
||||
io.read_address1 === 0.U,
|
||||
0.U,
|
||||
registers(io.read_address1)
|
||||
)
|
||||
|
||||
io.read_data2 := Mux(
|
||||
io.read_address2 === 0.U,
|
||||
0.U,
|
||||
registers(io.read_address2)
|
||||
)
|
||||
|
||||
io.debug_read_data := Mux(
|
||||
io.debug_read_address === 0.U,
|
||||
0.U,
|
||||
registers(io.debug_read_address)
|
||||
)
|
||||
}
|
||||
37
lab1/朱梓涵24325356/core/WriteBack.scala
Normal file
37
lab1/朱梓涵24325356/core/WriteBack.scala
Normal file
@@ -0,0 +1,37 @@
|
||||
// Copyright 2022 Canbin Huang
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package riscv.core
|
||||
|
||||
import chisel3._
|
||||
import chisel3.util._
|
||||
import riscv.Parameters
|
||||
|
||||
class WriteBack extends Module {
|
||||
val io = IO(new Bundle() {
|
||||
val instruction_address = Input(UInt(Parameters.AddrWidth))
|
||||
val alu_result = Input(UInt(Parameters.DataWidth))
|
||||
val memory_read_data = Input(UInt(Parameters.DataWidth))
|
||||
val regs_write_source = Input(UInt(2.W))
|
||||
val regs_write_data = Output(UInt(Parameters.DataWidth))
|
||||
})
|
||||
io.regs_write_data := MuxLookup(
|
||||
io.regs_write_source,
|
||||
io.alu_result,
|
||||
IndexedSeq(
|
||||
RegWriteSource.Memory -> io.memory_read_data,
|
||||
RegWriteSource.NextInstructionAddress -> (io.instruction_address + 4.U)
|
||||
)
|
||||
)
|
||||
}
|
||||
BIN
lab1/朱梓涵24325356/report.pdf
Normal file
BIN
lab1/朱梓涵24325356/report.pdf
Normal file
Binary file not shown.
204
lab1/测试文件报告.tex
Normal file
204
lab1/测试文件报告.tex
Normal file
@@ -0,0 +1,204 @@
|
||||
\section{测试文件}
|
||||
\label{sec:testing}
|
||||
|
||||
CPUTest.scala 测试了整个 CPU 运行三个程序的正确性。本节选择其中两个程序的运行进行详细分析,查看 csrc 文件夹下对应 C 文件的内容,概述该程序做了什么,执行结果如何在 Chisel 测试中被检查;在测试波形图上简单分析其执行,并说明波形图最后几个周期检查执行结果时的波形。
|
||||
|
||||
\subsection{整体测试框架}
|
||||
|
||||
CPUTest.scala 定义了三个主要的测试类:FibonacciTest、QuicksortTest 和 ByteAccessTest。每个测试都基于 ChiselTest 框架,通过 TestTopModule 作为顶层模块来驱动 CPU 执行相应的程序。测试框架的核心结构如下:
|
||||
|
||||
\begin{lstlisting}[caption={CPUTest.scala 测试框架结构}, style=ScalaChiselStyle]
|
||||
class TestTopModule(exeFilename: String) extends Module {
|
||||
val io = IO(new Bundle {
|
||||
val mem_debug_read_address = Input(UInt(Parameters.AddrWidth))
|
||||
val regs_debug_read_address = Input(UInt(Parameters.PhysicalRegisterAddrWidth))
|
||||
val regs_debug_read_data = Output(UInt(Parameters.DataWidth))
|
||||
val mem_debug_read_data = Output(UInt(Parameters.DataWidth))
|
||||
})
|
||||
// 实例化内存、指令ROM、CPU等模块
|
||||
// 提供调试接口用于验证执行结果
|
||||
}
|
||||
\end{lstlisting}
|
||||
|
||||
测试框架通过调试接口读取内存和寄存器的值,与预期结果进行比较,从而验证 CPU 执行程序的正确性。
|
||||
|
||||
\subsection{斐波那契数列计算测试}
|
||||
|
||||
\subsubsection{程序功能分析}
|
||||
|
||||
fibonacci.c 程序实现了一个递归计算斐波那契数列的功能。程序代码如下:
|
||||
|
||||
\begin{lstlisting}[language=C, caption={fibonacci.c 程序代码}, style=CStyle]
|
||||
int fib(int a) {
|
||||
if (a == 1 || a == 2) return 1;
|
||||
return fib(a - 1) + fib(a - 2);
|
||||
}
|
||||
|
||||
int main() {
|
||||
*(int *)(4) = fib(10);
|
||||
}
|
||||
\end{lstlisting}
|
||||
|
||||
该程序通过递归算法计算斐波那契数列的第 10 项(fib(10)),并将结果存储到内存地址 0x4 处。斐波那契数列的递归定义为:
|
||||
\begin{itemize}
|
||||
\item fib(1) = 1
|
||||
\item fib(2) = 1
|
||||
\item fib(n) = fib(n-1) + fib(n-2) (n > 2)
|
||||
\end{itemize}
|
||||
|
||||
因此,fib(10) 的计算结果为 55。
|
||||
|
||||
\subsubsection{测试结果检查}
|
||||
|
||||
在 FibonacciTest 中,测试代码通过以下方式检查结果:
|
||||
|
||||
\begin{lstlisting}[caption={斐波那契测试的结果检查}, style=ScalaChiselStyle]
|
||||
c.io.mem_debug_read_address.poke(4.U)
|
||||
c.clock.step()
|
||||
c.io.mem_debug_read_data.expect(55.U)
|
||||
\end{lstlisting}
|
||||
|
||||
测试首先执行 50,000 个时钟周期(50 × 1000),确保递归计算完成。然后通过内存调试接口读取地址 0x4 的值,验证是否为预期的 55。
|
||||
|
||||
\subsubsection{波形图分析}
|
||||
|
||||
基于 VCD 文件分析,斐波那契程序执行过程中的关键信号包括:
|
||||
|
||||
\begin{itemize}
|
||||
\item \texttt{cpu\_io\_instruction\_address}:程序计数器值,显示指令执行流程
|
||||
\item \texttt{mem\_io\_bundle\_write\_enable}:内存写使能信号,标识数据写入操作
|
||||
\item \texttt{mem\_io\_bundle\_address}:内存访问地址
|
||||
\item \texttt{mem\_io\_bundle\_write\_data}:要写入内存的数据
|
||||
\item \texttt{io\_mem\_debug\_read\_data}:调试接口读取的内存数据
|
||||
\end{itemize}
|
||||
|
||||
在程序执行的最后阶段,可以观察到:
|
||||
\begin{enumerate}
|
||||
\item \texttt{mem\_io\_bundle\_write\_enable} 信号置高,表示正在进行内存写入
|
||||
\item \texttt{mem\_io\_bundle\_address} 显示为 0x00000004,写入地址为 4
|
||||
\item \texttt{mem\_io\_bundle\_write\_data} 显示为 0x00000037(十进制 55),即 fib(10) 的计算结果
|
||||
\item 调试接口 \texttt{io\_mem\_debug\_read\_data} 最终稳定显示 0x00000037
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{快速排序算法测试}
|
||||
|
||||
\subsubsection{程序功能分析}
|
||||
|
||||
quicksort.c 程序实现了快速排序算法,对 10 个整数进行排序:
|
||||
|
||||
\begin{lstlisting}[language=C, caption={quicksort.c 程序代码}, style=CStyle]
|
||||
void quicksort(int *arr, int l, int r) {
|
||||
if (l >= r) return;
|
||||
int pivot = arr[l];
|
||||
int i = l, j = r;
|
||||
while (i < j) {
|
||||
while(arr[j] >= pivot && i < j) --j;
|
||||
arr[i] = arr[j];
|
||||
while(arr[i] < pivot && i < j) ++i;
|
||||
arr[j] = arr[i];
|
||||
}
|
||||
arr[i] = pivot;
|
||||
quicksort(arr, l, i - 1);
|
||||
quicksort(arr, i + 1, r);
|
||||
}
|
||||
|
||||
int main() {
|
||||
int nums[10];
|
||||
// 初始化数组:[6, 2, 4, 5, 3, 1, 0, 9, 7, 8]
|
||||
nums[0] = 6; nums[1] = 2; nums[2] = 4; nums[3] = 5;
|
||||
nums[4] = 3; nums[5] = 1; nums[6] = 0; nums[7] = 9;
|
||||
nums[8] = 7; nums[9] = 8;
|
||||
|
||||
quicksort(nums, 0, 9);
|
||||
|
||||
// 将排序结果写入内存地址 4, 8, 12, ..., 40
|
||||
for (int i = 1; i <= 10; ++i) {
|
||||
*(int *)(i * 4) = nums[i - 1];
|
||||
}
|
||||
}
|
||||
\end{lstlisting}
|
||||
|
||||
程序将初始数组 [6, 2, 4, 5, 3, 1, 0, 9, 7, 8] 排序为 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],然后将结果依次写入内存地址 4, 8, 12, ..., 40。
|
||||
|
||||
\subsubsection{测试结果检查}
|
||||
|
||||
在 QuicksortTest 中,测试代码验证排序结果:
|
||||
|
||||
\begin{lstlisting}[caption={快速排序测试的结果检查}, style=ScalaChiselStyle]
|
||||
for (i <- 1 to 10) {
|
||||
c.io.mem_debug_read_address.poke((4 * i).U)
|
||||
c.clock.step()
|
||||
c.io.mem_debug_read_data.expect((i - 1).U)
|
||||
}
|
||||
\end{lstlisting}
|
||||
|
||||
测试循环读取内存地址 4, 8, 12, ..., 40 的值,期望得到 0, 1, 2, ..., 9,验证排序的正确性。
|
||||
|
||||
\subsubsection{波形图分析}
|
||||
|
||||
快速排序程序执行过程中的关键信号变化:
|
||||
\begin{itemize}
|
||||
\item 多次内存写入操作,\texttt{mem\_io\_bundle\_write\_enable} 信号周期性置高
|
||||
\item \texttt{mem\_io\_bundle\_address} 依次显示 0x00000004, 0x00000008, ..., 0x00000028
|
||||
\item \texttt{mem\_io\_bundle\_write\_data} 依次显示 0x00000000, 0x00000001, ..., 0x00000009
|
||||
\item 调试接口验证阶段,\texttt{io\_mem\_debug\_read\_data} 依次显示正确的排序值
|
||||
\end{itemize}
|
||||
|
||||
\subsection{字节访问测试}
|
||||
|
||||
\subsubsection{程序功能分析}
|
||||
|
||||
ByteAccessTest 测试 CPU 对单个字节的存储和加载功能,验证字节级内存访问的正确性。该测试使用 sb.asmbin 程序,主要测试 Store Byte (sb) 和 Load Byte (lb) 指令。
|
||||
|
||||
\subsubsection{测试结果检查}
|
||||
|
||||
测试通过寄存器调试接口验证字节操作的正确性:
|
||||
|
||||
\begin{lstlisting}[caption={字节访问测试的结果检查}, style=ScalaChiselStyle]
|
||||
c.io.regs_debug_read_address.poke(5.U)
|
||||
c.io.regs_debug_read_data.expect(0xDEADBEEFL.U)
|
||||
c.io.regs_debug_read_address.poke(6.U)
|
||||
c.io.regs_debug_read_data.expect(0xEF.U)
|
||||
c.io.regs_debug_read_address.poke(1.U)
|
||||
c.io.regs_debug_read_data.expect(0x15EF.U)
|
||||
\end{lstlisting}
|
||||
|
||||
测试验证了字节存储和加载操作对寄存器值的影响,确保字节级内存访问的正确实现。
|
||||
|
||||
\subsection{波形图截取建议}
|
||||
|
||||
基于 VCD 文件分析,建议截取以下关键波形图:
|
||||
|
||||
\begin{enumerate}
|
||||
\item \textbf{斐波那契程序执行结果写入阶段}
|
||||
\begin{itemize}
|
||||
\item 信号:\texttt{mem\_io\_bundle\_write\_enable}, \texttt{mem\_io\_bundle\_address}, \texttt{mem\_io\_bundle\_write\_data}
|
||||
\item 时间点:程序最后几个周期,fib(10) 结果写入内存地址 0x4
|
||||
\item 特征:写使能置高,地址为 0x00000004,数据为 0x00000037
|
||||
\end{itemize}
|
||||
|
||||
\item \textbf{快速排序程序内存写入序列}
|
||||
\begin{itemize}
|
||||
\item 信号:\texttt{mem\_io\_bundle\_write\_enable}, \texttt{mem\_io\_bundle\_address}, \texttt{mem\_io\_bundle\_write\_data}
|
||||
\item 时间点:排序完成后,结果依次写入内存的阶段
|
||||
\item 特征:连续的写操作,地址递增,数据为排序后的序列 0-9
|
||||
\end{itemize}
|
||||
|
||||
\item \textbf{调试接口读取阶段}
|
||||
\begin{itemize}
|
||||
\item 信号:\texttt{io\_mem\_debug\_read\_address}, \texttt{io\_mem\_debug\_read\_data}
|
||||
\item 时间点:测试的最后阶段,验证执行结果
|
||||
\item 特征:调试地址变化,对应数据正确显示
|
||||
\end{itemize}
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{测试总结}
|
||||
|
||||
CPUTest.scala 通过三个不同复杂度的测试程序全面验证了单周期 CPU 的功能:
|
||||
\begin{itemize}
|
||||
\item \textbf{斐波那契测试}验证了 CPU 的递归函数调用能力,包括栈操作、参数传递和返回值处理
|
||||
\item \textbf{快速排序测试}验证了 CPU 的数组处理、循环控制和复杂算法执行能力
|
||||
\item \textbf{字节访问测试}验证了 CPU 对不同类型内存访问指令的支持
|
||||
\end{itemize}
|
||||
|
||||
所有测试都通过内存和寄存器调试接口验证执行结果,确保 CPU 能够正确执行各种程序。波形图分析显示了程序执行过程中的关键信号变化,验证了数据通路的正确性和控制信号的时序准确性。
|
||||
9
lab4/.claude/settings.local.json
Normal file
9
lab4/.claude/settings.local.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(sbt \"testOnly *BusTest\")"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
}
|
||||
}
|
||||
124
lab4/要求.txt
Normal file
124
lab4/要求.txt
Normal file
@@ -0,0 +1,124 @@
|
||||
在本实验中,您将学习到:
|
||||
|
||||
AXI4-Lite 协议
|
||||
使用状态机实现总线协议
|
||||
在开始实现 AXI4-Lite 总线协议前,请您阅读 总线 以了解 AXI4-Lite 协议的基本知识。
|
||||
|
||||
不管使用 IDE 还是执行命令,根目录是 lab4 文件夹。
|
||||
|
||||
框架与接口总览🚁
|
||||
|
||||
|
||||
本实验中使用 AXI4-Lite 协议通信的框架图
|
||||
|
||||
为了使基于多周期流水线的 CPU 拥有使用 AXI4-Lite 协议与外部通信的能力,本实验中修改了 CPU 部件之间、CPU与外部设备之间 的通信框架,如上图所示: 左侧的 CPU 和右侧的 内存模块使用 AXI4-Lite 协议通信,但 AXI4-Lite 的通信协议较为复杂,我们将 AXI4-Lite 的通信实现包装在类 AXI4LiteMaster 和 AXI4LiteSlave 中,使得需要调用 AXI4-Lite 通信的硬件直接使用这两个类即可。
|
||||
|
||||
在 AXI4LiteMaster 和 AXI4LiteSlave 之间通信的接口是 AXI4LiteChannels ,其包含 AXI4-Lite 所定义的 5 个通道及相应信号线。当您实现自己的 AXI4LiteMaster 和 AXI4LiteSlave 后,您的硬件设备就可以和其他厂商的设备进行通信,只要其支持 AXI4-Lite 协议。
|
||||
|
||||
AXI4LiteSlaveBundle 和 AXI4LiteMasterBundle 是本实验中硬件操纵 AXI4LiteMaster 和 AXI4LiteSlave 的接口,其接口定义比 AXI4-Lite 简单得多,为的就是用简单地把读写操作告知 AXI4LiteMaster 或 AXI4LiteSlave,并由它们执行。
|
||||
|
||||
为让您更好地理解,上面的框架可以比作用户用不同语言向手机输入消息,手机通过无线网络传输信息。CPU 内需要通信的部件如同一个用户,需要和另一个用户 —— 内存进行通信,于是我们开发了一种遵循无线通信协议的手机,手机对应于 AXI4LiteMaster 和 AXI4LiteSlave,通信协议则对应于符合 AXI4-Lite 规范的 AXI4LiteChannels 。用户使用语音输入,即 CPU 或 内存通过 两个 Bundle 将读写操作告知 AXI4LiteMaster 和 AXI4LiteSlave,而两台手机之间的通信则对应总线上以 AXI4-Lite 的通信。
|
||||
|
||||
您在此处的工作就是打造一部这样的手机,使得不仅两台您造出的手机能相互通信,也能和其他厂商的手机进行通信。
|
||||
|
||||
|
||||
|
||||
将本实验 AXI4-Lite 通信框架比作用户通过语音输入消息通信
|
||||
|
||||
设备与 AXI4LiteMaster 和 AXI4LiteSlave 通信🚁
|
||||
这一部分对应上图类比中如何实现不同 用户☺️ 语音输入到 手机📱 的部分。
|
||||
|
||||
主机侧(Master)的通信接口在 AXI4Lite.scala 中 AXI4LiteMasterBundle定义,各信号含义为:
|
||||
|
||||
信号 含义及时序要求
|
||||
address 读或写地址
|
||||
read 执行读操作,每个操作该信号置1持续1周期
|
||||
write 执行写操作,每个操作该信号置1持续1周期
|
||||
read_data/write_data 读写数据
|
||||
write_strobe 写选通
|
||||
read_valid 读完成,当从设备返回数据时,该信号置1持续1周期
|
||||
write_valid 写完成,当从设备确认写入后,该信号置1持续1周期
|
||||
busy AXI4LiteMaster正忙,暂不接收任何读写请求
|
||||
这样,CPU 作为主动发出读写请求的一方,其通过 read, write, write_data 和 address 发出请求,并等待 [read|write]_valid 信号以得知操作完成。 相应地,内存、定时器、键盘等作为被动接收读写请求的一方,其需要提供 read_data 和 [read|write]_valid 信号。
|
||||
|
||||
为什么需要 valid 信号
|
||||
|
||||
valid 信号指示数据有效或操作完成。例如读操作完成并在 read_data 传回数据时,需要 read_valid 来指示此时 read_data 上是有效的数据。这一方面是因为 read_data 不会一直保持,另一方面也不知道读请求发送后过多久能读回。 read_valid 的作用就像提醒您外卖到了的短信。
|
||||
|
||||
用状态机实现总线协议🚁
|
||||
本实验的主要内容就是实现 AXI4-Lite 总线协议里面的主从设备间的读写流程的状态转换。 这对应之前类比中手机📱 间通过某种无线协议进行通信。
|
||||
|
||||
为简单起见,我们使用状态机来实现 AXI4 接口,即 AXI4LiteMaster 和 AXI4LiteSlave 用状态机实现,在握手完成时进行状态转换,以此逐个完成事务。 我们给出一个可参考的状态机,如下图,左图是主设备总线接口的状态机,右图是从设备总线接口的状态机:
|
||||
|
||||
axi-fsm
|
||||
|
||||
进行一次读操作🚁
|
||||
现在我们以 CPU 取指令过程为例,说明如何进行一次读操作。
|
||||
|
||||
首先,取指阶段(IF)发出取指信号,包括将 AXI4LiteMasterBundle 的 read 置 1,并将 PC 送至 address, 此时 CPU 的 AXI 主机(AXI Master)收到 IF 的信号,主机内部状态由空闲(Idle)跳转到 读地址状态 (ReadAddr),产生并发送读请求 (ARVALID)、读地址 (ARADDR)。
|
||||
|
||||
当内存模块的从机(AXI Slave) 收到 ARVALID 时,其内部状态跳转至 读地址状态 (ReadAddr),保存 ARADDR ,并将 读地址准备(ARREADY) 信号置 1 表明读地址已收取,此时即完成了一次握手,并完成读地址的传输。获取读取地址后,从机通过 AXI4LiteSlaveBundle 告知内存芯片读取指定位置的数据,并等待读操作完成。
|
||||
|
||||
当内存芯片读回数据时,其通过 read_valid 和 read_data 传回。从机 跳转至 读数据状态 (ReadData) ,将读回数据传入 读数据 (RDATA)、读返回请求 (RVALID);主机此时也转移至 读数据状态 (ReadData),并将 RREADY 置 1,表明准备好接收读出的数据。
|
||||
|
||||
当主机发现 RVALID 和 RREADY 均为 1 时完成握手,其将读出数据 RDATA 通过 AXI4LiteMasterBundle 的 read_data 传回至 IF,同时将 read_valid 置 1 持续 1 个时钟,表明这次读取操作成功,随后主机重返空闲。
|
||||
|
||||
另一边,当从机发现 RVALID 和 RREADY完成握手时,其也重返空闲状态。
|
||||
|
||||
当主机不在空闲状态时,其将 busy 置 1,“婉拒”期间到来的请求。
|
||||
|
||||
如何进行写操作🚁
|
||||
相比读操作,写操作的流程还需写反馈的握手,若您理解了读操作的机制,写操作应不成问题。
|
||||
|
||||
状态机的具体实现
|
||||
|
||||
我们提供了灵活的测试方法,主从机的状态转换可以不必按照上面所说的一字不差,只需要能达到测试中要求的读写正确、功能正常即可。您可观察测试产生的波形图,从而优化实现以减少读写操作的周期数,甚至跳过某些上述的主从机状态。
|
||||
|
||||
总线上的 MMIO🚁
|
||||
CPU 的内存空间按地址划分为多个部分,分别与不同设备通信。目前的实验代码中,CPU 使用地址的高 3 位以选择设备:b000 映射至内存,b010映射至 UART,b100 映射至定时器。
|
||||
|
||||
BusSwitch.scala 中包含了已实现上述功能的多选交换器,具体的接线在各 Top.scala 中满足了上面说明的映射关系。
|
||||
|
||||
把总线加到流水线上🚁
|
||||
从预备知识里面我们知道了需要有总线仲裁这个模块,来协调总线主机响应来自 CPU 哪个阶段的读写请求信号。
|
||||
|
||||
目前我们的流水线上,无论是三级还是五级,都只存在 取指单元 和 访存单元 之间的冲突。这显然也是一种结构冲突(Structural Hazard),所以可以用 Lab 3 实验中解决冲突的思路:阻塞流水线以保证指令流的执行,即如果访存阶段没有占用总线,取指单元 才能够取指。
|
||||
|
||||
实验任务🚁
|
||||
根据前面的主从设备状态机,实验代码框架已准备好相应寄存器及 IO 接口,您主要关注实现状态机。 若您修改或改进了主从设备状态机,您应简述其逻辑或给出相应图例。
|
||||
|
||||
实验任务:实现 AXI4-Lite 协议主从机
|
||||
|
||||
主从设备的代码位于 src/main/scala/bus/AXI4Lite.scala,请在标有 //lab4 (BUS) 的注释处,实现AXI4Lite主从机的内部逻辑,并:
|
||||
|
||||
通过 src\test\scala\riscv 下的 BusTest.scala,和三级、五级流水线下的 CPUTest.scala 中的测试
|
||||
查看 BusTest 中 FunctionalTest 输出的读写事务消耗了多少个周期
|
||||
查看 CPUTest 中 Fibonacci 和 Quicksort 输出的消耗时钟周期
|
||||
如何检测自己实现的 AXI4-Lite 主从机正确性
|
||||
|
||||
上一版的测试代码要求严格按照给定状态机实现,这一版提供了允许自由实现 AXI4-Lite 协议的测试,并加入测量读写事务耗时的功能。
|
||||
|
||||
若您发现代码无法通过测试,可以查看 BusTest.scala 中 FunctionalTest 产生的波形图,并查看相应通道的信号,来了解自己实现能否完成最基本的读和写操作。该方法也可助您改进实现,减少读写操作的周期数。
|
||||
|
||||
实验报告🚁
|
||||
简述您的 AXI4-Lite 主从机实现逻辑。如果有,描述您通过什么方法改进了实现及性能提升。
|
||||
简要概括BusTest中测试的原理,以及测试用例的执行结果。
|
||||
【可选】参考硬件调试一节的内容,用硬件波形的方法捕获程序运行结果。分析 Vivado 是否能正确识别并组合 AXI4 总线协议的传输信号以及过程。
|
||||
在完成实验的过程中,遇到的关于实验指导不明确或者其他问题,或者改进的建议。
|
||||
更多关于总线的知识🚁
|
||||
实际上把总线加到我们原来的 CPU 上后,会发现 IPC 大幅下降。
|
||||
|
||||
主要原因是总线握手花费了大量的时间。而 AXI4-Lite 协议又是 AXI4 协议的简化版本。为了实现上的简单,所以没有实现突发传输(burst)的功能,所以每次最多读写一个数据总线宽度的数据,即每次都需要重新进行各个读写通道的握手,导致效率很低。
|
||||
|
||||
解决的一个办法就是加缓存。根据局部性原理,我们可以为取值单元与内存之间加上指令 Cache(I-cache),为访存单元与内存间加上数据 Cache(D-cache),这样就可以加速数据的存取。
|
||||
|
||||
而这样的实现方案里面 D-cache 和 I-cache 同样是需要通过总线访问内存的。但是由于 Cache 是以 Cache Line 为单位存取的。假设一个 Cache Line 为 128 字节,当我们的总线数据位宽为 4 字节的时候,填充缓存行需要从内存读 128 / 4 = 32 次, 并且这每一次需要重新进行读地址握手、读数据握手。而 AXI4 协议就是在AXI4-Lite的基础上加上了 Burst 的功能,即在读写请求中可以指定传送数据的个数,从指定地址传连续的多个数据给从机, 而读数据握手时,就可以连续获取相应的那么多个数据。这样的协议就是突发传输(burst),为了实现这个协议,主从设备为了握手通信,需要设置更多的寄存器(指定读取数据个数的 RLEN,指示是否为最后一个数据的 RLAST 等),状态机转换也需要更为复杂。
|
||||
|
||||
这样一来我们从两个方面来加速我们的 CPU,一是 Cache,我们不需要通过总线来获取数据;二是实现完整的 AXI4 协议。而从理论上来说,如果实现了 Cache 而没有实现 AXI4 的 burst 机制,加速效果也不会很明显。所以可以先实现 Cache 然后实现 burst 来体会一下。
|
||||
|
||||
What's next?🚁
|
||||
同学们在完成了本实验后,就应该具备根据状态转移图来实现状态机的能力了。如果有兴趣的话,可以尝试一下实现简单的 Cache,然后再实现 burst。包括后面希望实现 MMU,最简单的实现也可以用状态机来实现。所以,你可以放开手脚在 YatCPU 的基础上探索了(当然你也可以自己从头实现)。
|
||||
|
||||
实现好总线模块的逻辑后,你可以尝试给 Lab 3 的基础上或者是给 Lab 2 的 CPU 接上总线(现有的 YatCPU 的五阶段流水线+总线代码里面的一些逻辑问题在 Lab 3 实验代码中修复了,但是还没有合并到主仓库,Lab 4 用的还是主仓库现有的代码)
|
||||
|
||||
此外同学们也可以思考如何做CPU设计架构的优化,比如现在的 CPU 只有 ID 和 MemoryAccess 阶段对总线有需求,所以总线仲裁比较简单(集成在 CPU.scala 里了)。但是如果后面再加上 MMU,那么 CPU 的总线主机模块应该由哪个模块使用,这部分逻辑就会变得更复杂点,而这部分逻辑其实是可以单独拿出来实现的。
|
||||
Reference in New Issue
Block a user