IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

2018-01-01から1ヶ月間の記事一覧

Haskellのドット演算子(.)

f . gと書いたときにgの結果がfに渡されるイメージで、Unixの|パイプに例えられます。 *> :t (.) (.) :: (b -> c) -> (a -> b) -> a -> c 表現は正確ではありませんが、渡される結果が「1つ」でなくても、ドット演算子は使えます。 > let f = undefined :: b…

CPUの作り方

CPUの創りかた作者: 渡波郁出版社/メーカー: 毎日コミュニケーションズ発売日: 2003/10/01メディア: 単行本(ソフトカバー)購入: 35人 クリック: 445回この商品を含むブログ (193件) を見る 読者が具体的なイメージを持って理解出来るように、文章が工夫さ…

GhcLintでコードをチェックする

結果集計 $ grep "^src" doc/wk_lint_result.md | cut -d " " -f 4- | sort | uniq -c | sort -r 18 error| Suggestion: Move brackets to avoid $ 8 error| Suggestion: Redundant $ 7 error| Suggestion: Redundant bracket 4 error| Suggestion: Avoid la…

Haskellのエスケープ(\)の挙動

function \ string "a" "\a" "\\a" "\\\a" repl "a" "\a" "\\a" "\\\a" length 1 1 2 2 mapM_ print 'a' '\a' '\\''a' '\\''\a' show "\"a\"" "\"\\a\"" "\"\\\\a\"" "\"\\\\\\a\"" Haskell Escape

mysqlshでのアクセス

すぐ忘れるのでメモ $ mysqlsh -u root -P 8000 Creating a Session to 'root@localhost:8000' Enter password: Node Session successfully established. No default schema selected. Welcome to MySQL Shell 1.0.9 Copyright (c) 2016, 2017, Oracle and/o…

HeteroMapのサンプル

a hetero-dict sample

UART

UARTについて http://www.altima.jp/column/fpga_edison/uart.html UART / USART https://www.youtube.com/watch?v=FQpbIvhY7es UART = Universal Asyncronus Receiver-Transmitter USART = Universal Syncronus / Asyncronus Receiver-Transmitter RS-232 h…

FPGAプログラミング大全 Xilinx編 10章

FPGAプログラミング大全 Xilinx編作者: 小林優出版社/メーカー: 秀和システム発売日: 2016/12/15メディア: 単行本この商品を含むブログ (1件) を見る 手元の環境Vivado 2017.3と10章で書籍と少し違っていた点 P.503 図10-28 (a) IPの登録 P.504 図10-29 乗加…

hetero-mapの使い方

hackage.haskell.org hetero-mapパッケージを使おうと思ったのですが、サンプルが見つけられず、使い方に悩みました。 このようにして、型の整合はとれても、undefinedをつかっているので実行時にエラーになります。 *Main HeteroMap.Map> let k1 = undefine…

HaskellでFPGAの最小のサンプル

入力を反転するだけのコード Not gate コンパイル $ stack exec -- clash --interactive CLaSHi, version 0.99 (using clash-lib, version 0.99): http://www.clash-lang.org/ :? for help Clash.Prelude> :cd ../worka Clash.Prelude> :! ls Clash01.hs Cla…

ターゲット指定のcabalのrepl

cabalファイルで複数のターゲットを作り、cabal replすると起動ができなくなります。 $ cabal repl cabal: The 'repl' command does not support multiple targets at once. $ また、ターゲットの名前が重複すると起動しません。 $ cabal repl myprotobuf ca…

Haskellのドキュメント生成

haddockコマンド自体はディレクトリを指定してその配下にあるhsファイルを再帰的に処理してくれるオプションはないようです。xargsを使うのが手っ取り早いようです。 haskell - how to generate documentations with haddock? - Stack Overflow $ find . -na…

Implicit Parameters

Clashのプログラミングでサンプルを作り始めたところ、?変数名 :: 型というシグネチャが出てきました。 *> :t notM notM :: (?rst::Reset domain synchronous, ?clk::Clock domain gated) => Signal domain Bool -> Signal domain Bool Implicit Paremtersと…

2018/01時点のClash

Githubから取得してclashをインストールした場合、2018/01時点では、hackageにあるチュートリアルはのコード動かないようです。 CLaSH.Tutorial tutorialにあるソースをコンパイルするとパッケージがないとのエラーメッセージがでます。 Clash.Prelude> :l M…

FPGAプログラミング大全 Xilinx編でZyboを使うとはまるところ

FPGAプログラミング大全 Xilinx編作者: 小林優出版社/メーカー: 秀和システム発売日: 2016/12/15メディア: 単行本この商品を含むブログ (1件) を見る 5章、6章はソフトマクロCPU MicroBlaze の解説になっています。その解説は、ArtyとBasys3向けの説明になっ…

ZyboのLチカ以上のサンプルアプリ

www.instructables.com www.instructables.com

Zynq-7000 All Programmable SoC テクニカル リファレンス マニュアルを読む前の情報のポインタ

レファレンスマニュアル以前 HelloWorld的な情報 ZYBO (Zynq) 初心者ガイド (1) - Qiita ZYBO (Zynq) 初心者ガイド (2) - Qiita レファレンスマニュアル 2章 信号、インターフェース、ピン MIO - Multiplexed I/O 【Zynq】ZYBOでPSのMIOを使用してLチカして…

バージョンが異なるのでツールの微妙な差異があります。 書籍:Vivado 2016.2 環境:Vivado 2017.3 p.186 Add IPのアイコンが変わっている。 p.247 メニューから[Tools]->[Create and Package IP...]を実行 Package New IPに代わっていました。 p.261 そこで…

FPGAボードに電源を入れてみる

FPGAはここで購入しました。通販ではなく、実際に店舗に行って購入しました。店舗の雰囲気は初心者お断りの雰囲気があるのですが、店員さんは親切です。店の中をキョロキョロしていたところ、店員さんに声をかけられ、買いたい商品の型番を知らせると、すぐ…

clashのインストール (Mac成功 / Windows失敗)

clashのインストールをしています。 www.clash-lang.org Macではインストールができましたが、Windowsではできませんでした。 Macの環境 OS X Yosemite 10.10.5 The Glorious Glasgow Haskell Compilation System, version 8.2.1 stack 1.6.3 x86_64 hpack-0…

stack自体のupdateの作業ログ (2018年01月)

stack buildをすると、cabalのバージョン不整合のエラーがでました。 $ stack build Unable to parse cabal file: FromString "This package requires at least Cabal version 2.0" Nothing 確認すると不整合はなさそうです。 $ cabal --version cabal-insta…

cabal自身のバージョンアップの作業ログ (2018年01月時点)

cabalは2017年8月からバージョンが2になっています。アップデートをサボっていたので更新作業をしまし。 バージョンの確認とパッケージ情報の更新をします。 $ cabal --version cabal-install version 1.24.0.0 compiled using version 1.24.0.0 of the Caba…