LSI LSI 2



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 =

VHDL VHDL VHDL i

VHDL

Verilog HDL による回路設計記述

Unconventional HDL Programming ( version) 1

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

論理設計の基礎


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

PLDとFPGA

スライド 1

Microsoft Word - 実験4_FPGA実験2_2015

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

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

スライド 1

untitled

VLD Kazutoshi Kobayashi

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

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

フリップフロップ

LSI LSI

untitled

システムオンチップ技術

main.dvi

PeakVHDL Max+Plus VGA VG


Microsoft PowerPoint LC_15.ppt

starc_verilog_hdl pptx

Design at a higher level

1: ITT-2 DDR2 1.8V,.V(F) Config. Mem. JTAG XCFPV048 LEDs SWs Clock (VariClock) DDR2 DDR2 DDR2 FPGA XC5VFX0T General-Purpose LEDs SWs XTAL (2.68kHz) MC

VBI VBI FM FM FM FM FM DARC DARC

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

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

COINS 5 2.1

卒 業 研 究 報 告

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

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

DELPHINUS EQUULEUS 2019 NASA SLS FPGA ( ) DELPHINUS 2

FPGA と LUPO その1

Microsoft PowerPoint - Lec pptx

Microsoft PowerPoint - arch5kai.ppt [互換モード]

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

RSA FA FA AND Booth FA FA RSA 3 4 5

Microsoft PowerPoint - FPGA

電卓の設計 1

3 SIMPLE ver 3.2: SIMPLE (SIxteen-bit MicroProcessor for Laboratory Experiment) 1 16 SIMPLE SIMPLE 2 SIMPLE 2.1 SIMPLE (main memo

Łñ“’‘‚2004

プリント


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

Kazutoshi Kobayashi (kobayasi kit.ac.jp)

1, Verilog-HDL, Verilog-HDL Verilog-HDL,, FPGA,, HDL, 11, 1 (a) (b) (c) FPGA (d) 2 10,, Verilog-HDL, FPGA, 12,,,, html % netscape file://home/users11/

VHDL

, FPGA Verilog-HDL

48 * *2

<4D F736F F D2091B28BC68CA48B8695F18D902E646F63>

64bit SSE2 SSE2 FPU Visual C++ 64bit Inline Assembler 4 FPU SSE2 4.1 FPU Control Word FPU 16bit R R R IC RC(2) PC(2) R R PM UM OM ZM DM IM R: reserved


Handsout3.ppt

untitled

Microsoft PowerPoint - 01_Vengineer.ppt

1 (1) vs. (2) (2) (a)(c) (a) (b) (c) 31 2 (a) (b) (c) LENCHAR

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx

「FPGAを用いたプロセッサ検証システムの製作」

Microsoft PowerPoint - slide


取扱説明書 [F-02F]

スライド 1

Microsoft PowerPoint - Lec pptx

TULを用いたVisual ScalerとTDCの開発

取扱説明書 [F-02F]

23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h

.,. 0. (MSB). =2, =1/2.,. MSB LSB, LSB MSB. MSB 0 LSB 0 0 P

論理回路設計

SCV in User Forum Japan 2003

EDSF2006_ PDF

0630-j.ppt

Microsoft PowerPoint - Chap1 [Compatibility Mode]

OS Windows Vista Windows XP PowerPoint2003 Word2003 (a Test No. OS 1 Windows Vista PPT Windows Vista Word Windows XP PPT Windows XP

Structure Modeling of Hardware Structure XMI (Class) UML2 Fig. 1 Requirements Analysis System Analysis The UML modeling with the manual entry Action U

論理回路設計


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

64bit SSE2 SSE2 FPU Visual C++ 64bit Inline Assembler 4 FPU SSE2 4.1 FPU Control Word FPU 16bit R R R IC RC(2) PC(2) R R PM UM OM ZM DM IM R: reserved

卒業研究報告.PDF

SystemC言語概論

strtok-count.eps

User-defined Logic Application Memory Manager (Replacement) Application Specific Prefetcher (ASP) Application Kernel On-chip RAM (BRAM) On-chip RAM I/

2 H23 BioS (i) data d1; input group patno t sex censor; cards;

論理回路設計

Microsoft Word - 01マニュアル・入稿原稿p1-112.doc

Power Calculator


服用者向け_資料28_0623

Microsoft Word - HW06K doc

超初心者用

main.dvi

ディジタル電子回路 設計演習課題

C¥×¥í¥°¥é¥ß¥ó¥° ÆþÌç

HDL-XRシリーズ LAN DISK 管理マニュアル

Transcription:

LSI LSI 2

P=CV 2 F 3

4

5

EDA Electric Design Automation) LSI CAD Computer Aided Design) Verilog Verify Logic VHDL VHSIC Description Language) SystemC C SFL Structured Functional description Language) NTT 6

