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
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
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.
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.
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.
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.
SYSTEM OVERVIEW
The system is comprised of several main blocks , which we will describe in detail.
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
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.
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
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.
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.
KEYBOARD LCD
WRITE TO LCD
KEYBOARD MEMORY LCD
WRITE TO LCD
WRITE TO MEM
KEYBOARD MEM LOGIC LCD
WRITE TO LCD AND MEM
KEYBOARD MEM LOGIC LCD
FIND OPCODE
READ OPCODE
DATA TRANSFER
KEYBOARD CONTROLLER
This is our addition , turning scan code into ascii code. ( when data is sent to the lcd it
must be ascii )
SCANCODE TO ASCII
This is an implementation of a truth table which
holds all the interesting keyboard
letters/numbers and their
translation
MEMORY CONTROLLER
READ PATH
WRITE PATH
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
LCD COMMAND GEN
LCD INIT
LCD WRITE
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
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.
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.
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.
LOGIC UNIT PACK
Logic_1 implementation
Logic unit output select
Logic unit select
UPPER CASE OPERATION
CHIPSCOPE LCD EXAMPLE
MAINTAIN HIERARCHY
LCD CONTROLLER
CONCLUSION AND SUGGESTIONS
LCD M CONTROLLER
LCD POWER UP
LOGIC CONTROL