0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

plantuml
@startuml
skinparam shadowing false
title 4bit-CPU 符号なし

state0000:0000
state0001:0001
state0010:0010
state0011:0011
state0100:0100
state0101:0101
state0111:0111
state1000:1000
state1001:1001
state1010:1010
state1011:1011
state1100:1100
state1101:1101
state1110:1110
state1111:1111
stateoverflow:1
underflow:1

state join_state <<fork>>
state1110 -left-> join_state
state1111 --> join_state
join_state -[#DD00AA,dashed]-> state0001 : NAND
join_state -[#blue,dashed]-> state0000 : NOR
join_state -[#green,dashed]-> state1111 : OR
join_state -[#red,dashed]-> state1110 : AND


underflow --> state0000 : clear
state0000 -[#red,bold]-> state0001 : 加算
state0001 -[#red,bold]-> state0010 : 加算
state0010 -[#red,bold]-> state0011 : 加算
state0011 -[#red,bold]-> state0100 : 加算
state0100 -[#red,bold]-> state0101 : 加算
state0101 -[#red,bold]-> state0110 : 加算 
state0110 -[#red,bold]-> state0111 : 加算
state0111 -[#red,bold]-> state1000 : 加算
state1000 -[#red,bold]-> state1001 : 加算
state1001 -[#red,bold]-> state1010 : 加算
state1010 -[#red,bold]-> state1011 : 加算
state1011 -[#red,bold]-> state1100 : 加算
state1100 -[#red,bold]down-> state1101 : 加算
state1101 -[#red,bold]-> state1110 : 加算
state1110 -[#red,bold]-> state1111 : 加算
state1111 -[#red,bold]-> state0000 : 加算
state1111 -[#red,bold]-> stateoverflow : 加算
stateoverflow --> state0000 : clear

underflow <-[#blue,bold]- state0000 : 減算
state0000 <-[#blue,bold]up- state0001 : 減算
state0001 <-[#blue,bold]- state0010 : 減算
state0010 <-[#blue,bold]- state0011 : 減算
state0011 <-[#blue,bold]- state0100 : 減算
state0100 <-[#blue,bold]- state0101 : 減算
state0101 <-[#blue,bold]- state0110 : 減算 
state0110 <-[#blue,bold]- state0111 : 減算
state0111 <-[#blue,bold]- state1000 : 減算
state1000 <-[#blue,bold]- state1001 : 減算
state1001 <-[#blue,bold]- state1010 : 減算
state1010 <-[#blue,bold]- state1011 : 減算
state1011 <-[#blue,bold]- state1100 : 減算
state1100 <-[#blue,bold]- state1101 : 減算
state1101 <-[#blue,bold]- state1110 : 減算
state1110 <-[#blue,bold]- state1111 : 減算


state0000 --> state0000 : nop
state0001 --> state0001 : nop
state0010 --> state0010 : nop
state0011 --> state0011 : nop
state0100 --> state0100 : nop
state0101 --> state0101 : nop
state0110 --> state0110 : nop
state0111 --> state0111 : nop
state1000 --> state1000 : nop
state1001 --> state1001 : nop
state1010 --> state1010 : nop
state1011 --> state1011 : nop
state1100 --> state1100 : nop
state1101 --> state1101 : nop
state1110 --> state1110 : nop
state1111 --> state1111 : nop

@enduml

4bit cpu new

plantuml
@startuml
skinparam shadowing false
title 4bit-CPU 符号なし

state0000:0000
state0001:0001
state0010:0010
state0011:0011
state0100:0100
state0101:0101
state0111:0111
state1000:1000
state1001:1001
state1010:1010
state1011:1011
state1100:1100
state1101:1101
state1110:1110
state1111:1111
stateoverflow:1
underflow:1



underflow --> state0000 : clear
state0000 -[#red,bold]-> state0001 : 加算
state0001 -[#red,bold]-> state0010 : 加算
state0010 -[#red,bold]-> state0011 : 加算
state0011 -[#red,bold]-> state0100 : 加算
state0100 -[#red,bold]-> state0101 : 加算
state0101 -[#red,bold]-> state0110 : 加算 
state0110 -[#red,bold]-> state0111 : 加算
state0111 -[#red,bold]-> state1000 : 加算
state1000 -[#red,bold]-> state1001 : 加算
state1001 -[#red,bold]-> state1010 : 加算
state1010 -[#red,bold]-> state1011 : 加算
state1011 -[#red,bold]-> state1100 : 加算
state1100 -[#red,bold]down-> state1101 : 加算
state1101 -[#red,bold]-> state1110 : 加算
state1110 -[#red,bold]-> state1111 : 加算
state1111 -[#red,bold]-> state0000 : 加算
state1111 -[#red,bold]-> stateoverflow : 加算
stateoverflow --> state0000 : clear

underflow <-[#blue,bold]- state0000 : 減算
state0000 <-[#blue,bold]up- state0001 : 減算
state0001 <-[#blue,bold]- state0010 : 減算
state0010 <-[#blue,bold]- state0011 : 減算
state0011 <-[#blue,bold]- state0100 : 減算
state0100 <-[#blue,bold]- state0101 : 減算
state0101 <-[#blue,bold]- state0110 : 減算 
state0110 <-[#blue,bold]- state0111 : 減算
state0111 <-[#blue,bold]- state1000 : 減算
state1000 <-[#blue,bold]- state1001 : 減算
state1001 <-[#blue,bold]- state1010 : 減算
state1010 <-[#blue,bold]- state1011 : 減算
state1011 <-[#blue,bold]- state1100 : 減算
state1100 <-[#blue,bold]- state1101 : 減算
state1101 <-[#blue,bold]- state1110 : 減算
state1110 <-[#blue,bold]- state1111 : 減算


state0000 --> state0000 : nop
state0001 --> state0001 : nop
state0010 --> state0010 : nop
state0011 --> state0011 : nop
state0100 --> state0100 : nop
state0101 --> state0101 : nop
state0110 --> state0110 : nop
state0111 --> state0111 : nop
state1000 --> state1000 : nop
state1001 --> state1001 : nop
state1010 --> state1010 : nop
state1011 --> state1011 : nop
state1100 --> state1100 : nop
state1101 --> state1101 : nop
state1110 --> state1110 : nop
state1111 --> state1111 : nop

@enduml

論理演算

plantuml
state0000:0000
state0001:0001
state1110:1110
state1111:1111
state join_state <<fork>>
state1110 -left-> join_state
state1111 --> join_state
join_state -[#DD00AA,dashed]-> state0001 : NAND
join_state -[#blue,dashed]-> state0000 : NOR
join_state -[#green,dashed]-> state1111 : OR
join_state -[#red,dashed]-> state1110 : AND

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?