LSI 7

(FPGA: Field Programmable Gate Array) 8

1. 2. 9

1. 2. 3. 10

FSM CPU VGA NTSC SEG LED 11

12

module comb (b, a, f ); input b; input a; output f; assign f = a&b; endmodule library ieee; use ieee.std_logic_1164.all; entity comb is port( f: out std_logic; b: in std_logic; a: in std_logic); end comb; architecture RTL of comb is begin f <= a and b; end RTL; module comb { input a,b; output f; f=a&b; } 13

module regi (m_clock, a, f ); input m_clock; reg r; input a; output f; assign f = r; always @(posedge m_clock ) begin r <= a; end endmodule library ieee; use ieee.std_logic_1164.all; entity regi is port(m_clock: in std_logic; f: out std_logic; a: in std_logic); end regi; architecture RTL of regi is signal r: std_logic; begin f <= r; p_0: process(m_clock) begin if m_clock'event and m_clock='1' then r <= a; end if; end process; end RTL; module regi { input a; output f; reg r; par { r := a; f = r; } } 14

parameter _state_sg st0 = 0; parameter _state_sg st1 = 1; parameter _state_sg st2 = 2; assign _net_2 = ((_stage_sg_state_reg)==(_state_sg st2))&_stage_sg; assign _net_1 = ((_stage_sg_state_reg)==(_state_sg st1))&_stage_sg; assign _net_0 = ((_stage_sg_state_reg)==(_state_sg st0))&_stage_sg; always @(posedge m_clock or posedge p_reset) begin if (p_reset) _stage_sg_state_reg <= _state_sg st0; else if (_net_2) _stage_sg_state_reg <= _state_sg st0; else if (_net_1) _stage_sg_state_reg <= _state_sg st2; else if (_net_0) _stage_sg_state_reg <= _state_sg st1; end constant v_state_sg_v_st0: std_logic_vector(1 downto 0) := 0; constant v_state_sg_v_st1: std_logic_vector(1 downto 0) := 1; constant v_state_sg_v_st2: std_logic_vector(1 downto 0) := 2; v_net_5 <= (v_net_4) and v_stage_sg; v_net_4 <= '1' when ((v_stage_sg_state_reg) = (v_state_sg_v_st2)) else '0' ; v_net_3 <= (v_net_2) and v_stage_sg; v_net_2 <= '1' when ((v_stage_sg_state_reg) = (v_state_sg_v_st1)) else '0' ; v_net_1 <= (v_net_0) and v_stage_sg; v_net_0 <= '1' when ((v_stage_sg_state_reg) = (v_state_sg_v_st0)) else '0' ; p_0: process(m_clock) begin if m_clock'event and m_clock='1' then if p_reset='1' then v_stage_sg_state_reg <= v_state_sg_v_st0; elsif (v_net_5)='1' then v_stage_sg_state_reg <= v_state_sg_v_st0; elsif (v_net_3)='1' then v_stage_sg_state_reg <= v_state_sg_v_st2; elsif (v_net_1)='1' then v_stage_sg_state_reg <= v_state_sg_v_st1; else v_stage_sg_state_reg <= "00"; end if; end if; end process; module sttest { stage_name sg { task t1(); } stage sg { state_name st0,st1,st2; first_state st0; state st0 goto st1; state st1 goto st2; state st2 goto st0; } } 15

16

CPU CPU 17

AFPGA 18

FPGA 19

LSI LSI 20

FF) flip flop, register, latch, memory 21

LSI LSI 22

1 02 23

24

a,b,c a b f 0 0 0 f 0 1 0 1 0 0 (1) f = a & b (2) f = a & (b c) (3) f = a (^b & c) 1 (1) 1 1 25

a b c f Don t Care 0 0 0 0 0 0 1 1 0 1 0 0 * 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 f(2) f(4) f(5) f=f(2) f(4) f(5) 26

