-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
10/8 ·s®Ñ¨ì¡I 10/1 ·s®Ñ¨ì¡I 9/24 ·s®Ñ¨ì¡I 9/18 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

¶}·½RISC-V³B²z¾¹¬[ºc¤ÀªR»PÅçÃÒ

( ²Åé ¦r)
§@ªÌ¡G§d¼yªi¡B±i¤Z¡B±i¯d¬v¡B§d³ß¼sÃþ§O¡G1. -> ¹q¸£²Õ´»PÅé¨tµ²ºc -> ³æ´¹¤ù -> RISC-V
ĶªÌ¡G
¥Xª©ªÀ¡G²MµØ¤j¾Ç¥Xª©ªÀ¶}·½RISC-V³B²z¾¹¬[ºc¤ÀªR»PÅçÃÒ 3dWoo®Ñ¸¹¡G 56339
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¦³®w¦s¡j
NT°â»ù¡G 395 ¤¸

¥Xª©¤é¡G1/1/2024
­¶¼Æ¡G608
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787302626497
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

RISCúQV¬O°ò¤_ºë²«ü¥O­ì«hªº¶}·½«ü¥O¶°¬[ºc¡C¸Ó¶µ¥Ø2010¦~©l¤_¥[¦{¤j¾Ç§B§J§Q¤À®Õ¡Aªö¥Î¶}·½BSD License¡CRISCúQV«ü¥O¶°¥i¦Û¥Ñ¦a¥Î¤_¥ô¦ó¥Øªº¡A¤¹³\¥ô¦ó¤H³]­p¡B¨î³y¡B¾P°âRISCúQVªä¤ù©M³n¥ó¡A¦Ó¤£¥²¤ä¥Iµ¹¥ô¦ó¤½¥q±M§Q¶O¡C¨ä¥Ø¼Ð¬O¦¨¬°¤@­Ó³q¥Îªº«ü¥O¶°¬[ºc¡A¯à¾AÀ³¥]¬A±q³Ì³S¬Ãªº´O¤J¦¡±±¨î¾¹¨ì³Ì§Öªº°ª©Ê¯à­pºâ¾÷µ¥¦UºØ³W¼Òªº³B²z¾¹¡C»P²{¦³¨ä¥L«ü¥O¶°¬[ºc¬Û¤ñ¡ARISCúQV¬[ºc¦³µÛÂA©úªº¯SÂI©MÀu¶Õ¡C
¡]1¡^ ¶}·½©M§K¶O¡C¶}·½·N¨ýµÛ¶}µoªÌ¥i¥H°w¹ï¯S©wÀ³¥Î³õ´º¶i¦æ©w¨îÀu¤Æ¡A§K¶O·N¨ýµÛRISCúQV¥i¥HÀ°§U¶}µoªÌ¦³®Ä­°§CCPU³]­p¦¨¥»¡C
¡]2¡^ ¼Ò¶ô¤Æ©M²¼ä¡C¼Ò¶ô¤Æ³]­p©M²¼äªº°ò¦«ü¥O¥i¥HÅý¨Ï¥ÎRISCúQV§Þ³Nªºªä¤ù³]­pªÌ¶}µo¥X«Ü²³æªºRISCúQV CPU¡A¯S§O¬O¦b´O¤J¦¡©Mª«Ápºô¡]Internet of Things,IoT¡^µ¥»â°ì¹ï¥\¯Ó©M¥N½XÅé¿n¦³¸û°ª­­¨îªºÀ³¥Î³õ´º¡C
¡]3¡^ ÆF¬¡©M¥iÂX®i©Ê¡CRISCúQV¬[ºc¹w¯d¤j¶qªº½s½XªÅ¶¡¥Î¤_¦Û©w¸qÂX®i¡A¦}©w¸q¤F4±ø¥Î¤á«ü¥O¨Ñ¥Î¤áª½±µ¨Ï¥Î¡A¸Ó¯S©Ê¦b¦w¥þ©ÎªÌIoT»â°ì¦³µÛ¼sªxªº»Ý¨D¡C
2015¦~¡ARISCúQV°òª÷·|¦¨¥ß¡A¥¦¬O¶}©ñ¡B¨ó§@ªº³nµw¥ó³Ð·sªÌªÀ°Ï¡A«ü¾É¥¼¨Óµo®i¤è¦V¦}±À°ÊRISCúQVªº¼sªxÀ³¥Î¡C¦P®É¡A¦b§Ú°ê¤]¦¨¥ß¤F¤¤°ê¶}©ñ«ü¥O¥ÍºA(RISCúQV)Áp·ù©M¤¤°êRISCúQV²£·~Áp·ù¨Ó±À°ÊRISCúQV¦b§Ú°êªºµo®i¡C
ÁöµMRISCúQV¥Ø«eªº¥ÍºAÁÙ³B¤_ªì¯Å¶¥¬q¡A¦ý¬O¶V¨Ó¶V¦hªº²£·~¬É¥¨ÀY¹ïRISCúQV¦³µÛ±j¯Pªº¿³½ì¦}¯É¯É¥[¤JRISCúQV°òª÷·|¡ARISCúQV·¥¦³¥i¯à¹³Linux¨º¼Ë¶}±Ò¶}·½ªä¤ù³]­pªº¶Àª÷®É¥N¡C±q¤¤°êªº¦Û¥D¥i±±¥ÍºA«Ø³]¨Ó¬Ý¡A±q¹s¶}©l«Ø¥ß¤¬¬Û­Ý®eªºRISCúQV¥ÍºA·í¤U¤]³\¬O³Ì¦nªº®É¾÷¡A¥i¥H´Á«Ý¦b¤£¤[ªº±N¨Ó¡ARISCúQVªº¥ÍºA´N¥i¥H¬D¾Ôx86©MARMªº¦a¦ì¡C
¥þ®Ñ¥Ñ13³¹²Õ¦¨¡A¤À¬°¤T¤j³¡¤À¡C²Ä1³¹¬°²Ä¤@³¡¤À¡X¡X³B²z¾¹«ü¥O¶°¬[ºc¡A¥D­n¤¶²Ð«ü¥O¶°¬ÛÃö°ò¦·§©À¤ÎRISCúQV«ü¥O¶°¬[ºc¡C²Ä2¡ã9³¹¬°²Ä¤G³¡¤À¡X¡X³B²z¾¹·L¬[ºc¡A¥D­n¤º®e¬°RISCúQV CPU·L¬[ºc³]­p¤ÎÅÞ¿è¹ê²{¡A±q·L¬[ºc©M¬y¤ô½u³]­p­ì²zµÛ¤â¡A¸Ô²Ó¤¶²ÐRISCúQV«ü¥O¶°¬[ºcCPUªº³]­p¤èªk¡A¦}¥H¶}·½³B²z¾¹®ÖAriane¬°¨Ò¡A¤¶²ÐRISCúQV³B²z¾¹ªº¹ê²{²Ó¸`¡C²Ä10¡ã13³¹¬°²Ä¤T³¡¤À¡X¡X³B²z¾¹ÅçÃÒ¡A¥D­n¤º®e¬°RISCúQV CPUÅçÃÒ¡AµÛ­«¤¶²Ð¦p¦ó°ò¤_·í«e¥D¬yÅçÃÒ¤èªkUVMºc«ØRISCúQV CPUÅçÃÒ¥­»O¡A¦}§¹¦¨CPU®ÖªºÅçÃÒ¤u§@¡C
§Æ±æ¥»®Ñ¯à°÷¦¨¬°RISCúQV³B²z¾¹·R¦nªÌªº¤Jªù¹Ï®Ñ¡A¬°RISCúQV³B²z¾¹¦b°ê¤ºªº´¶¤Î©Mµo®i°^ÄmºøÁ¡¤§¤O¡C
·PÁÂÄP«°¹êÅç«Ç¦Û¥D¥i±±¶µ¥Ø²Õ°Ñ»P¥»®Ñ½s¼gªº©Ò¦³¦¨­û¡A½s¼g¹Lµ{¤¤¦³µÛ¤j¶qªº¥N½X¤ÀªR¡B¸ê®Æ¾ã²z©M¤å½Z®Õ¹ï¤u§@¡A¥L­Ìªº¥I¥X¨Ï±o¥»®Ñ¯à°÷³Ì²×¦¨¤å¡C¦P®É¡AÁÙ­n·PÁ²MµØ¤j¾Ç¥Xª©ªÀ¦U¦ì½s¿èªº¤j¤O¤ä«ù¡A¥L­Ì»{¯u²Ó­Pªº¤u§@«OÃÒ¤F¥»®Ñªº½è¶q¡C
¥Ñ¤_½sªÌ¤ô¥­¦³­­¡A®Ñ¤¤Ãø§K¦³²¨º|©M¤£¨¬¤§³B¡AÀµ½ÐŪªÌ§åµû«ü¥¿¡I

½sªÌ2023¦~11¤ë
¤º®e²¤¶¡G

¥»®Ñ±q³B²z¾¹«ü¥O¶°¬[ºc¤J¤â¡A¤¶²Ð¤FRISCúQV«ü¥O¶°¬[ºc¡A¦b¦¹°ò¦¤W¹ï³B²z¾¹·L¬[ºc¶i¦æÄÄ­z¡A¦P®É¡A¥HAriane®Ö¬°¨Ò¸Ô­z·L¬[ºc¤¤«ü¥O´£¨ú¡B«ü¥OĶ½X¡B«ü¥Oµo®g¡B«ü¥O°õ¦æ©M«ü¥O´£¥æ¡A¥H¤Î¦sÀxºÞ²z¡B¤¤Â_©M²§±`³B²z¡C°£RISCúQV®Ö¤§¥~¡A¥»®ÑÁÙ¯A¤Î³B²z¾¹ÅçÃÒ¡A¨ä¤¤¥]¬AUVM¡BRISCúQVÅçÃҮج[ªº·f«Ø¡B«ü¥Oµo¥Í¾¹©M¼ÒÀÀ¾¹¡C
¥»®Ñ¾A¦X§@¬°¤j±M°|®Õ¾Ç¥Í¾Ç²ßRISCúQV«ü¥O¶°·L¬[ºc¥H¤Îªä¤ùÅçÃÒªº¤Jªù±Ð§÷¡A¤]¥i¨ÑRISCúQV³B²z¾¹³]­p»PÅçÃÒ¬ÛÃö¤uµ{§Þ³N¤H­û©Î¬ã¨s¤H­û°Ñ¦Ò¡C
¥Ø¿ý¡G

²Ä¤@³¡¤À³B²z¾¹«ü¥O¶°¬[ºc
²Ä1³¹RISCúQV«ü¥O¶°¬[ºc²LªR0031.1«ü¥O¶°¬[ºc003
1.1.1´_Âø«ü¥O¶°­pºâ¾÷»Pºë²«ü¥O¶°­pºâ¾÷003
1.1.2¸g¨å«ü¥O¶°005
1.1.3RISCúQV009
1.2RISCúQV«ü¥O¶°Â²¤¶010
1.3RISCúQV°ò¦«ü¥O¶°011
1.3.1ºâ³N»PÅÞ¿è¾Þ§@«ü¥O013
1.3.2±±¨îÂಾ«ü¥O017
1.3.3¤º¦s³X°Ý«ü¥O019
1.3.4±±¨î©Mª¬ºA«ü¥O021
1.4RISCúQVÂX®i«ü¥O¶°023
1.4.1RV32M¾ã¼Æ­¼°£ªk«ü¥O023
1.4.2RV32A­ì¤l«ü¥O024
1.4.3RV32CÀ£ÁY«ü¥O027
1.4.4RV32F³æºë«×¯BÂI«ü¥O034
1.4.5RV32DÂùºë«×¯BÂI«ü¥O039
1.5RISCúQV64¦ì°ò¦«ü¥O044
1.6RISCúQV¯SÅv«ü¥O046
1.7¥»³¹¤pµ²047¶}·½RISCúQV³B²z¾¹¬[ºc¤ÀªR»PÅçÃҥؿý²Ä¤G³¡¤À³B²z¾¹·L¬[ºc
²Ä2³¹·L¬[ºc³»¼h¤ÀªR0512.1¬y¤ô½u051
2.1.1RISCúQV«ü¥O¶°052
2.1.2¬y¤ô¤Æ¹ê²{053
2.1.3¬y¤ô½u©Ê¯à055
2.1.4¬y¤ô½u«_ÀI058
2.1.5¤À¤ä¹w´ú063
2.1.6¼Ð¶q¬y¤ô½u§½­­©Ê063
2.2Ariane·L¬[ºc064
2.2.1Ariane²¤¶064
2.2.2³»¼h±µ¤f065
2.2.3¬y¤ô½u¬[ºc068
2.2.4¼Æ¾Ú¬y071
2.2.5¼Ò¶ô¼h¦¸072
2.3¥»³¹¤pµ²074
²Ä3³¹«ü¥O´£¨ú075
3.1«ü¥O´£¨ú·§­z075
3.2¤À¤ä¹w´úºâªk076
3.2.12¦ì¹¡©M­p¼Æ¾¹077
3.2.2¨â¯Å¤À¤ä¹w´ú¾¹078
3.2.3Gshare¤À¤ä¹w´ú¾¹079
3.2.4¤À¤ä¥Ø¼Ð½w¨R¾¹080
3.2.5ªð¦^¦a§}°ï´Ì080
3.3«ü¥O´£¨ú³æ¤¸³]­p081
3.3.1¾ãÅé³]­p081
3.3.2«ü¥O­«¹ï»ô085
3.3.3¤À¤äÀË´ú087
3.3.4¤À¤ä¹w´ú088
3.3.5«ü¥O¶¤¦C089
3.3.6¨ú«ü¦a§}091
3.4¥»³¹¤pµ²091
²Ä4³¹«ü¥OĶ½X092
4.1«ü¥OĶ½X·§­z092
4.1.1À£ÁY«ü¥O093
4.1.2Ķ½X²§±`094
4.2«ü¥OĶ½X³æ¤¸³]­p095
4.2.1¾ãÅé³]­p095
4.2.2À£ÁY«ü¥O¸Ñ½X098
4.2.3¼Ð·Ç«ü¥OĶ½X100
4.3¥»³¹¤pµ²102
²Ä5³¹«ü¥Oµo®g103
5.1³æµo®g©M¦hµo®g103
5.2¶¶§Çµo®g©M¶Ã§Çµo®g104
5.3«ü¥O°ÊºA½Õ«×105
5.4«ü¥Oµo®g³æ¤¸³]­p108
5.4.1¾ãÅé³]­p108
5.4.2Scoreboard¼Ò¶ô¹ê²{113
5.4.3Issue_Read_Operands¼Ò¶ô¹ê²{116
5.5¥»³¹¤pµ²116
²Ä6³¹«ü¥O°õ¦æ117
6.1«ü¥O°õ¦æ·§­z117
6.2«ü¥O°õ¦æ³æ¤¸³]­p119
6.2.1¾ãÅé³]­p119
6.2.2LSU¼Ò¶ô³]­p123
6.2.3FLU¼Ò¶ô³]­p126
6.2.4FPU¼Ò¶ô³]­p131
6.3¥»³¹¤pµ²137
²Ä7³¹«ü¥O´£¥æ138
7.1«ü¥O´£¥æ·§­z138
7.2«ü¥O´£¥æ³æ¤¸³]­p139
7.2.1¾ãÅé³]­p140
7.2.2Commit_Stage¼Ò¶ô¹ê²{142
7.2.3Controller¼Ò¶ô¹ê²{146
7.3¥»³¹¤pµ²148
²Ä8³¹¦sÀxºÞ²z149
8.1½w¦s­ì²z149
8.1.1½w¦s²Õ´µ²ºc150
8.1.2½w¦s¼g¤Jµ¦²¤152
8.1.3½w¦s´À´«ºâªk153
8.1.4½w¦sÀu¤Æ155
8.2½w¦s³]­p156
8.2.1¾ãÅé³]­p156
8.2.2«ü¥O½w¦s¼Ò¶ô³]­p158
8.2.3¼Æ¾Ú½w¦s¼Ò¶ô³]­p160
8.3¦sÀxºÞ²z³¡¥ó166
8.3.1µêÀÀ¤º¦s167
8.3.2¦a§}Âà´«170
8.4¦sÀxºÞ²z³¡¥ó³]­p176
8.5¥»³¹¤pµ²179
²Ä9³¹¤¤Â_©M²§±`180
9.1¤¤Â_©M²§±`·§­z181
9.2²§±`³B²z¾÷¨î183
9.2.1²§±`³B²z¹Lµ{183
9.2.2±H¦s¾¹»¡©ú184
9.3¤¤Â_±±¨î¥­»O189
9.3.1¤¤Â_·½190
9.3.2¤¤Â_¥Ø¼Ð192
9.3.3¤¤Â_³B²z¬yµ{192
9.4¤¤Â_©M²§±`³]­p¹ê¨Ò193
9.4.1²§±`²£¥Í©M³B²z193
9.4.2PLIC¼Ò¶ô195
9.4.3CLINT¼Ò¶ô199
9.5¥»³¹¤pµ²200
²Ä¤T³¡¤À³B²z¾¹ÅçÃÒ
²Ä10³¹UVM²¤¶20310.1UVM·§­z203
10.1.1ÅçÃÒ¤èªk¾Ç·§­z204
10.1.2ÅçÃÒ¤èªk¾Çªºµo®i¥v205
10.2UVM°ò¥»·§©À206
10.2.1UVMÃþªº»¡©ú207
10.2.2UVM¾ð§Îµ²ºc209
10.2.3UVM¹B¦æ¾÷¨î210
10.3UVM²Õ¥ó¤¶²Ð219
10.3.1uvm_test219
10.3.2uvm_env221
10.3.3uvm_agent222
10.3.4uvm_driver224
10.3.5uvm_monitor225
10.3.6uvm_scoreboard225
10.3.7uvm_sequence©Muvm_sequencer225
10.3.8referencemodel228
10.3.9tb_interface228
10.4¥»³¹¤pµ²229
²Ä11³¹RISCúQVÅçÃҮج[230
11.1³q¥ÎÅçÃҮج[230
11.1.1ÅçÃÒ´ú¸ÕÂI232
11.1.2ÅçÃÒ¼h¦¸233
11.1.3ÅçÃÒ³z©ú«×236
11.1.4ÅçÃÒ¿EÀy¬ù§ô240
11.1.5ÅçÃÒÀË´ú¾÷¨î244
11.1.6ÅçÃÒ¶°¦¨Àô¹Ò246
11.2RISCúQVÅçÃÒ¯SÂI249
11.2.1«ü¥Oµo¥]¾¹ÀH¾÷©Ê249
11.2.2«ü¥O¶°¼ÒÀÀ¾¹·Ç½T©Ê251
11.2.3Âл\²v¼Ò«¬§¹³Æ©Ê252
11.3¥»³¹¤pµ²253
²Ä12³¹RISCúQV«ü¥Oµo¥Í¾¹254
12.1RISCVúQDV·§­z254
12.1.1¯S©Ê²¤¶254
12.1.2ÅçÃÒ¬yµ{255
12.1.3´ú¸Õ¥Î¨Ò¶°256
12.2RISCVúQDV¨Ï¥Î¤èªk256
12.2.1³n¥ó¦w¸Ë257
12.2.2¹B¦æ«ü¥Oµo¥Í¾¹258
12.2.3©R¥O»¡©ú259
12.2.4YAML°t¸m261
12.3RISCVúQDVµ²ºc¤ÀªR264
12.3.1¥é¯u¿EÀyxaction264
12.3.2Generator267
12.3.3´ú¸Õ¥Î¨Ò269
12.3.4ÂX®i»¡©ú270
12.4¥»³¹¤pµ²271
²Ä13³¹RISCúQV«ü¥O¶°¼ÒÀÀ¾¹272
13.1RISCúQV«ü¥O¶°¼ÒÀÀ¾¹·§­z272
13.2Spike·§­z273
13.2.1¯S©Ê²¤¶273
13.2.2³n¥ó´Ì¤ÀªR274
13.3Spike¨Ï¥Î¤èªk275
13.3.1³n¥ó¦w¸Ë275
13.3.2©R¥O¸ÑªR275
13.3.3¹B¦æ¥Ü¨Ò277
13.3.4Log¤å¥ó¤ÀªR277
13.3.5¹B¦æLinux278
13.4Spike·½¥N½X¤ÀªR279
13.4.1¥N½X¥Ø¿ýµ²ºc279
13.4.2ÀRºAµ²ºc281
13.4.3±Ò°Ê¬yµ{282
13.5SpikeÂX®i284
13.5.1©w¨îLog284
13.5.2ÂX®i«ü¥O286
13.5.3ÂX®i¥~³]286
13.6¥»³¹¤pµ²288
§Ç¡G