Unconventional HDL Programming ( version) 1

Similar documents
if clear = 1 then Q <= " "; elsif we = 1 then Q <= D; end rtl; regs.vhdl clk 0 1 rst clear we Write Enable we 1 we 0 if clk 1 Q if rst =

スライド 1

VHDL VHDL VHDL i

VHDL

Microsoft PowerPoint - 集積回路工学_ ppt[読み取り専用]

論理設計の基礎

TECH_I Vol.25 改訂新版PCIデバイス設計入門

Microsoft Word - 実験4_FPGA実験2_2015

Verilog HDL による回路設計記述

Łñ“’‘‚2004

プリント


Microsoft PowerPoint LC_15.ppt

RSA FA FA AND Booth FA FA RSA 3 4 5


スライド 1


問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

PeakVHDL Max+Plus VGA VG

エンティティ : インタフェースを定義 entity HLFDD is port (, : in std_logic ;, : out std_logic ) ; end HLFDD ; アーキテクチャ : エンティティの実現 architecture RH1 of HLFDD is <= xor

VBI VBI FM FM FM FM FM DARC DARC

untitled

LSI LSI 2

<4D F736F F D2091B28BC68CA48B8695F18D902E646F63>

デザインパフォーマンス向上のためのHDLコーディング法

1 CPU 4 CPU Express

FPGA と LUPO その1

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ

COINS 5 2.1

VHDL-AMS Department of Electrical Engineering, Doshisha University, Tatara, Kyotanabe, Kyoto, Japan TOYOTA Motor Corporation, Susono, Shizuok

untitled

main.dvi

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな

VLD Kazutoshi Kobayashi

フリップフロップ

卒 業 研 究 報 告

2.5. Verilog 19 Z= X + Y - Z A+B LD ADD SUB ST (X<<1)+(Y<<1) X 1 2 LD SL ST 2 10

9BBH3A8_P0000

VHDL

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

output2010本文.indd

untitled

PLDとFPGA

論理回路設計


Microsoft PowerPoint - Lec pptx

卒業研究報告.PDF


TOP

