36
Presentation for Development Process Experiment By: Nir Shahar and Amir Kleinhendler Supervisor: Ina Rivkin

Presentation for Development Process Experiment

  • Upload
    ann

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Presentation for Development Process Experiment. By: Nir Shahar and Amir Kleinhendler Supervisor: Ina Rivkin. AGENDA. System main features. System block diagrams. I/O Controller. System Controller. Memory. Logic units. Suggestions. . PROJECT OBJECTIVE. - PowerPoint PPT Presentation

Citation preview

Page 1: Presentation for  Development Process Experiment

Presentation for Development Process Experiment

By: Nir Shahar and Amir Kleinhendler Supervisor: Ina Rivkin

Page 2: Presentation for  Development Process Experiment

AGENDA

System main features. System block diagrams. I/O Controller. System Controller. Memory. Logic units. Suggestions.

Page 3: Presentation for  Development Process Experiment

PROJECT OBJECTIVE

The project objective is to create the foundations for an experiment at the high speed digital lab which covers the full design flow. The foundations include the main digital system and the debug environment used to debug the system.

Page 4: Presentation for  Development Process Experiment

SYSTEM MAIN FEATURES The complete system will illustrate a full computer with the below

parts.

The system is composed of 8 separate units: • Keyboard • LCD display • 8 LEDs • 4 switches • I/O controller • System controller • one simple logic unit • FIFO Memory unit

System functionality: The computer will receive an OPcode followed by data through PS/2

keyboard. The OPcode and the data will be delivered to an I/O controller and from there to the FIFO memory character by character.

The system controller will read the data from the FIFO memory and then build the parallel OPcode and data. After the building the data will be sent to the logic bus for the use of the logic units.

The correct logic unit will collect the data and then perform the appropriate logic action.

After performing the logic action the result will be send to the I/O controller and from there to the LCD display.

The system has more 4 switches and 8 LEDs to control on the system state.

Page 5: Presentation for  Development Process Experiment

SYSTEM DESCRIPTION

We have implemented a working system which interfaces with an external I/O periphery (keyboard) and an internal I/O periphery (LCD screen) in order to enable user interactivity and real time responsiveness from the system.

Page 6: Presentation for  Development Process Experiment

SYSTEM OBJECTIVE

The systems objective is to serve as an experiment platform and provide the basis for more complex operations , and debug capabilities, allowing other users to add or subtract logic units.

Page 7: Presentation for  Development Process Experiment

SYSTEM OVERVIEW

The system is comprised of several main blocks , which we will describe in detail.

Page 8: Presentation for  Development Process Experiment

SYSTEM TOP VIEW SCHEMATIC

I/O

keyboard

MEMORY

LOGIC UNITS

Key_

clock

Key_

Input

Dip Switch

4

Dip_In

Lcd_Out

11

Led_

out

8

CLK

Data_

Logic

_Vali

d

Data_

From

_Log

ic

Rese

t_Fr

om_IO

Reset_From_IO

WE

Data

_Mem

_Out

RE

CLK

Rese

t_Fro

m_IO

System controller

CLK

CLKDa

ta_Me

m_Ou

t

RE

Mem_

Empt

y

Opco

de

Data

_Out

_Con

trolle

rLogic

_Fini

sh

Controller_Stat_out

Mem_

Empt

y

4

Data_

Out_C

ontro

ller_

Valid

Rese

t_Fro

m_IO

Data

_In

IO_D

ata_O

ut8

WE

Mem

_Full

Mem_

Full

Data

_Out

RE Mem

_Em

pty

8

8

8

8

Controller_Stat_In

4

Page 9: Presentation for  Development Process Experiment

SYSTEM TOP VIEW IMPLEMENTED

This is the systems memory , 64 x 8

FIFO

This is where the systems

logic operations are

performed. This is also

where a user can insert a

new logic unit

This is where all I/O

operations are managed.

This is where we control

the logic units ,

outputs ,and handle

their inputs.

Page 10: Presentation for  Development Process Experiment

I/O TOP SCHEME

Led_out

Data_Logic_Valid

Data_From_Logic

8

Keyboard controller

Key_clock

Key_Input

Reset_From_IO

Scancode

Gotcode

I/O Core

Memory Controller

LCD Controller

8

WE

RE

Reset_From_IO

IO_D

ata_

Out

Mem_Con

Mem_Full

LCD_DB

8LCD_E

LCD_RS

LCD_RW

LCD_D_IN

8LCD_D_VALID

Reset_From_IO

4

Dip_In

Scancode

