1 ¹¦ÄܲâÊÔ
¹¦ÄܲâÊÔ·ÖΪÁ½²¿·Ö:89 ¸ö¹¦Äܵã²âÊԺͼÇÒäÓÎÏ·²âÊÔ¡£
1.1 89¸ö¹¦Äܵã²âÊÔ
89 ¸ö¹¦ÄܵãµÄ²âÊÔ·½·¨¡¢¹¦ÄܲâÊÔ³ÌÐòºÍ»·¾³µÄ½éÉܲο¼·¢²¼°üĿ¼ doc/A11_Trace ±È¶Ô»úÖÆʹÓÃ˵Ã÷.pdf¡£
²âÊÔ»·¾³ÒÀ¾Ý myCPU µÄʵÏÖ½Ó¿Ú·ÖΪÁ½¸ö»·¾³:SRAM ½Ó¿ÚµÄ myCPU ʹÓà soc_sram_func Ŀ¼Ï嵀 SoC_SRAM_Lite »·¾³;AXI ½Ó¿ÚµÄ myCPU ʹÓà soc_axi_func Ï嵀 SoC_AXI_Lite »·¾³¡£
1.1.1 ²âÊÔ½á¹ûÅжÏ
(1) ·ÂÕæ²âÊÔ½á¹û ·ÂÕæ½á¹ûÕýÈ·ÅжÏÓÐÁ½ÖÖ·½·¨¡£
µÚÒ»ÖÖ·½·¨£¬Ò²ÊÇ×î¼òµ¥µÄ£¬¾ÍÊÇ¿´ Vivado ¿ØÖÆ̨´òÓ¡ Error »¹ÊÇ PASS£¬ÕâÊÇÒÀ¾Ý²Î¿¼Ä£ÐͱȽÏÑéÖ¤¶ø´òÓ¡ µÄ¡£Èç¹û·ÂÕæ¹ý³ÌÖдòÓ¡ÁË Error£¬»áͬʱ´òÓ¡³ö myCPU Ö´ÐÐʱµÄ debug ÐÅÏ¢ºÍ²Î¿¼µÄ debug Ðźţ¬Ëæºó¿ÉÒÔºÜ¿ì µÄ¶¨Î» bug£¬bug ¾ÍÔÚ´òÓ¡ Error µÄ PC ´¦£¬»òÕßÔÚÆäÇ°¼¸ÌõÖ¸Áî´¦£¬Õâʱ¾ÍÐèÒª¹Û²ì²¨ÐνøÐÐ debug ÁË¡£
µÚ¶þÖÖ·½·¨£¬ÊÇͨ¹ý²¨Ðδ°¿Ú¹Û²ì³ÌÐòÖ´Ðнá¹û¡£func ÕýÈ·µÄÖ´ÐÐÐÐΪÊÇ:
(1) ¿ªÊ¼£¬Ë«É«LEDµÆÒ»ºìÒ»ÂÌ(ÊýÖµ0x1ºÍ0x2)£¬ÊýÂë¹ÜÏÔʾȫ0;
(2) Ö´Ðйý³ÌÖУ¬Ë«É«LEDµÆÒ»ºìÒ»ÂÌ£¬ÊýÂë¹Ü¸ß8λºÍµÍ8λͬ²½ÀÛ¼Ó;
(3) ½áÊøʱ£¬Ë«É«LEDµÆÁÁÁ½ÂÌ(ÊýÖµ0x1ºÍ0x1)£¬ÊýÂë¹Ü¸ß8λºÍµÍ8λÊýÖµÏàͬ£¬¶ÔÓ¦²âÊÔ¹¦ÄܵãÊýÄ¿ 89(16 ½øÖÆ 0x59)¡£
Èç¹û func Ö´Ðйý³ÌÖгö´íÁË£¬ÔòÊýÂë¹Ü¸ß 8 λºÍµÍ 8 λµÚÒ»´Î²»Í¬´¦¼´Îª²âÊÔ³ö´íµÄ¹¦Äܵã±àºÅ£¬ÇÒ×îºóµÄ ½á¹ûÊÇË«É« LED µÆÁÁÁ½ºì£¬16 ¸öµ¥É« LED µÆÈ«ÁÁ£¬ÊýÂë¹Ü¸ß 8 λºÍµÍ 8 λÊýÖµ²»Í¬¡£
×îºóÖµµÃÒ»ÌáÊǵģ¬ÊµÑéÏäÉÏÊýÂë¹ÜÏÔʾÊDzÉÑùɨÃèÐÎʽʵÏֵġ£¶ÔÓÚ·ÂÕæ¶øÑÔ£¬ÓÉÓÚÊýÂë¹ÜÒªÏÔʾµÄÊýÖµ ²»Í£µÄÀÛ¼Ó£¬ÇÒÆäÀÛ¼ÓµÄƵÂʸßÓÚÆäɨÃèÏÔʾµÄƵÂÊ£¬Òò¶øÔÚ testbench ¶¥²ã¹Û²ì²»µ½ÊýÂë¹ÜƬѡÐźŠnum_csn ºÍ Êý¾Ýλ num_a_g µÄ±ä»¯¡£Ö»Óй۲ì confreg Ä£¿éÀïµÄ num_data(ÆäΪÊýÂë¹ÜÒªÏÔʾµÄ 32 λÊýÖµ)£¬²ÅÄܹ۲쵽ÊýÂë ¹ÜµÄ±ä»¯¡£
Èç¹ûÐèÒªÔÚ²¨ÐÎÖеĹ۲ìµÄµ¥É« LED µÆ¡¢Ë«É« LED µÆ 0 ºÍ 1¡¢ÊýÂë¹Ü£¬Çëץȡ confreg Ä£¿éµÄÐźŠled_data¡¢ led_rg0_data¡¢led_rg1_data¡¢num_data¡£ÆäÖе¥É« LED µÆµÍ 16 λд 0xffff ±íʾȫÃð;Ë«É« LED µÆд 0x1 ±íʾÁÁÂÌ µÆ£¬Ð´ 0x2 ±íʾÁÁºìµÆ¡£
(2) FPGA ²âÊÔ½á¹û
ÔÚ FPGA ÉÏÑé֤ʱÆä½á¹ûÕýÈ·Óë·ñµÄÅжÏÖ»ÓÐÒ»ÖÖ·½·¨£¬func ÕýÈ·µÄÖ´ÐÐÐÐΪÊÇ:
(1) ¿ªÊ¼£¬16¸öµ¥É«LEDµÆÏÔʾËæ»úÖÖ×Ó£¬Ë«É«LEDµÆÒ»ºìÒ»ÂÌ£¬ÊýÂë¹ÜÏÔʾȫ0;
(2) Ö´Ðйý³ÌÖУ¬Ë«É«LEDµÆÒ»ºìÒ»ÂÌ£¬ÊýÂë¹Ü¸ß8λºÍµÍ8λͬ²½ÀÛ¼Ó£¬ÀÛ¼ÓƵÂÊÓÉ8¸ö²¦Â뿪¹Ø¿ØÖÆ;
(3) ½áÊøʱ£¬Ë«É«LEDµÆÁÁÁ½ÂÌ£¬ÊýÂë¹Ü¸ß8λºÍµÍ8λÊýÖµÏàͬ£¬¶ÔÓ¦²âÊÔ¹¦ÄܵãÊýÄ¿89(16½øÖÆ0x59)¡£
1
Èç¹û´ó¼ÒÏë¿´¶¯Ì¬µÄ FPGA ÔËÐйý³Ì£¬¿ÉÒÔ¶Ô cpu132_gettrace Ï嵀 Vivado ¹¤³Ì½øÐÐ×ÛºÏʵÏÖ²¢ÉÏ°åÔËÐУ¬Æä ½«ÏÔʾÕýÈ·µÄ FPGA ÑéÖ¤ÔËÐйý³Ì¡£
1.1.2 Trace ±È¶Ô»úÖÆʹÓÃ
Trace ±È¶Ô»úÖÆ£¬¶Ô soc_sram_func ºÍ soc_axi_func ¶¼ÊÊÓá£Èç¹ûÐèҪʹÓøûúÖÆ£¬ÐèÒª CPU ·âװΪÏàÓ¦µÄ½Ó ¿Ú£¬ÈçϱíչʾÁË SRAM ½Ó¿ÚÏÂ¶Ô myCPU ½Ó¿ÚµÄʵÑéÒªÇ󣬲ο¼·¢²¼°ü func_test/soc_sram_func/rtl/soc_lite_top.v Àï¶Ô myCPU µÄµ÷Óá£Èç¹û CPU ʵÏÖΪ AXI ½Ó¿Ú£¬Ôò½«Ï±íµÄÈ¡Ö¸/Êý¾Ý SRAM ½Ó¿Úͳһ·â×°³É AXI ½Ó¿Ú£¬²Î¿¼ ·¢²¼°ü func_test/soc_axi_func/rtl/soc_axi_lite_top.v Àï¶Ô myCPU µÄµ÷Óá£
¹ØÓÚ Trace ±È¶Ô»úÖƵÄÏêϸʹÓòο¼·¢²¼°üĿ¼ doc/A11_Trace ±È¶Ô»úÖÆʹÓÃ˵Ã÷.pdf ±í1-1 myCPUʵÏÖΪSRAM½Ó¿ÚµÄÐźÅÃèÊö
Ãû³Æ
¿í¶È
·½Ïò
ÃèÊö
ʱÖÓ/¸´Î»ÓëÖжÏ
clk
1
input
ʱÖÓÐźţ¬À´×Ô clk_pll µÄÊä³öʱÖÓ
resetn
1
input
¸´Î»Ðźţ¬µÍµçƽͬ²½¸´Î»
int
6
input
Ó²¼þÖжϣ¬¸ßµçƽÓÐЧ
È¡Ö¸¶Ë·Ã´æ½Ó¿Ú
inst_sram_en
1
output
ram ʹÄÜÐźţ¬¸ßµçƽÓÐЧ
inst_sram_wen
4
output
ram ×Ö½ÚдʹÄÜÐźţ¬¸ßµçƽÓÐЧ
inst_sram_addr
32
output
ram ¶ÁдµØÖ·£¬×Ö½ÚÑ°Ö·
inst_sram_wdata
32
output
ram дÊý¾Ý
inst_sram_rdata
32
input
ram ¶ÁÊý¾Ý
Êý¾Ý¶Ë·Ã´æ½Ó¿Ú
data_sram_en
1
output
ram ʹÄÜÐźţ¬¸ßµçƽÓÐЧ
data_sram_wen
4
output
ram ×Ö½ÚдʹÄÜÐźţ¬¸ßµçƽÓÐЧ
data_sram_addr
32
output
ram ¶ÁдµØÖ·£¬×Ö½ÚÑ°Ö·
data_sram_wdata
32
output
ram дÊý¾Ý
data_sram_rdata
32
input
ram ¶ÁÊý¾Ý
debug Ðźţ¬¹©Ñé֤ƽ̨ʹÓÃ
debug_wb_pc
32
output
д»Ø¼¶(¶àÖÜÆÚ×îºóÒ»¼¶)µÄ PC£¬Òò¶øÐèÒª mycpu Àォ PC һ·´øµ½Ð´»Ø¼¶
debug_wb_rf_wen
4
output
д»Ø¼¶Ð´¼Ä´æÆ÷¶Ñ(regfiles)µÄдʹÄÜ£¬Îª×Ö½ÚдʹÄÜ£¬Èç¹û mycpu д regfiles Ϊµ¥×Ö½ÚдʹÄÜ£¬Ôò½«Ð´Ê¹ÄÜÀ©Õ¹³É 4 λ¼´¿É¡£
debug_wb_rf_wnum
5
output
д»Ø¼¶Ð´ regfiles µÄÄ¿µÄ¼Ä´æÆ÷ºÅ
debug_wb_rf_wdata
32
output
д»Ø¼¶Ð´ regfiles µÄдÊý¾Ý
1.1.3 ²¦Â뿪¹Ø¿ØÖÆ wait_1s
ÉÏ°åʱ£¬²¦Â뿪¹ØÓÐÁ½¸ö×÷Ó㬵ÚÒ»¸ö×÷ÓÃÊÇ:¸´Î»ºó£¬²¦Â뿪¹Ø¿ØÖÆ wait_1s µÄÑ»·´ÎÊý£¬Ò²¾ÍÊÇ¿ØÖÆÊýÂë
¹ÜÀÛ¼ÓµÄËٶȡ£
89 ¸ö¹¦Äܵã²âÊÔÖУ¬Ã¿Á½¸ö¹¦ÄܵãÖ®¼ä»á´©²åÒ»¸ö wait_1s º¯Êý£¬wait_1s ͨ¹ýÒ»¶ÎÑ»·Íê³É¼ÆʱµÄ¹¦ÄÜ:ÔÚ 2
ÉÏ°åʱ£¬wait_1s Ñ»·´ÎÊýÓɲ¦Â뿪¹Ø¿ØÖÆ£¬¿ÉÉèÖÃÑ»·´ÎÊýΪ(0~0xaaaa)*29¡£ÇëÔÚ¸´Î»ºó£¬Í¨¹ý²¦Â뿪¹ØÑ¡Ôñ ºÏÀíµÄ wait_1s ÑÓʱ¡£
1.1.4 Soc_axi_fun µÄËæ»úÖÖ×Ó¿ØÖÆ ÉÏ°åʱ£¬²¦Â뿪¹ØÓÐÁ½¸ö×÷Ó㬵ڶþ¸ö×÷ÓÃÊÇ:¸´Î»Æڼ䣬²¦Â뿪¹Ø¿ØÖÆËæ»úÖÖ×Ó(Ö»¶Ô soc_axi_func »·¾³
ÓÐÓÃ)£¬Ò²¾ÍÊÇ axi ram ·ÃÎÊËæ»úÑӳٵijõʼÖÖ×Ó¡£
Ϊ¾¡¿ÉÄÜÑéÖ¤ myCPU µÄ¹¦ÄÜ£¬AXI ½Ó¿ÚµÄ CPU Ö§³ÖËæ»úÑÓʱ£¬Ëæ»úÑÓʱͨ¹ýÒ»¸ö 23 λµÄαËæ»úÊýÉú³É:ÔÚ
·ÂÕæʱ£¬³õʼËæ»úÖÖ×ÓÓÉ confreg.v ÀïµÄ RANDOM_SEED ºê¶¨Òå;ÔÚÉÏ°åʱ£¬³õʼËæ»úÖÖ×ÓÓɲ¦Â뿪¹Ø¿ØÖÆ¡£
ʵÑéÏäÉϹ²ÓÐ 8 ¸ö²¦Â뿪¹Ø£¬Êµ¼ÊµçƽÊÇ:²¦ÉÏΪ 0£¬²¦ÏÂΪ 1;µ«Îª±ãÓÚÒÔÏÂÃèÊö£¬ÎÒÃǼÇ×÷:²¦ÉÏΪ 1£¬ ²¦ÏÂΪ 0¡£16 ¸ö LED µ¥É«µÆ£¬Êµ¼ÊµçƽÊÇ:Çý¶¯ 0 ÁÁ£¬Çý¶¯ 1 Ãð;µ«Îª±ãÓÚÒÔÏÂÃèÊö£¬ÎÒÃǼÇ×÷:Çý¶¯ 1 ÁÁ£¬Çý ¶¯ 0 Ãð¡£
ÉÏ°åʱ£¬°´Ï¸´Î»¼ü£¬»á×Ô¶¯²ÉÑù 8 ¸ö²¦Â뿪¹ØµÄÖµ£¬´«Îª³õʼËæ»úÖÖ×Ó£¬ÇÒ»áÏÔʾ³õʼËæ»úÖÖ×ÓµÍ 16 λµ½ µ¥É« LED µÆÉÏ¡£ÉÏ°åʱËæ»úÖÖ×ÓÓ벦Â뿪¹Ø¶ÔÓ¦¹ØϵÈçÏÂ±í£¬ÐèҪעÒâµÄʱÑÓ³ÙÀàÐÍÒÀ¾Ý²¦Â뿪¹ØµÄÖµ·ÖΪÈý´ó Àà:³¤ÑÓ³Ù¡¢¶ÌÑÓ³ÙºÍÎÞÑÓ³ÙÀàÐÍ¡£ÔÚÉÏ°åÔËÐÐʱ¶¼Ó¦µ±¸²¸Çµ½ÕâÈýÀàÑÓ³ÙÀàÐÍ¡£
±í 1-2 ÉÏ°åʱËæ»úÖÖ×ÓÉ趨
²¦Â뿪¹Ø״̬
LED µÆÏÔʾ
ʵ¼Ê³õʼÖÖ×Ó seed_init
Ô¼¶¨£¬8 ¸ö²¦Â뿪¹Ø:²¦ÉÏΪ 1£¬²¦ÏÂΪ 0£¬¼Ç×÷ switch[7:0]
Ô¼¶¨£¬16 ¸öµ¥É« LED µÆ:Çý¶¯ 1 ÁÁ£¬Çý¶¯ 0 Ã𣬼Ç×÷ led[15:0]; ¶ÔÓ¦¹Øϵ:led[15:0]={{2{switch[7]}}, {2{switch[6]}}, {2{switch[5]}}, {2{switch[4]}}, {2{switch[3]}}, {2{switch[2]}}, {2{switch[1]}}, {2{switch[0]}}}
Ëæ»úÑÓ³ÙÀàÐÍ·ÖΪ 3 ÖÐÀàÐÍ:
(1) ³¤ÑÓ³ÙÀàÐÍ:Ëæ»úÖÖ×ÓµÍ 8 λ²»Îª 8¡¯hff£¬¼´ seed_init[7:0]!=8¡¯hff
(2) ¶ÌÑÓ³ÙÀàÐÍ:Ëæ»úÖÖ×ÓµÍ 8 λΪ 8¡¯hff£¬¼´ seed_init[7:0]==8¡¯hff£¬(ÅųýÎÞÑÓ³ÙÀàÐÍ)
(3) ÎÞÑÓ³ÙÀàÐÍ:Ëæ»úÖÖ×ÓµÍ 16 λΪ 16¡¯h00ff£¬¼´ seed_init[15:0]==16¡¯h00ff
8¡¯h00
16¡¯h0000
{7¡¯b1010101, 16¡¯h0000}
8¡¯h01
16¡¯h0003
{7¡¯b1010101, 16¡¯h0003}
8¡¯h02
16¡¯h000c
{7¡¯b1010101, 16¡¯h000c}
8¡¯h03
16¡¯h000f
{7¡¯b1010101, 16¡¯h000f}
…
…
…
8¡¯hff
16¡¯hffff
{7¡¯b1010101, 16¡¯hffff}
1.1.5 ·ÂÕæͨ¹ý¡¢ÉÏ°å³ö´íµÄµ÷ÊÔ·½·¨
Èç¹ûÉÏ°å·¢ÏÖÒ»¸ö¹¦Äܵ㶼²»Í¨¹ý(±ÈÈçÊýÂë¹ÜÏÔʾȫ 0)£¬¿ÉÄÜÊÇÒÔÏÂÎÊÌâÖ®Ò»µ¼ÖµÄ:
(1) ʱÐòÎ¥Ô¼;
(2) ·ÂÕæʱ¿ØÖÆÐźÅÓС°X¡±¡£·ÂÕæʱ£¬ÓС°X¡±µ÷¡°X¡±£¬ÓС°Z¡±µ÷¡°Z¡±¡£AXI ½Ó¿ÚµÄ valid ºÍ ready ÐźŠǧÍò²»ÄܳöÏÖ¡°X¡±»ò¡°Z¡±¡£
(3) Ä£¿éÀïµÄ¿ØÖÆ·¾¶ÉϵÄÐźÅδ½øÐи´Î»¡£
(4) ¶àÇý¶¯¡£
3
(5) ´úÂë²»¹æ·¶£¬×èÈû¸³ÖµÂÒÓã¬alwaysÓï¾äËæÒâʹÓᣠ(6) ʱÖÓ¸´Î»ÐÅºÅ½Ó´í¡£
(7) Ä£¿éµÄinput/output¶Ë¿Ú½ÓÈëµÄÐźŷ½Ïò²»¶Ô¡£
Èç¹ûÉÏ°åʱ·¢ÏÖÔÚijһЩËæ»úÖÖ×ÓϲâÊÔͨ¹ý£¬ÔÚÁíһЩËæ»úÖÖ×ÓÇé¿öϳö´í£¬Çë°´ÒÔϲ½Öè½øÐе÷ÊÔ:
(1) È·Èϳö´íµÄËæ»úÖÖ×Ó£¬ÐÞ¸Ä ucas_CDE_axi/rtl/CONFREG/confreg.v ÀïµÄ RANDOM_SEED µÄ¶¨Ò壬¸ÄΪ³ö ´íʱµÄËæ»úÖÖ×Ó£¬Ëæºó½øÐзÂÕæ:Èç¹ûÓÐ´í£¬Ôòµ÷ÊÔ;Èç¹û·¢ÏÖ·ÂÕæû´í£¬ÔòÔÚÉÏ°åʱÕÒÑ°ÏÂÒ»¸ö³ö´íµÄ Ëæ»úÖÖ×Ó£¬Í¬ÑùÉ趨ºÃ RANDOM_SEED ºó½øÐзÂÕ棬Èç¹û»¹ÊÇû´íÔòת(2)¡£
(2) µ±Åöµ½£¬Ïàͬ»·¾³Ï·ÂÕæÎÞ·¨¸´ÏÖÉÏ°åµÄ´íÎóʱ£¬Ç붼תµ½±¾²½Öè:·´Ë¼Éè¼Æ;Ò²¿ÉÒÔʹÓà Vivado µÄÂß ¼·ÖÎöÒǽøÐÐÔÚÏßµ÷ÊÔ£¬²Î¿¼·¢²¼°ü doc/A10_FPGA ÔÚÏßµ÷ÊÔ˵Ã÷¡£¡£
(3) ×îºóµÄ¹¦ÄܲâÊÔͨ¹ýµÄÒªÇóÊÇ:ÉÏ°åºó£¬ËæÒâÇл»²¦Â뿪¹Ø£¬¾ù²»»á³ö´í¡£´Ëʱ²¦Â뿪¹Ø¼È¿ØÖÆ wait_1s ÑÓʱ£¬Ò²¿ØÖÆËæ»ú³õʼÖÖ×Ó¡£
Èç¹ûÉÏ°å·¢ÏÖÈÎÒâËæ»úÖÖ×ÓÏ£¬¶¼Ö»Óв¿·Ö¹¦Äܵã²âÊÔͨ¹ý¡£Ôò¿ÉÄÜÒÔÉÏÁ½ÖÖÔÒò¶¼ÓУ¬ÇëÒÀ´ÎÅŲ顣 Èç¹ûÅŲéºó¶¼ÎÞ·¨½â¾öÎÊÌ⣬¿ÉÒÔʹÓà Vivado µÄÂß¼·ÖÎöÒǽøÐÐÔÚÏßµ÷ÊÔ£¬²Î¿¼·¢²¼°ü doc/A10_FPGA ÔÚÏß
µ÷ÊÔ˵Ã÷¡£
1.2 ¼ÇÒäÓÎÏ·²âÊÔ
Ö»ÓÐÔÚ myCPU ·âװΪ AXI ½Ó¿Úʱ²ÅÄÜÔËÐмÇÒäÓÎÏ·¡£
Ö»ÓÐÔÚ 89 ¸ö¹¦Äܵãͨ¹ýËæ»úÑӳٵijä·Ö²âÊԺ󣬲ÅÄÜ¿ªÊ¼ÔËÐмÇÒäÓÎÏ·¡£
¼ÇÒäÓÎÏ·Éú²ú bit Îļþ²¢ÏÂÔصIJ½ÖèÈçÏÂ:
(1) ÔÚ linux »·¾³Ï£¬½øÈë·¢²¼°ü func_test/soft/memory_game/Ŀ¼£¬Ö´ÐÐ make ½øÐбàÒë(·¢²¼°üÒѾ°üº¬±à ÒëÍê³ÉºóµÄÎļþ)¡£
(2) Ë«»÷´ò¿ª func_test/soc_axi_func/run_vivado/mycpu_prj1/mycpu.xpr¡£
(3) ÖØж¨ÖÆ(2)ÖÐµÄ axi_ram IP£¬²¢¼ÓÔرàÒë½á¹û func_test/soft/memory_game/obj/axi_ram.coe ×÷Ϊ³õʼ»¯Îļþ¡£
(4) ×ۺϡ¢²¼¾Ö²¼Ïߣ¬ÏÂÔص½ÊµÑéÏ䣬ÏÂÃæ¾Í¿ÉÒÔ¿ªÊ¼²âÊÔ¼ÇÒäÓÎÏ·ÁË¡£
¼ÇÒäÓÎÏ·µÄ²½ÖèÈçÏÂ:
(1) °´ÊµÑéÏäÉϾØÕó¼üÅ̵Ä×îÏÂÃæÒ»ÐеÄ4¸ö°´¼üÖеÄÈÎÒ»°´¼ü£¬¿ªÊ¼ÓÎÏ·¡£
(2) µ¥É«LEDµÈ×îÓÒ²à4¸öµÆ£¬»áËæ»úµãÁÁ£¬¹²µãÁÁ8´Î¡£
(3) ŬÁ¦»ØÒä8´ÎµãÁÁ˳Ðò£¬Ê¹ÓÃÕó¼üÅ̵Ä×îÏÂÃæÒ»ÐеÄ4¸ö°´¼ü¸´ÏÖ8´ÎµãÁÁ˳Ðò¡£
(4) °´Íê8´Îºó£¬ÊýÂë¹Ü×ó²à»áչʾ8(±íʾ¹²8´ÎµãÁÁ)£¬ÓÒ²à»áչʾÄã¼ÇÒä¶ÔµÄ´ÎÊý¡£
4
(5) Èç¹û 8 ´Î¶¼¼ÇÒä¶ÔÁË£¬ÔòÊýÂë¹ÜÓÒ²à»áչʾ 8£¬ÇÒË«É« LED µÆ»áÁÁ 2 ¸öÂÌÉ«;Èç¹û²»ÊÇ 8 ´Î¶¼¶Ô£¬Ë«É« LED µÆ»áÁÁÒ»ºìÒ»ÂÌ¡£
Èç¹û·¢ÏÖ¼ÇÒäÓÎÏ·ÔËÐв»ÕýÈ·£¬Çë°´ÒÔϲ½Öèµ÷ÊÔ:
(1) È·ÈÏ֮ǰµÄ89¸ö¹¦Äܵã²âÊÔ³ä·Ö¸²¸ÇÁ˸÷ÀàËæ»úÖÖ×Ó£¬ÇÒ¾ùûÓÐÔËÐгö´í¡£
(2) ¿ÉÒÔ³¢ÊÔ¶Ô¼ÇÒäÓÎÏ·½øÐзÂÕ棬µ«ÐèÒª×Ô¼ºÉè¼Æ°´¼üµÄ¼¤Àø£¬ÇÒÐèÒªÄÜ¿´¶®¼ÇÒäÓÎÏ·Ô´Âë²¢ÐÞ¸Ä delay º¯ Êý¡£
(3) ¿ÉÒÔ³¢ÊÔʹÓÃÂß¼·ÖÎöÒǽøÐÐÔÚÏßµ÷ÊÔ¡£
(4) ·´Ë¼×Ô¼ºµÄÉè¼Æ¡¢´úÂë¹æ·¶¡¢×ÛºÏʱÐòµÈ¡£
1.3 ¹¦ÄܲâÊÔ·ÖÊý¼ÆËã
µ± myCPU ½öʵÏÖΪ SRAM ½Ó¿Úʱ£¬Ö»ÄÜÔËÐÐ soc_sram_func¡£
µ± myCPU ·âװΪ AXI ½Ó¿Úʱ£¬¿ÉÒÔÔËÐÐ soc_axi_func ºÍ¼ÇÒäÓÎÏ·¡£ ¿ÉÒԲο¼´óÈü·¢²¼°ü Qualifiers_Submission/score.xls£¬¸Ã Excel ÎĵµÌṩÁË×Ô¶¯¼ÆËã¡£ ¹¦ÄܲâÊÔ·ÖÊý¼ÆËã¹æÔò:
(1) ʵÏÖΪ AXI ½Ó¿ÚµÄ myCPU£¬ÔÚ 89 ¸ö¹¦Äܵã²âÊÔȫͨ¹ýºó£¬²»ÐèÒªÔËÐÐ SRAM ½Ó¿ÚµÄ myCPU ²âÊÔ¡£µÃ
·ÖΪ(89+¼ÇÒäÓÎÏ·*11);
(2) SRAM ½Ó¿ÚµÄ myCPU ²âÊÔ£¬Ö»ÓÐÔÚ 89 ¸ö¹¦Äܵã²âÊÔȫͨ¹ýºó£¬²Å»á¼ÆËã AXI ½Ó¿ÚµÄ myCPU ÔËÐÐ 89 ¸ö
¹¦ÄܵãºÍ¼ÇÒäÓÎÏ·µÄ·ÖÊý¡£µÃ·ÖΪ(44.5+AXI*0.5+¼ÇÒäÓÎÏ·*11*0.5);
(3) SRAM ½Ó¿ÚµÄ myCPU ²âÊÔ£¬ÔËÐÐ 89 ¸ö¹¦Äܵã²âÊÔ²»ÊÇȫͨ¹ý£¬ÇÒ AXI ½Ó¿Ú myCPU Ò²²»ÊÇȫͨ¹ý£¬Ôò
Ö»¼ÆËã SRAM ½Ó¿ÚµÄ myCPU µÃ·Ö¡£µÃ·ÖΪ(SRAM*0.5)¡£
1.4 ¹¦ÄܲâÊÔ·ÖÊýÌá½»
²Î¿¼´óÈü·¢²¼°ü Qualifiers_Submission/Ô¤ÈüÌύ˵Ã÷.pdf ºÍ Qualifiers_Submission/score.xls¡£
5