FC2カウンター FPGAの部屋 2017年11月08日

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

intel HLS コンパイラを試してみる2(counterサンプルが動いた)

intel HLS コンパイラを試してみる”の続き。

前回はinit_hls.bat に失敗したので、今回はVisual Studio 2010 Professional をインストールしてからやってみた。
なお、 @cinimlさんに全面的に教えて頂いたので、この場でお礼を申し上げます。ありがとうございました。
@cinimlさんがトライアルのVisual Studio 2010 Professional ではなく、 Visual Studio 2010 Express で動かせるようにする手順を書いてくれました。”Windows10 64bitでQuartus Prime (Lite) 17.1付属のIntel HLS Compilerを試す”です。ありがとうございました。

まずは、Visual Studio Community 2017 (version 15.4)のダウンロードページから「以前のダウンロード エクスペリエンスに戻す」をクリックして、[Trial] Visual Studio 2010 Professional リリース日 2010/08/26 の日本語版をダウンロードした。これは、DVDイメージで約 2.5 GB あった。
ja_visual_studio_2010_professional_x86_dvd_517404.iso がダウンロードできたので、ダブルクリックするとPower2Go (たまたまインストールしてあったので)が起動してG: に仮想ドライブとしてマウントすることができた。

G: から setup.exe を起動してVisual Studio 2010 Professional をインストールできた。

@cinimlさんのstart_intelhls_vs2010pro.bat を使わせてもらって、intelFPGA_lite のフォルダを F: に変更した。
Intel_HLS_5_171108.png

コマンドプロンプト上で、start_intelhls_vs2010pro.bat を起動した。
Intel_HLS_6_171108.png

もう1つコマンドプロンプトが開いた。こっちで、cd exmaples\counter してから build.bat を起動した。
見事に test-x86-64.exe ができた。やった。。。@cinimlさん本当にありがとうございました。
Intel_HLS_7_171108.png

test-x86-64.exe を起動したら、PASSED と表示された。
Intel_HLS_8_171108.png

どうやら、build.bat と起動するのと、build test-x86-64 とオプションを付けて起動するは一緒の動作のようだ。
Intel_HLS_9_171108.png

Getting Started Guide を見ると、test-fpga というオプションもあるようだ。
build test-fpga を実行した。
Intel_HLS_10_171108.png

test-fpga.exe と test-fpga.prj ができた。

test-fpga.exe を実行すると PASSED と表示された。
Intel_HLS_12_171108.png

tree test-fpga.prj /f > tree.txt でディレクトリ構造を tree.txt に保存した。
Intel_HLS_11_171108.png

tree.txt を貼っておく。

