Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

Reconfire.ioでもLLVM



Go LanguageでFPGAを実装できるReconfigure.io

このブログでも、2017年7月13日に詳細しています。

現在は、クラウドだけでなく、On-Premisesもできるって。。。

ドキュメントも充実してきたみたい。



結構、頻繁にアップデートしているね。

Go Language => Teak : DataFlow Graph => RTL Verilog HDL => FPGA Tool

ターゲットは、AWS F1なので、ツールは、Xilinx。。。


recoコマンドソースコードで公開されていますね。

ソースコードを追ってみたら、uploadJobに行きついた。
引用
func (p *clientImpl) uploadJob(jobType string, id string, srcArchive string) error {
	var endpoint string
	switch jobType {
	case JobTypeSimulation:
		endpoint = endpoints.simulations.Input()
	case JobTypeGraph:
		endpoint = endpoints.graphs.Input()
	default:
		endpoint = endpoints.builds.Input()
	}
	req := p.apiRequest(endpoint)
	req.param("id", id)
	req.jsonBody = false

	f, err := os.Open(srcArchive)
	if err != nil {
		return err
	}

	resp, err := req.Do("PUT", f)
	var respJSON struct {
		Value apiResponse `json:"value"`
		Error string      `json:"error"`
	}

	decodeJSON(resp.Body, &respJSON)

	if resp.StatusCode > 299 || len(respJSON.Value.Job.Events) == 0 {
		return errors.New("unknown error occured")
	}
	return err
}

なんか、サーバーにコードを送っていますね。
サーバー側で各種コマンドを実行しているんですね。

ふーん。