サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
達人出版会からFPGAでCPUを作ろう〜FPGAで、あなたも自分がデザインしたコンピュータを動かせる〜が出版されました。長らくβ版でしたが、6月22日にようやくβが取れ、正式版になりました。 内容 現在比較的入手しやすいFPGAボードを使って、自作CPUを動かしていきます。回路記述にVerilog-HDLやVHDLでなくNSLを使うところが特徴的です。NSLの説明は、Overtone様のWebで読むことができます。きっちりCPUを作り込むというよりは、作っていく様子がよく分かるようになっています。著者がソフトウェア寄りの人なので、時々ふっと違う発想が出てきて面白いです。本文にSICPやプログラミング言語AWKが出てくるFPGA本は、この本だけです。 CPUの創りかたと比べて CPUを作ってみよう!系の本では、CPUの創りかたが有名です。ざっくり比較するとこうなります。 FPGAでCPUを作
サポートサイト著者によるサポートページが公開されています→『FPGAでCPUを作ろう』サポートページ 書誌情報 著者: 岸本誠 発行日: 2012-03-21 最終更新日: 2012-06-22 バージョン: 1.0.0 ページ数: 112ページ(A4PDF版換算) 対応フォーマット: EPUB, PDF 出版社: 達人出版会 対象読者 プロセッサの設計方法についての知識はあるが、FPGA を使ったりといった電子工作の経験はない、という方。あるいは、電子工作の経験はあるが、プロセッサの設計方法はよくわからない、という方。 著者について 岸本誠 計算機科学を専攻した後、プログラマとして働く。プログラマとしてした仕事としては、Globus Toolkit と計算アプリケーションの間で使うミドルウェアに関係した開発と調査だったが、GT 3 と 4 で採用されていた XML ウェブサービス( SO
ESL言語と言えば,C言語を拡張した言語が多い。C言語をベースにすることで,ソフトウェア設計者にもハードウェア設計への道を開く----C言語ベースのESL言語の謳(うた)い文句である。そうしたESL言語の中で異彩を放つのが,米Bluespec, Inc.のBluespec SystemVerilog(以下BSV)。Bluespecは「BSVをハードウェア設計者向けのESL言語」と言ってはばからない(Tech-On!関連記事1)。 こうしたBluespec社のラブ・コールのせいかどうかは不明だが,BSVに関心を寄せるエンジニアは多い上,おおむね評価も高い(同2,同3)。玄人受けしていたBSVだが,日本上陸には時間がかかった。1年ほど前にサイバネットシステムがBluespecと代理店契約したばかりである(同4)。
2010年6月10日、ESL合成ツールを手掛けるBluespec社の日本代理店を務めるサイバネットシステムは、富士通がBluespecのESL合成ツールを採用した事を発表した。 プレスリリース文 サイバネットによると、富士通は独立行政法人新エネルギー・産業技術総合開発機構(NEDO)から委託されている「メニーコア・プロセッサ技術の先導研究」において、サーバー向けプロセッサのハードウェア・アーキテクチャの探索・設計にBluespecのESL合成ツールを利用した。 同設計事例の詳細は、7月13日に開催予定の「Bluespec User Group Meeting 2010」にて発表される予定となっている。 富士通 高村 守幸氏 (エンタプライズサーバ本部長付)のコメント: 「32 コア、48 コア、64 コアといったメニーコア・プロセッサのプロセッサ相互結合網を開発する場合、その通信パターンの
時代は並列コンピュータのようなので、迷路の問題を解くための並列ハードウェアをVerilogで作ってみました。 元ネタはこちら http://okajima.air-nifty.com/b/2010/01/post-abc6.html アルゴリズム 迷路をグラフで表します。 迷路の1マスに1つのプロセッサを割り当てます。 プロセッサは次の事を行います。 1つのプロセッサは1つのscoreを持ちます。 scoreの初期値は、全て最大値から始まります。例外的にスタート地点のみ0から始まります。 壁に割り当てられたプロセッサのscoreは、最大値から変化しません。 通路に割り当てられたプロセッサは、上下左右に接続されたプロセッサのscoreのうち、一番小さい物に1足した値を自分のscoreにします。 全てのプロセッサを同時に動作させ、ゴールに割り当てられたプロセッサのscoreが最大値から変化した
サイバネットシステム株式会社(本社:東京都、代表取締役社長:田中 邦明、以下「サイバネット」)は、アメリカ ブルースペック社(本社:マサチューセッツ州)が開発し、サイバネットが販売・サポートする「Bluespec(ブルースペック)」を用いた「Bluespecデザインコンテスト2010」を開催することをお知らせいたします。 このコンテストは、LSI設計の次世代合成言語として期待される「Bluespec SystemVerilog(ブルースペック システムベリログ)」の有用性を設計者に広く実感していただくことを目的としています。参加者は「ソート回路」の設計を、サンプル回路とテストベンチを参考にしながら、アイデアを盛り込んでいただきます。 皆さんのご参加をお待ちしております!
Function Interface Models for Hardware Compilation. Dan Ghica. The problem of synthesis of gate-level descriptions of digital circuits from behavioural specifications written in higher-level programming languages (hardware compilation) has been studied for a long time yet a definitive solution has not been forthcoming. The argument of this essay is mainly methodological, bringing a perspective tha
Apple (2) Books (2) College (7) Conferences (15) Food (8) FOSS (46) FOSS.IN (6) Fun (23) Gentoo (32) Google (6) Hacks (12) Humor (4) Life (44) Linux (12) Mac (8) Movies (5) Mozilla (27) Music (3) People (42) Photos (4) PHP (3) PHP-GTK (3) Places (13) Plan9 (23) Programming (22) Python (1) SoC (37) Technology (30) Uncategorized (2) WP Cumulus Flash tag cloud by Roy Tanc
参考:こんなRuby言語 - 檜山正幸のキマイラ飼育記 参照元にコメントで書いちゃうとネタバレっぽいのでこっちに書いときますが…こっちのRubyは、1990年前後に開発されたハードウェア記述言語(回路記述言語)です。 ここにホームページもあります。今現在メンテされてるのかは知りませんが。 名付け親はMary Sheeranという女性の方で、ハードウェアの形式検証な人です。ちなみに、Hardware Design and Functional Programming: a Perfect Match なんていう論文を発表したりしてます。こっちの方が興味引く人いるんじゃないでしょうか。 Hardware Design and Functional Programming: a Perfect Match, by Mary Sheeran, Journal of Universal Comput
Verilogの規格書を見ていたら面白い機能を見つけました。他の言語で見たことが無い機能なので紹介します。 Verilog の$fopenはCのfopenと同じように、ファイル名とファイルタイプを指定して呼び出します。戻り値multichannel descriptorはintegerで受けます。 integer fd1, fd2, fd3; fd1 = $fopen("foo.txt", "w"); fd2 = $fopen("baa.txt", "w"); ここまでは普通の言語と同じですが、Verilogではmultichannel descriptorのorを取る事ができます。 fd3 = fd1 | fd2; $fdisplay(fd3, "hello"); fd3を使った出力はfd1(foo.txt)、fd2(baa.txt)の両方に同じ値を出力します。またfd3 = fd1 |
とりあえず Parsecをちゃんと使えてるかどうかをチェックしたいので semantic valueの処理は全然作り込んでいなくて パースした文字列を表示する処理だけ書いています。 declarationを書いているのだけど、どんどん繋がっていってキリがないので 一旦 module_itemで切ってソースを貼っておこうと思います。 portのシンタックスってこんなに複雑だったっけ。 あと、BNFに明示されてないけど spaceの扱いをちゃんとやろうとすると 記述が長くなってしまいます。 それから、いまのところ tryをふんだんに使っています。 module Vparsec where import Text.ParserCombinators.Parsec import Text.ParserCombinators.Parsec.Expr {-- File input version --
LSI設計とは Bluespecはプログラミング言語Bluespec SystemVerilogを使用したLSI設計のための統合環境です。通常、プログラミング言語はソフトウエアを作るために使用されており、LSI設計のためのプログラミング言語と聞いてもイメージがわきにくいと思います。また、「LSIって何?」という読者のためにも、LSI設計の歴史から簡単におさらいしたいと思います。 LSIとはLarge Scale Integrationの略で、大規模集積回路と訳されます。一般的には半導体チップ、ICなどと呼ばれることの多い電子部品の中で、膨大な数の素子を1個の部品に入れ込んで高機能を実現したものの総称です。LSIの有名なものとしては、Intel社のCore 2 Duoなどのプロセッサなどがあり、LSIはパソコンや携帯電話など、ほとんどの電子機器には欠かせない存在です。つまり、LSIというのは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く