,…I…y…„†[…e…B…fi…O…V…X…e…•‡Ì…J†[…l…‰fi®“ì‡Ì›Â”‰›»pdfauthor

EDSF2006_ PDF

, FPGA Verilog-HDL

論理回路設計

endo.PDF


2

Kazutoshi Kobayashi (kobayasi kit.ac.jp)


starc_verilog_hdl pptx



.o...EPDF.p.indd

3.2 Linux root vi(vim) vi emacs emacs 4 Linux Kernel Linux Git 4.1 Git Git Linux Linux Linus Fedora root yum install global(debian Ubuntu apt-get inst

‚æ01Łª“û†œ070203/1‘Í

Report Template

Armadillo-9 ソフトウェアマニュアル

Ubuntu Linux PC Ubuntu Linux (14.04 LTS, Trusty Tahr) 32bit CD 64bit CD 2. 32bit CPU 64bit 32bit PC CPU 32bit 64bit Windows 64bit 64bit. 32bit Core 64

DELPHINUS EQUULEUS 2019 NASA SLS FPGA ( ) DELPHINUS 2

3 Ubuntu Linux Ubuntu Linux Debian Linux DistroWatch.com 1 Debian Ubuntu Linux 1 Debian CD(4.1 ) Knoppix Debian CentOS Linux CentOS 1 Ubuntu L

計数工学実験/システム情報工学実験第一 「ディジタル回路の基礎」

108 Debian.Deb 銀河系唯一のDebian 専門誌

p1

dp0206_j

Power Calculator

サーバー製品 Linux動作確認一覧表

回路設計 WEBラボ:10ビットのプチDACをRTLで動かしてみる(おまけソースつき)

Server Backup Manager 5.0 Debian および Ubuntu システムへの Server Backup Free のインストール 1. APT-GET をしてServer Backup Free をインストールする 2. Server Backup Free のインストール

Q 23 A Q Q15 76 Q23 77

論理回路設計

Quickstart Guide 3rd Edition

ViewSonic Corporation, Macintosh Power Macintosh Microsoft Windows Windows ViewSonic 3 OnView ViewMatch ViewMeter ViewSonic ViewSonic, ViewSonic

推奨されるHDLコーディング構文

Report Template

VelilogHDL 回路を「言語」で記述する

p...{..P01-48(TF)

bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows ˆ Windows10 64bit Wi

HDL Designer Series SupportNet GUI HDL Designer Series HDL Desi

ohp1.dvi

LSI LSI

[公開OK][空閑さん資料]kuga-ovs-fpga.pptx

( )


untitled

<4D F736F F D2081A193B98BE EA97708CFB8DC08B4B92E D8D878CFB8DC0817A B4B816A81798A6D92E894C5817A2E646F63>


untitled

橡okamura-ppt.PDF

2


1

Transcription:

Unconventional HDL Programming (20090425 version) 1

1 Introduction HDL HDL Hadware Description Language printf printf (C ) HDL 1 HDL HDL HDL HDL HDL HDL 1 2

2 2.1 VHDL 1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.std_logic_unsigned.all; 4 5 entity rshift_5 is 6 port ( Listing 1: VHDL 7 i : in std_logic_vector(9 downto 0); 8 o : out std_logic_vector(9 downto 0) 9 ); 10 end rshift_5; 11 12 architecture rtl of rshift_5 is 13 begin 14 o <= "00000"&i(9 downto 5); 15 end rtl; HDL VHDL 1 5 bit rshift_5 i o 14 VHDL i o VHDL 7 VHDL i 10 8 o 10 10 (9 downto 0) 9 0 (C 0 ) std_logic_vector 3

14 i o <= VHDL i o <= o 10 10 i(9 downto 5) 10 i 9 5 o i 5 bit o 4 0 i 9 5 o 0 14 "00000" 0 0 5 5 0 VHDL 10 o n o(n) 14 1 o(9) <= 0 ; 2 o(8) <= 0 ; 3 o(7) <= 0 ; 4 o(6) <= 0 ; 5 o(5) <= 0 ; 6 o(4) <= i(9); 7 o(3) <= i(8); 8 o(2) <= i(7); 9 o(1) <= i(6); 10 o(0) <= i(5); Listing 2: VHDL 1 14 1 14 o i 5 bit 2.2 HDL 4

HDL HDL 2.2.1 GHDL HDL GHDL GHDL VHDL CPU Linux CPU x86 64 Linux distribution Debian Lenny Ubuntu 8.04 LTS distribution GHDL GHDL Listing 3: GHDL Ubuntu 8.04 LTS 1 # aptitude install ghdl gtkwave gtkwave http://ghdl.free.fr/ build Ada Windows/Mac OS X GHDL 2.2.2 GHDL GHDL VHDL analyze elaborate analyze -a elaborate -e top.vhd VHDL analyze elaborate Listing 4: analyze elaborate 1 % ghdl -a --ieee=synopsys top.vhd 2 % ghdl -e --ieee=synopsys top 3 %./top 4 % ghdl --gen -makefile --ieee=synopsys top > Makefile analyze elaborate top 3 4 Makefile Makefile make analyze elaborate 5

2.2.3 1 ( rshift.vhd ) 4 Listing 5: rshift.vhd 1 % ghdl -a --ieee=synopsys rshift.vhd 2 % ghdl -e --ieee=synopsys rhisft_5 3 %./rshift_5 1 rshift.vhd main VHDL main main 5 rshift 5 ( ) main rshift 5 1 library ieee; 2 use ieee.std_logic_1164.all; 3 use ieee.std_logic_arith.all; 4 5 entity top is 6 end top; 7 8 architecture rtl of top is 9 10 component rshift_5 11 port ( Listing 6: top 12 i : in std_logic_vector(9 downto 0); 13 o : out std_logic_vector(9 downto 0) 14 ); 15 end component; 16 17 signal input : std_logic_vector(9 downto 0); 18 signal output : std_logic_vector(9 downto 0); 19 20 begin 21 DUT : rshift_5 port map (i = > input, o = > output); 22 input <= "0000100000"; 23 end rtl; 6

top 5-6 entity rshift_5 component( ) 17-18 input output 21 rshift_5 rshift_5 21 DUT VHDL VHDL : rshift_5 port map (i => input, o => output) rshift_5 i o 17-18 i => input o => output <= => main VHDL FPGA ASIC main FPGA ASIC FPGA ASIC ( PCI-Express ) main 2.2.4 6 top.vhd rshift.vhd Listing 7: 1 % ghdl -a --ieee=synopsys rshift.vhd 2 % ghdl -a --ieee=synopsys rshift.vhd 3 % ghdl -e --ieee=synopsys top 4 %./top 7

analyze entity ( 6 5-6 ) elaborate top VHDL <= assertion GHDL 1 %./top --vcd=sim.vcd Listing 8: --vcd= sim.vcd top.vhd rshift.vhd VHDL VHDL 6 17-18 signal input output sim.vcd Value Change Dump(VCD) VCD GHDL gtkwaeve gtkwave sim.vcd VCD VCD rshift_5 rshift_5 5 bit 6 0000100000 5 bit 0000000001 output 0000000001 8

sim.vcd timestamp 1 $date 2 Sun Apr 26 00:00:00 2009 3 $end 4 $version 5 GHDL v0 6 $end 7 $timescale 8 1 fs 9 $end 10 $var reg 10! input[9:0] $end 11 $var reg 10 output[9:0] $end 12 $scope module dut $end 13 $var reg 10 # i[9:0] $end 14 $var reg 10 $ o[9:0] $end 15 $upscope $end 16 $enddefinitions $end 17 #0 18 b0000100000! 19 b0000000001 20 b0000100000 # 21 b0000000001 $ Listing 9: sim.vcd VCD web $var $var (10! ) #0 input 10! 18 b0000100000 b 6 22 output b0000000001 (5 bit ) rshift_5 b0000100000 rshift_5 9

10 bit 1024 VCD VHDL VCD 2.3 VHDL VHDL 1024 5 bit VHDL 2 64 ( 4 10 19 ) ( ) CPU IEEE 754 ( IEEE 754 ) 16 bit HDL HDL 1. 2. HDL 3. HDL 10

HDL HDL HDL HDL HDL 2 C C 64 bit bit 3 to be continued... 4 version 2009/04/25 first draft (C) 2 HDL 11