Skip to content

Instantly share code, notes, and snippets.

@miyo
miyo / 00_readme.md
Last active December 8, 2019 09:17
gccとg++でcomplex.hを使った場合の速度を調べてみた

CプログラムってC++コンパイラ(g++)でもコンパイルできるよね, その場合,生成されるコードってどのくらい違うのだろう?実行時間は? という疑問に対して複素数扱うプログラムの場合で調べてみた,結果. 関連してC++のcomplexを使う場合についての実行時間も調べてみた.

結果,CプログラムをC++コンパイラ(g++)でコンパイルした場合, 関数名が違うくらいの,ほぼ同じコードが生成された. 一方で,なぜかg++で生成したバイナリの実行時間は gccで生成したバイナリの実行時間より長くなる傾向が見られた(なぜ?)

@miyo
miyo / clk_wiz_0.xci
Created April 24, 2020 11:08
UARTで12Mbaud(9.6Mbps通信してみた)
<?xml version="1.0" encoding="UTF-8"?>
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<spirit:vendor>xilinx.com</spirit:vendor>
<spirit:library>xci</spirit:library>
<spirit:name>unknown</spirit:name>
<spirit:version>1.0</spirit:version>
<spirit:componentInstances>
<spirit:componentInstance>
<spirit:instanceName>clk_wiz_0</spirit:instanceName>
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="clk_wiz" spirit:version="6.0"/>
@miyo
miyo / check_vcd_var.py
Created April 30, 2020 02:01
VCDファイルから、指定された信号が変化した時刻と値を抜き出す
import sys
if __name__ == '__main__':
if len(sys.argv) < 3:
print("usage: {} vcd target".format(sys.argv[0]))
sys.exit(0)
vcd = sys.argv[1]
target = sys.argv[2]
@miyo
miyo / counter.sv
Created May 6, 2020 06:56
Verilatorでvcdファイルを生成する (http://zipcpu.com/blog/2017/06/21/looking-at-verilator.html を 試してみる)
module counter
(
input wire clk,
input wire reset,
output wire q
);
logic [31:0] d = 32'h0;
assign q = d[20];
@miyo
miyo / serial_send.sv
Created May 7, 2020 07:27
ACRiブログ "FPGA をもっと活用するために IP コアを使ってみよう (3)" のコードスニペット - その1
module serial_send (
input logic CLK, RST,
output logic DATA_OUT,
output logic BUSY);
parameter WAIT_DIV = 868; // 100 MHz / 115.2 kbps
localparam WAIT_LEN = $clog2(WAIT_DIV);
(* KEEP *) logic [7:0] DATA_IN;
(* KEEP *) logic WE;
@miyo
miyo / clk_wiz_0.xci
Created May 7, 2020 09:28
ACRiブログ "FPGA をもっと活用するために IP コアを使ってみよう (3)" のコードスニペット - その2
<?xml version="1.0" encoding="UTF-8"?>
<spirit:design xmlns:xilinx="http://www.xilinx.com" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<spirit:vendor>xilinx.com</spirit:vendor>
<spirit:library>xci</spirit:library>
<spirit:name>unknown</spirit:name>
<spirit:version>1.0</spirit:version>
<spirit:componentInstances>
<spirit:componentInstance>
<spirit:instanceName>clk_wiz_0</spirit:instanceName>
<spirit:componentRef spirit:vendor="xilinx.com" spirit:library="ip" spirit:name="clk_wiz" spirit:version="6.0"/>
@miyo
miyo / bram_example_top.sv
Created May 23, 2020 13:11
ACRiブログ "FPGA をもっと活用するために IP コアを使ってみよう (4)" のコードスニペット
`default_nettype none
module bram_example_top (
input wire CLK,
input wire RST,
output logic DATA_OUT
);
logic [7:0] DATA_IN;
logic WE;
@miyo
miyo / bram_to_fifo.sv
Last active May 29, 2020 07:50
ACRiブログ "FPGA をもっと活用するために IP コアを使ってみよう (5)" のコードスニペット
`default_nettype none
module bram_to_fifo
(
input wire CLK,
input wire RST,
output logic WE,
output logic [7:0] DATA_IN,
@miyo
miyo / search_lan_cable.py
Last active July 7, 2020 02:39
A simple web scraping example
# THIS IS AN EXAMPLE SCRIPT OF WEB SCRAPING
# DO NOT ATACK THE WEB SITE
import requests
from bs4 import BeautifulSoup
import re
import sys
import urllib
if len(sys.argv) < 2:
@miyo
miyo / arty.xdc
Last active August 12, 2020 14:07
ACRiブログ "FPGA をもっと活用するために IP コアを使ってみよう (2)" のコードスニペット
set_property -dict {PACKAGE_PIN E3 IOSTANDARD LVCMOS33} [get_ports CLK]
set_property -dict {PACKAGE_PIN C2 IOSTANDARD LVCMOS33} [get_ports RST]
set_property -dict {PACKAGE_PIN H5 IOSTANDARD LVCMOS33} [get_ports ON]