рд▓рд┐рдирдХреНрд╕ рдлрд╛рдЙрдВрдбреЗрд╢рди рдиреЗ рдПрдХ рдирдИ рджрд┐рд╢рд╛ рдЦреЛрд▓реА - рдЪрд┐рдкреНрд╕ рдПрд▓рд╛рдпрдВрд╕ред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рдВрдЧрдарди рдПрдХ рдореБрдлреНрдд рдЖрд░рдЖрдИрдПрд╕рд╕реА-рд╡реА рдЕрдиреБрджреЗрд╢ рд╕реЗрдЯ рдФрд░ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░реЗрдЧрд╛ред рдЖрдЗрдП рд╣рдо рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдмрддрд╛рдПрдВ рдХрд┐ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред
/ рддрд╕реНрд╡реАрд░
рдЪрд┐рдкреНрд╕ рдПрд▓рд╛рдпрдВрд╕ рдХреНрдпреЛрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛?
рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореЗрд▓реНрдЯрдбрд╛рдЙрди рдФрд░ рд╕реНрдкреЗрдХреНрдЯрд░ рд╕реЗ рдмрдЪрд╛рд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдЪ
рд▓рд┐рдирдХреНрд╕ рдлрд╛рдЙрдВрдбреЗрд╢рди рднреА рдЕрд▓рдЧ рдирд╣реАрдВ рд░рд╣рд╛ред рд╕рдВрдЧрдарди рдиреЗ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдкрд╣рд▓ - CHIPS рдПрд▓рд╛рдпрдВрд╕ - рд▓реЙрдиреНрдЪ рдХреА, рдЬрд┐рд╕рдХреЗ рд╕рджрд╕реНрдп RISC-V рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗред
рдХреМрди рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИрдВ
CHIPS рдПрд▓рд╛рдпрдВрд╕ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдореЗрдВ Google, рд╡реЗрд╕реНрдЯрд░реНрди рдбрд┐рдЬрд┐рдЯрд▓ (WD) рдФрд░ SiFive рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЗ рдЕрдкрдирд╛-рдЕрдкрдирд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ред рдЖрдЗрдП рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВред
рдЖрд░рдЖрдИрдПрд╕рд╕реАрд╡реА-рдбреАрд╡реА
рд╕рд░реНрдЪ рдЖрдИрдЯреА рджрд┐рдЧреНрдЧрдЬ рдиреЗ рдЖрд░рдЖрдИрдПрд╕рд╕реА-рд╡реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдУрдкрди рд╕реЛрд░реНрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд┐рд░реНрдгрдп
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
class riscv_arithmetic_basic_test extends riscv_instr_base_test;
`uvm_component_utils(riscv_arithmetic_basic_test)
`uvm_component_new
virtual function void randomize_cfg();
cfg.instr_cnt = 10000;
cfg.num_of_sub_program = 0;
cfg.no_fence = 1;
cfg.no_data_page = 1'b1;
cfg.no_branch_jump = 1'b1;
`DV_CHECK_RANDOMIZE_WITH_FATAL(cfg,
init_privileged_mode == MACHINE_MODE;
max_nested_loop == 0;)
`uvm_info(`gfn, $sformatf("riscv_instr_gen_config is randomized:n%0s",
cfg.sprint()), UVM_LOW)
endfunction
endclass
рдкрд░
рдУрдордиреАрдПрдХреНрд╕рдЯреЗрдВрдб рдкреНрд░реЛрдЯреЛрдХреЙрд▓
рдпрд╣ WD рдХрд╛ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ рдЬреЛ рдИрдерд░рдиреЗрдЯ рдкрд░ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдХреИрд╢ рд╕реБрд╕рдВрдЧрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд░реНрдерд┐рдд рд╣реИ
рд░реЙрдХреЗрдЯ рдЪрд┐рдк рдЬреЗрдирд░реЗрдЯрд░
SiFive рдХрд╛ рдПрдХ рд╕рдорд╛рдзрд╛рди, рдЬрд┐рд╕рдХреА рд╕реНрдерд╛рдкрдирд╛ RISC-V рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рдереАред
рд╕рдВрдмрдВрдз рдореЗрдВ
рдЧрдардмрдВрдзрди рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ
рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдлрд╛рдЙрдВрдбреЗрд╢рди рдкрд╣рд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдмрд╛рдЬрд╛рд░ рдХреЛ рдЕрдзрд┐рдХ рд▓реЛрдХрддрд╛рдВрддреНрд░рд┐рдХ рдФрд░ рдирдП рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рдмрдирд╛рдПрдЧреАред рдЖрдИрдбреАрд╕реА рдореЗрдВ
/ рддрд╕реНрд╡реАрд░
рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рд╕реЗ рдХрд╕реНрдЯрдо рдЪрд┐рдк рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рд▓рд╛рдЧрдд рднреА рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреАред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рддрднреА рд╣реЛрдЧрд╛ рдЬрдм рд▓рд┐рдирдХреНрд╕ рдлрд╛рдЙрдВрдбреЗрд╢рди рдкрд░реНрдпрд╛рдкреНрдд рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХреЗред
рд╕рдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ
рдЕрдиреНрдп рд╕рдВрдЧрдарди рдУрдкрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реАрдПрдХреНрд╕рдПрд▓ рдХрдВрд╕реЛрд░реНрдЯрд┐рдпрдо рд╣реИ, рдЬрд┐рд╕рдиреЗ рдорд╛рд░реНрдЪ рдХреЗ рдордзреНрдп рдореЗрдВ рдХрдВрдкреНрдпреВрдЯ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рд▓рд┐рдВрдХ рдорд╛рдирдХ рдкреЗрд╢ рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣ рддрдХрдиреАрдХ рдУрдордиреАрдПрдХреНрд╕рдЯреЗрдВрдб рдХреЗ рд╕рдорд╛рди рд╣реИ рдФрд░ рд╕реАрдкреАрдпреВ, рдЬреАрдкреАрдпреВ, рдПрдлрдкреАрдЬреАрдП рдХреЛ рднреА рдЬреЛрдбрд╝рддреА рд╣реИред рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рдХреЗ рд▓рд┐рдП, рдорд╛рдирдХ PCIe 5.0 рдмрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдкреНрд░реЛрд╕реЗрд╕рд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдПрдХ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдордЖрдИрдкреАрдПрд╕ рдУрдкрди рд╣реИ, рдЬреЛ рджрд┐рд╕рдВрдмрд░ 2018 рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдИред рдпрд╣ рдкрд╣рд▓ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╡реЗрд╡ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдереАред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдпреЛрдЬрдирд╛
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдУрдкрди рд╕реЛрд░реНрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рди рдХреЗрд╡рд▓ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рднреА рдЖрдо рддреМрд░ рдкрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЦреБрд▓реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдорд╛рдирдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЕрдзрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдмрд╛рдЬрд╝рд╛рд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред
рд╣рдорд╛рд░реЗ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдмреНрд▓реЙрдЧ рд╕реЗ рддрд╛рдЬрд╝рд╛ рдкреЛрд╕реНрдЯ:
рдкреАрд╕реАрдЖрдИ рдбреАрдПрд╕рдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдорд╛рдирдХ рдХрд╛ рдПрдХ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдХреА рджреБрдирд┐рдпрд╛. рдбреАрдПрдирдПрд╕ рдлрд╝реНрд▓реИрдЧ рджрд┐рд╡рд╕ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд╕рд╛рде рдЬреАрд╡рди рдХреИрд╕реЗ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдкрджрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐: рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рд╣рдорд╛рд░реЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдирд▓ рд╕реЗ рдкреЛрд╕реНрдЯ:
рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВ - рджреЛ рдирдИ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ IaaS рдкреНрд░рджрд╛рддрд╛ рдЧреНрд░рд╛рд╣рдХ рдбреЗрдЯрд╛ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИ VMware vSphere рдХреЛ HTML5 рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдкрдбрд╝реА?
рд╕реНрд░реЛрдд: www.habr.com