Gotcode8{

CLK

Data_Mem_Out

Mem_Empty

Mem_Full 8{{

12

Reset_From_IO

Controller_Stat_out

8

8

LCD_D_IN

8LCD_D_VALID

Controller_Stat_In

4

8

LCD_OP

4

LCD_OP

4

Page 11: Presentation for  Development Process Experiment

I/O TOP IMPLEMETATIONTurns serial data into parallel 8

bit data.Also turn scan_code into ascii

code.

Controls memory read and write operations. (state

machine).

A complex state machine which according to the dip_switch

state sends commands to the I/O and LCD controllers, and

also provides it’s status to the system controller

Another complex IP which we had to implement. This

complex IP controls the LCD output.

Page 12: Presentation for  Development Process Experiment

I/O COREReset state which resets the

system at global_rst = ‘1’

Keyboard to LCD interaction mode.

This is the first sytem mode, user inserts data through the

keyboard and the data is written on the lcd screen.

Dip_in = 0001 System initial state, from which the dip_switches

decide where to go.

Keyboard <-> mem <-> LCD interaction. The user inserts data using the keyboard , the data is

pushed into the memory. the data is released to the lcd only

when the user presses the enter key.

The last and most important is this mode. This is the functional mode where all the peripheries interact.

Data is received from the user ( including opcode ) and inserted to the memory where it is then

analyzed and causes a logic unit selection. After the selection the rest of the data is transferred to

the logic unit and and it’s output is displayed on the screen.

Page 13: Presentation for  Development Process Experiment

KEYBOARD LCD

WRITE TO LCD

Page 14: Presentation for  Development Process Experiment

KEYBOARD MEMORY LCD

WRITE TO LCD

WRITE TO MEM

Page 15: Presentation for  Development Process Experiment

KEYBOARD MEM LOGIC LCD

WRITE TO LCD AND MEM

Page 16: Presentation for  Development Process Experiment

KEYBOARD MEM LOGIC LCD

FIND OPCODE

READ OPCODE

DATA TRANSFER

Page 17: Presentation for  Development Process Experiment

KEYBOARD CONTROLLER

This is our addition , turning scan code into ascii code. ( when data is sent to the lcd it

must be ascii )

Page 18: Presentation for  Development Process Experiment

SCANCODE TO ASCII

This is an implementation of a truth table which

holds all the interesting keyboard

letters/numbers and their

translation

Page 19: Presentation for  Development Process Experiment

MEMORY CONTROLLER

READ PATH

WRITE PATH

Page 20: Presentation for  Development Process Experiment

LCD CONTROLLER

In charge of the power up sequence

This module is responsible for command execution

This module is responsible for writing data on the lcd

in charge of the communication between the

blocks and mode select

Lcd initialization

Muxes are

placed to

prevent collisions

Page 21: Presentation for  Development Process Experiment

LCD COMMAND GEN

Page 22: Presentation for  Development Process Experiment

LCD INIT

Page 23: Presentation for  Development Process Experiment

LCD WRITE

Page 24: Presentation for  Development Process Experiment

SYSTEM CONTROLLER

Data_Out_Controller

Controller_Stat_out

4

Data_Out_Controller_Valid8

Data_Mem_Out

Mem_Empty

4

OpCodeGenReset_From_IO

CLK

8

Opcode

Controller Core

OpCodeStat

RE

Reset_From_IO

CLK

RE

Data_Mem_Out

Mem_Empty

Mem_Full 8{Controller stat in

4

8

Page 25: Presentation for  Development Process Experiment

SYSTEM CONTROLLER

Receives a sequence of inputs from the memory and translates it into an

opcode. Notifies the logic control when the opcode is

ready

Controls the logic blocks , waits for a

valid opcode and the stats to manage

and transfer data.

Page 26: Presentation for  Development Process Experiment

OP CODE GEN

Second input from the keyboard is translated into an operation

first input from the keyboard is translated into a logic unit.

State machine to control the inputs / outputs from this

generator.

Page 27: Presentation for  Development Process Experiment

LOGIC INST

Second input from the keyboard is translated into an operation

State machine to control the inputs / outputs from this logic

unit pack.

Another internal translation of the opcode.

Page 28: Presentation for  Development Process Experiment

LOGIC UNIT PACK

Logic_1 implementation

Logic unit output select

Logic unit select

Page 29: Presentation for  Development Process Experiment

UPPER CASE OPERATION

Page 30: Presentation for  Development Process Experiment

CHIPSCOPE LCD EXAMPLE

Page 31: Presentation for  Development Process Experiment

MAINTAIN HIERARCHY

Page 32: Presentation for  Development Process Experiment

LCD CONTROLLER

Page 33: Presentation for  Development Process Experiment

CONCLUSION AND SUGGESTIONS

Page 34: Presentation for  Development Process Experiment

LCD M CONTROLLER

Page 35: Presentation for  Development Process Experiment

LCD POWER UP

Page 36: Presentation for  Development Process Experiment

LOGIC CONTROL