F:\INTELFPGA_LITE\17.1\HLS\EXAMPLES\COUNTER\TEST-FPGA.PRJ
├─components
│  └─count
│      │  count.qsys
│      │  count_inst.v
│      │  count_internal.v
│      │  count_internal_hw.tcl
│      │  interface_structs.v
│      │  
│      ├─ip
│      │      acl_data_fifo.v
│      │      acl_dspba_buffer.v
│      │      acl_dspba_valid_fifo_counter.v
│      │      acl_enable_sink.v
│      │      acl_fanout_pipeline.sv
│      │      acl_fifo.v
│      │      acl_high_speed_fifo.sv
│      │      acl_lfsr.sv
│      │      acl_ll_fifo.v
│      │      acl_ll_ram_fifo.v
│      │      acl_low_latency_fifo.sv
│      │      acl_pipeline.v
│      │      acl_pop.v
│      │      acl_push.v
│      │      acl_reset_handler.sv
│      │      acl_reset_wire.v
│      │      acl_staging_reg.v
│      │      acl_std_synchronizer_nocut.v
│      │      acl_tessellated_incr_decr_threshold.sv
│      │      acl_tessellated_incr_lookahead.sv
│      │      acl_token_fifo_counter.v
│      │      acl_valid_fifo_counter.v
│      │      acl_zero_latency_fifo.sv
│      │      bb_count_B0_runOnce.vhd
│      │      bb_count_B0_runOnce_stall_region.vhd
│      │      bb_count_B1_start.vhd
│      │      bb_count_B1_start_stall_region.vhd
│      │      count_B0_runOnce_branch.vhd
│      │      count_B0_runOnce_merge.vhd
│      │      count_B0_runOnce_merge_reg.vhd
│      │      count_B1_start_branch.vhd
│      │      count_B1_start_merge.vhd
│      │      count_B1_start_merge_reg.vhd
│      │      count_function.vhd
│      │      count_function_wrapper.vhd
│      │      hld_fifo.sv
│      │      hld_fifo_zero_width.sv
│      │      i_acl_pipeline_keep_going_count6.vhd
│      │      i_acl_pipeline_keep_going_count_sr.vhd
│      │      i_acl_pipeline_keep_going_count_valid_fifo.vhd
│      │      i_acl_pop_i1_wt_limpop_count0.vhd
│      │      i_acl_pop_i1_wt_limpop_count_reg.vhd
│      │      i_acl_pop_i32_cnt_count_4ia_addr_0_pop3_count15.vhd
│      │      i_acl_push_i1_notexitcond_count8.vhd
│      │      i_acl_push_i1_wt_limpush_count2.vhd
│      │      i_acl_push_i1_wt_limpush_count_reg.vhd
│      │      i_acl_push_i32_cnt_count_4ia_addr_0_push3_count17.vhd
│      │      i_acl_sfc_exit_c0_wt_entry_count_c0_exit_count10.vhd
│      │      i_acl_sfc_exit_c1_wt_entry_count_c1_exit_count19.vhd
│      │      i_iord_bl_do_unnamed_count1_count12.vhd
│      │      i_iowr_bl_return_unnamed_count2_count21.vhd
│      │      i_sfc_c0_wt_entry_count_c0_enter_count.vhd
│      │      i_sfc_c1_wt_entry_count_c1_enter_count.vhd
│      │      i_sfc_logic_c0_wt_entry_count_c0_enter_count4.vhd
│      │      i_sfc_logic_c1_wt_entry_count_c1_enter_count13.vhd
│      │      st_top.v
│      │      
│      └─windows64
│          └─lib
│              └─dspba
│                  └─Libraries
│                      └─vhdl
│                          └─base
│                                  dspba_library.vhd
│                                  dspba_library_package.vhd
│                                  
├─quartus
│      generate_report.tcl
│      quartus.ini
│      quartus_compile.qpf
│      quartus_compile.qsf
│      quartus_compile.sdc
│      quartus_compile.v
│      
├─reports
│  │  report.html
│  │  test_fpga.aoco
│  │  
│  └─lib
│      │  favicon.ico
│      │  graph.js
│      │  main.css
│      │  main.js
│      │  report_data.js
│      │  table.js
│      │  verification_data.js
│      │  
│      ├─ace
│      │  │  Ace.foss
│      │  │  LICENSE
│      │  │  
│      │  └─src
│      │          ace.js
│      │          ext-searchbox.js
│      │          mode-c_cpp.js
│      │          mode-verilog.js
│      │          mode-vhdl.js
│      │          theme-xcode.js
│      │          
│      ├─bootstrap
│      │  │  Bootstrap.foss
│      │  │  
│      │  ├─css
│      │  │      bootstrap-theme.min.css
│      │  │      bootstrap.min.css
│      │  │      
│      │  ├─fonts
│      │  │      glyphicons-halflings-regular.eot
│      │  │      glyphicons-halflings-regular.svg
│      │  │      glyphicons-halflings-regular.ttf
│      │  │      glyphicons-halflings-regular.woff
│      │  │      
│      │  └─js
│      │          bootstrap.min.js
│      │          
│      ├─d3
│      │      D3.foss
│      │      d3.min.js
│      │      dagre-d3.foss
│      │      dagre-d3.js
│      │      
│      ├─fancytree
│      │  │  fancytree.foss
│      │  │  jquery.fancytree-all.min.js
│      │  │  
│      │  └─skin-win8
│      │          icons.gif
│      │          kernelicon.png
│      │          memicon.png
│      │          ui.fancytree.css
│      │          ui.fancytree.less
│      │          
│      ├─fonts
│      │      IntelClear_Bd.ttf
│      │      IntelClear_It.ttf
│      │      IntelClear_Lt.ttf
│      │      IntelClear_Rg.ttf
│      │      
│      ├─jquery
│      │      jquery-2.1.1.min.js
│      │      jquery-ui.min.css
│      │      jquery-ui.min.js
│      │      jquery.foss
│      │      
│      └─json
│              area.json
│              area_src.json
│              info.json
│              lmv.json
│              loops.json
│              mav.json
│              quartus.json
│              summary.json
│              warnings.json
│              
└─verification
    │  compile.cmd
    │  modelsim.ini
    │  tb.qsys
    │  tb.sopcinfo
    │  
    └─tb
        │  tb.cmp
        │  tb.csv
        │  tb.html
        │  tb.sip
        │  tb.spd
        │  tb_generation.rpt
        │  
        ├─altera_irq_mapper_171
        │  └─sim
        │          tb_altera_irq_mapper_171_dsk4veq.sv
        │          
        ├─avalon_concatenate_singlebit_conduits_10
        │  └─sim
        │          tb_avalon_concatenate_singlebit_conduits_10_bjzeuhq.sv
        │          
        ├─avalon_conduit_fanout_10
        │  └─sim
        │          tb_avalon_conduit_fanout_10_wcpjniy.sv
        │          
        ├─avalon_split_multibit_conduit_10
        │  └─sim
        │          tb_avalon_split_multibit_conduit_10_dlmo3na.sv
        │          
        ├─count_10
        │  └─sim
        │          tb_count_10_sa5e6hy.v
        │          
        ├─count_internal_10
        │  └─sim
        │          acl_data_fifo.v
        │          acl_dspba_buffer.v
        │          acl_dspba_valid_fifo_counter.v
        │          acl_enable_sink.v
        │          acl_fanout_pipeline.sv
        │          acl_fifo.v
        │          acl_high_speed_fifo.sv
        │          acl_lfsr.sv
        │          acl_ll_fifo.v
        │          acl_ll_ram_fifo.v
        │          acl_low_latency_fifo.sv
        │          acl_pipeline.v
        │          acl_pop.v
        │          acl_push.v
        │          acl_reset_handler.sv
        │          acl_reset_wire.v
        │          acl_staging_reg.v
        │          acl_std_synchronizer_nocut.v
        │          acl_tessellated_incr_decr_threshold.sv
        │          acl_tessellated_incr_lookahead.sv
        │          acl_token_fifo_counter.v
        │          acl_valid_fifo_counter.v
        │          acl_zero_latency_fifo.sv
        │          bb_count_B0_runOnce.vhd
        │          bb_count_B0_runOnce_stall_region.vhd
        │          bb_count_B1_start.vhd
        │          bb_count_B1_start_stall_region.vhd
        │          count_B0_runOnce_branch.vhd
        │          count_B0_runOnce_merge.vhd
        │          count_B0_runOnce_merge_reg.vhd
        │          count_B1_start_branch.vhd
        │          count_B1_start_merge.vhd
        │          count_B1_start_merge_reg.vhd
        │          count_function.vhd
        │          count_function_wrapper.vhd
        │          count_internal.v
        │          dspba_library.vhd
        │          dspba_library_package.vhd
        │          hld_fifo.sv
        │          hld_fifo_zero_width.sv
        │          i_acl_pipeline_keep_going_count6.vhd
        │          i_acl_pipeline_keep_going_count_sr.vhd
        │          i_acl_pipeline_keep_going_count_valid_fifo.vhd
        │          i_acl_pop_i1_wt_limpop_count0.vhd
        │          i_acl_pop_i1_wt_limpop_count_reg.vhd
        │          i_acl_pop_i32_cnt_count_4ia_addr_0_pop3_count15.vhd
        │          i_acl_push_i1_notexitcond_count8.vhd
        │          i_acl_push_i1_wt_limpush_count2.vhd
        │          i_acl_push_i1_wt_limpush_count_reg.vhd
        │          i_acl_push_i32_cnt_count_4ia_addr_0_push3_count17.vhd
        │          i_acl_sfc_exit_c0_wt_entry_count_c0_exit_count10.vhd
        │          i_acl_sfc_exit_c1_wt_entry_count_c1_exit_count19.vhd
        │          i_iord_bl_do_unnamed_count1_count12.vhd
        │          i_iowr_bl_return_unnamed_count2_count21.vhd
        │          i_sfc_c0_wt_entry_count_c0_enter_count.vhd
        │          i_sfc_c1_wt_entry_count_c1_enter_count.vhd
        │          i_sfc_logic_c0_wt_entry_count_c0_enter_count4.vhd
        │          i_sfc_logic_c1_wt_entry_count_c1_enter_count13.vhd
        │          st_top.v
        │          
        ├─hls_sim_clock_reset_10
        │  └─sim
        │          hls_sim_clock_reset.sv
        │          
        ├─hls_sim_component_dpi_controller_10
        │  └─sim
        │          hls_sim_component_dpi_controller.sv
        │          hls_sim_stream_sink_dpi_bfm.sv
        │          hls_sim_stream_source_dpi_bfm.sv
        │          
        ├─hls_sim_main_dpi_controller_10
        │  └─sim
        │          hls_sim_main_dpi_controller.sv
        │          
        └─sim
            │  tb.v
            │  
            ├─aldec
            │      rivierapro_setup.tcl
            │      
            ├─cadence
            │  │  cds.lib
            │  │  hdl.var
            │  │  ncsim_setup.sh
            │  │  
            │  └─cds_libs
            │          tb_altera_irq_mapper_171.cds.lib
            │          tb_avalon_concatenate_singlebit_conduits_10.cds.lib
            │          tb_avalon_conduit_fanout_10.cds.lib
            │          tb_avalon_split_multibit_conduit_10.cds.lib
            │          tb_count_10.cds.lib
            │          tb_count_internal_10.cds.lib
            │          tb_hls_sim_clock_reset_10.cds.lib
            │          tb_hls_sim_component_dpi_controller_10.cds.lib
            │          tb_hls_sim_main_dpi_controller_10.cds.lib
            │          
            ├─mentor
            │  │  msim_compile.tcl
            │  │  msim_run.tcl
            │  │  msim_setup.tcl
            │  │  
            │  └─libraries
            │      │  _info
            │      │  
            │      ├─tb_altera_irq_mapper_171
            │      │      _info
            │      │      _lib.qdb
            │      │      _lib1_0.qdb
            │      │      _lib1_0.qpg
            │      │      _lib1_0.qtl
            │      │      _vmake
            │      │      
            │      ├─tb_avalon_concatenate_singlebit_conduits_10
            │      │      _info
            │      │      _lib.qdb
            │      │      _lib1_0.qdb
            │      │      _lib1_0.qpg
            │      │      _lib1_0.qtl
            │      │      _vmake
            │      │      
            │      ├─tb_avalon_conduit_fanout_10
            │      │      _info
            │      │      _lib.qdb
            │      │      _lib1_0.qdb
            │      │      _lib1_0.qpg
            │      │      _lib1_0.qtl
            │      │      _vmake
            │      │      
            │      ├─tb_avalon_split_multibit_conduit_10
            │      │      _info
            │      │      _lib.qdb
            │      │      _lib1_0.qdb
            │      │      _lib1_0.qpg
            │      │      _lib1_0.qtl
            │      │      _vmake
            │      │      
            │      ├─tb_count_10
            │      │      _info
            │      │      _lib.qdb
            │      │      _lib1_0.qdb
            │      │      _lib1_0.qpg
            │      │      _lib1_0.qtl
            │      │      _vmake
            │      │      
            │      ├─tb_count_internal_10
            │      │      _info
            │      │      _lib.qdb
            │      │      _lib1_0.qdb
            │      │      _lib1_0.qpg
            │      │      _lib1_0.qtl
            │      │      _vmake
            │      │      
            │      ├─tb_hls_sim_clock_reset_10
            │      │  │  _info
            │      │  │  _lib.qdb
            │      │  │  _lib1_0.qdb
            │      │  │  _lib1_0.qpg
            │      │  │  _lib1_0.qtl
            │      │  │  _vmake
            │      │  │  
            │      │  └─_dpi
            │      │          dpi.tfdb
            │      │          
            │      ├─tb_hls_sim_component_dpi_controller_10
            │      │  │  _info
            │      │  │  _lib.qdb
            │      │  │  _lib1_0.qdb
            │      │  │  _lib1_0.qpg
            │      │  │  _lib1_0.qtl
            │      │  │  _vmake
            │      │  │  
            │      │  └─_dpi
            │      │          dpi.tfdb
            │      │          
            │      ├─tb_hls_sim_main_dpi_controller_10
            │      │  │  _info
            │      │  │  _lib.qdb
            │      │  │  _lib1_0.qdb
            │      │  │  _lib1_0.qpg
            │      │  │  _lib1_0.qtl
            │      │  │  _vmake
            │      │  │  
            │      │  └─_dpi
            │      │          dpi.tfdb
            │      │          
            │      └─work
            │              _info
            │              _lib.qdb
            │              _lib1_0.qdb
            │              _lib1_0.qpg
            │              _lib1_0.qtl
            │              _vmake
            │              
            └─synopsys
                └─vcsmx
                        synopsys_sim.setup
                        vcsmx_setup.sh

  1. 2017年11月08日 05:38 |
  2. intel HLS
  3. | トラックバック:0
  4. | コメント:0