A&B = B&A A B = B A A (B&C) = (A B)&(A C) A&(B C) = (A&B) (A&C) (A&B)&C = A&(B&C) (A B) C = A (B C) 27

A&(A B) = A A (A&B) = A f(&,,a,b,c, ) = f(,&,a,b,c, ) A&B C = (A B) & C 28

29

A,B C S,T,U S U S,T,U A B C : S T U 30

LSI LSI 31

D Q 32

33

S1, S0 N1, N0 Det 34

: Finite State Machine 35

B,Y,R Wb,Wr P Don t care() 36

37

A B C A A 38

LSI LSI 39

40

4 4+4 char 8 char a,b 100 c=a+b #include <stdio.h> int main () { char a,b,c; a=100; b=100; c=a+b; printf("a=%d, b=%d, c=%d n",a,b,c); } 41

K V=diK (i-f) f 10 ABC 42

A BCD E F A F D 43

44

floating point number) X fixed point number) 45

IEEE sign) S (exponent)e (Mantissa)M 46

S 1.xxxxxx 2 K xxxxxx M K E KE 47

1 01111111 000 0000 0000 0000 0000 0000 P.124 4.5 (1),(2) 48

LSI LSI 49

50

1. 2. 51

L L L 52

1. 2. 3. 53

54

P129 55

R R O R Q Q Q seladdh seladdm seladdl A B c Oc selcin0 selcinc woc woh O wom O wol RQ O 56

seladdl=1 selcin0=1 woc=1 wol=1 seladdm=1 selcinc=1 woc=1 wom=1 seladdh=1 selcinc=1 woc=1 woh=1 57

58

selaint selainr R R Ot wot O R Q Q Q seladdh seladdm seladdl 6 A B c selbin6 selbinq Oc selcin0 selcinc O O woh wom RQ O woc wol 59

AC 60

61 R R R Q Q Q Oc Ot O O O AC selqin0 selqinkey selrin0 selrinkey seladdh seladdm seladdl seloin0 seloinadd seloinkey A B selaint selainr selbin6 selbinq Kin 6 c selcin0 selcinc

62 R R R Q Q Q Oc Ot O O O AC selqin0 selqinkey selrin0 selrinkey seladdh seladdm seladdl seloin0 seloinadd seloinkey A B selaint selainr selbin6 selbinq Kin 6 c selcin0 selcinc Oh O O

63

64

instruct setrh Rh := key; /* */ instruct setrm Rm := key; /* instruct setrl Rl := key; */ instruct setqh Qh := key; module add12 { instruct setqm Qm := key; input key<4>; instruct setql Ql := key; instrin setrh, setrm, setrl, setqh, setqm, setql; instrin doadd; output outh<4>, outm<4>, outl<4>; reg Rh<4>, Rm<4>, Rl<4>, Qh<4>, Qm<4>, Ql<4>, Oc; reg Oh<4>, Om<4>, Ol<4>; instrself seladdh, seladdm, seladdl, selcin0, selcinc; instrself woc, woh, w0m, wol, exec_add; sel addina<4>, addinb<4>, addinc, addout<5>; instruct seladdh par { addina = Rh; addinb = Qh; } instruct seladdm par { addina = Rm; addinb = Qm; } instruct seladdl par { addina = Rl; addinb = Ql; } instruct selcin0 addinc = 0b0; instruct selcinc addinc = Oc; instruct woc Oc := addout<4>; instruct woh Oh := addout<3:0>; instruct wom Om := addout<3:0>; instruct wol Ol := addout<3:0>; instruct exec_add addout = addina + addinb + addinc; stage_name exec {task t();} par { outh = Oh; outm = Om; outl = Ol; } instruct doadd generate exec.t(); } stage exec { state_name invoke_wait, calcl, calcm, calch; first_state invoke_wait; state invoke_wait goto calcl; state calcl par { seladdl(); selcin0(); woc(); wol(); exec_add(); goto calcm;} state calcm par { seladdm(); selcinc(); woc(); wom(); exec_add(); goto calch;} state calch par { seladdh(); selcinc(); woc(); woh(); exec_add(); goto invoke_wait; finish;} } 65

SFL SFL : calculator : key<4> : outl<4>, outm<4>, outh<4> : keyin : keyreq keyreq keyin key 66

CPU instrin instrself 67

state first_state state 68