Professional Documents
Culture Documents
NIT Warangal
ACKNOWLEDGEMENT
NIT Warangal
AGENDA
Introduction
Approach
VHDL implementation
RTL Viewer
Simulation results
Conclusion
INTRODUCTION
Problem statement:
Three processors are required to share a
synchronous RAM of size 1024*16.The address
bus is 10 bits wide and the data bus is 16 bits
wide. There is a r/w’ signal which allows the
processors to read data from the memory or write
data into the memory. The controller is supposed to
control access to the common memory depending on
the request signals received by the three processors
depending on certain algorithms.
Requirements
Synchronous RAM
Introduction
Approach
VHDL implementation
RTL Viewer
Simulation results
Conclusion
PRIORITY INTERRUPT ALGORITHM
Introduction
Approach
VHDL implementation
RTL Viewer
Simulation results
Conclusion
VHDL
¾ Architecture
According to the modeling style used (i.e., Behavioral, Procedural,
Dataflow, or Structural) or to some specific architecture property.
¾ Configuration
Name of the corresponding entity with suffix "Cfg“.
¾ Package
Name of the design (i.e., top-level entity) with suffix "Pkg“.
¾ Testbench (entity, architecture, package)
Name of corresponding entity with suffix "Tb“.
¾ Library (package)
Library name with suffix "Lib".
FPGA
COMPONENTS:-
• Synchronous RAM
• Address and Data Bus Multiplexer
Project navigator
AGENDA
Introduction
Approach
VHDL implementation
RTL Viewer
Simulation results
Conclusion
MMU- Entity
MAIN – RTL VIEW
MAIN – TECHNOLOGY VIEW
m u l ti p l e x:m u l t
a d d A [0 ] addA[0]
a d d A [1 ] addA[1]
a d d A [2 ] addA[2]
a d d A [3 ] addA[3]
a d d A [4 ] addA[4]
a d d A [5 ] addA[5]
a d d A [6 ] addA[6]
a d d A [7 ] addA[7]
a d d A [8 ] addA[8]
a d d A [9 ] addA[9]
a d d B [0 ] addB[0]
a d d B [1 ] addB[1]
a d d B [2 ] addB[2]
a d d B [3 ] addB[3]
a d d B [4 ] addB[4]
a d d B [5 ] addB[5]
a d d B [6 ] addB[6]
m e m o r y:m e m
a d d B [7 ] addB[7]
a d d B [8 ] addB[8] c lk
a d d B [9 ] addB[9] data_out_mux[0]~ 688 data_out_mux[0]~ 688
a d d C [0 ] addC [0] data_out_mux[1]~ 689 data_out_mux[1]~ 689
a d d C [1 ] addC [1] data_out_mux[2]~ 690 data_out_mux[2]~ 690
a d d C [2 ] addC [2] data_out_mux[3]~ 691 data_out_mux[3]~ 691
a d d C [3 ] addC [3] data_out_mux[4]~ 692 data_out_mux[4]~ 692
a d d C [4 ] addC [4] data_out_mux[5]~ 693 data_out_mux[5]~ 693 q _b[0] d a ta _ r d _ o u t[0 ]
a d d C [5 ] addC [5] data_out_mux[6]~ 694 data_out_mux[6]~ 694 q _b[1] d a ta _ r d _ o u t[1 ]
a d d C [6 ] addC [6] data_out_mux[7]~ 695 data_out_mux[7]~ 695 q _b[2] d a ta _ r d _ o u t[2 ]
a d d C [7 ] addC [7] data_out_mux[8]~ 696 data_out_mux[8]~ 696 q _b[3] d a ta _ r d _ o u t[3 ]
a d d C [8 ] addC [8] data_out_mux[9]~ 697 data_out_mux[9]~ 697 q _b[4] d a ta _ r d _ o u t[4 ]
a d d C [9 ] addC [9] data_out_m ux[10]~ 698 data_out_mux[10]~ 698 q _b[5] d a ta _ r d _ o u t[5 ]
d a ta A [0 ] dataA[0] data_out_m ux[11]~ 699 data_out_mux[11]~ 699 q _b[6] d a ta _ r d _ o u t[6 ]
d a ta A [1 ] dataA[1] data_out_m ux[12]~ 700 data_out_mux[12]~ 700 q _b[7] d a ta _ r d _ o u t[7 ]
d a ta A [2 ] dataA[2] data_out_m ux[13]~ 701 data_out_mux[13]~ 701 q _b[8] d a ta _ r d _ o u t[8 ]
d a ta A [3 ] dataA[3] data_out_m ux[14]~ 702 data_out_mux[14]~ 702 q _b[9] d a ta _ r d _ o u t[9 ]
d a ta A [4 ] dataA[4] data_out_m ux[15]~ 703 data_out_mux[15]~ 703 q _b[10] d a ta _ r d _ o u t[1 0 ]
d a ta A [5 ] dataA[5] M ux0~ 131 M ux0~ 131 q _b[11] d a ta _ r d _ o u t[1 1 ]
d a ta A [6 ] dataA[6] M ux1~ 132 M ux1~ 132 q _b[12] d a ta _ r d _ o u t[1 2 ]
d a ta A [7 ] dataA[7] M ux2~ 132 M ux2~ 132 q _b[13] d a ta _ r d _ o u t[1 3 ]
d a ta A [8 ] dataA[8] M ux3~ 132 M ux3~ 132 q _b[14] d a ta _ r d _ o u t[1 4 ]
d a ta A [9 ] dataA[9] M ux4~ 132 M ux4~ 132 q _b[15] d a ta _ r d _ o u t[1 5 ]
d a ta A [1 0 ] dataA[10] M ux5~ 132 M ux5~ 132
d a ta A [1 1 ] dataA[11] M ux6~ 132 M ux6~ 132
d a ta A [1 2 ] dataA[12] M ux7~ 132 M ux7~ 132
d a ta A [1 3 ] dataA[13] M ux8~ 132 M ux8~ 132
d a ta A [1 4 ] dataA[14] M ux9~ 132 M ux9~ 132
d a ta A [1 5 ] dataA[15] M ux10~ 139 rw
d a ta B [0 ] dataB[0] M ux11~ 139
d a ta B [1 ] dataB[1] M ux12~ 139
d a ta B [2 ] dataB[2] M ux13~ 139 d a ta _ w r _ o u t[1 5 ]
d a ta B [3 ] dataB[3] M ux14~ 139
D AT AIN
d a ta B [4 ] dataB[4] M ux15~ 139 PAD O U T d a ta _ w r _ o u t[1 5 ]
!OE
d a ta B [5 ] dataB[5] M ux16~ 139
d a ta B [6 ] dataB[6] M ux17~ 139 O U T PU T
d a ta B [7 ] dataB[7] M ux18~ 139
d a ta _ w r _ o u t[1 4 ]
d a ta B [8 ] dataB[8] M ux19~ 139
d a ta B [9 ] dataB[9] M ux20~ 139 D AT AIN
PAD O U T d a ta _ w r _ o u t[1 4 ]
d a ta B [1 0 ] dataB[10] M ux21~ 139 !OE
d a ta B [1 1 ] dataB[11] M ux22~ 139
O U T PU T
d a ta B [1 2 ] dataB[12] M ux23~ 139
d a ta B [1 3 ] dataB[13] M ux24~ 139 d a ta _ w r _ o u t[1 3 ]
d a ta B [1 4 ] dataB[14] M ux25~ 139
D AT AIN
d a ta B [1 5 ] dataB[15] M ux26~ 180 PAD O U T d a ta _ w r _ o u t[1 3 ]
!OE
d a ta C [0 ] dataC [0]
d a ta C [1 ] dataC [1] O U T PU T
d a ta C [2 ] dataC [2]
d a ta _ w r _ o u t[1 2 ]
d a ta C [3 ] dataC [3]
d a ta C [4 ] dataC [4] D AT AIN
PAD O U T d a ta _ w r _ o u t[1 2 ]
d a ta C [5 ] dataC [5] !OE
d a ta C [6 ] dataC [6]
O U T PU T
d a ta C [7 ] dataC [7]
d a ta C [8 ] dataC [8] d a ta _ w r _ o u t[1 1 ]
d a ta C [9 ] dataC [9]
D AT AIN
d a ta C [1 0 ] dataC [10] PAD O U T d a ta _ w r _ o u t[1 1 ]
!OE
s ta r t dataC [11]
c u r r _ s ta te .s 2
rw B dataC [12] O U T PU T
! AC LR
rw C dataC [13]
com b~313 C LK d a ta _ w r _ o u t[1 0 ]
c u r r _ s ta te .s 3 C O M BO U T p e n a b le A dataC [14]
D A T AA D AT A B
re s e t ! A C LR R EG O U T D AT AA dataC [15] D AT AIN
D A T AC C O M BO U T D AT A D PAD O U T d a ta _ w r _ o u t[1 0 ]
c lk C LK c u r r _ s ta te .s 4 D AT AB C O M BO U T penableA !OE
R EG O U T D A T AD S YN C H _D AT A com b~319
re q A D AT AA ! AC LR D AT AD penableB
LC E LL ( AAF 0) LC E LL ( C F C 0) com b~320 D AT AA O U T PU T
re q B D AT AC C LK LC ELL ( 3322) penableC
D A T AA D AT AB
LC ELL ( 5050) D AT A A C OM BOU T d a ta _ w r _ o u t[9 ]
D A T AB R EGO U T D AT AC
C O M BO U T D AT A B
c u r r _ s ta te .s 1 D A T AC D AT AD D AT AIN
rw A D AT A C PAD O U T d a ta _ w r _ o u t[9 ]
! A C LR D A T AD LC ELL (32F F ) !OE
D AT A D
C LK LC E LL ( 0100)
LC ELL (0100) com b~316 O U T PU T
D AT AA
R EG O U T D AT AA
D AT AB p e n a b le B d a ta _ w r _ o u t[8 ]
D AT AB
D AT AC C OM BOU T D AT AA
D AT AC D AT AIN
re q C D AT AD D AT AB C O M BO U T PAD O U T d a ta _ w r _ o u t[8 ]
D AT AD !OE
LC ELL ( F F F E) D AT AD
LC ELL ( 5455)
LC ELL ( 5544) O U T PU T
com b~318
d a ta _ w r _ o u t[7 ]
D AT AA
com b~317 p e n a b le C
D AT AB D AT AIN
D A T AA C OM BOU T D AT AB PAD O U T d a ta _ w r _ o u t[7 ]
D AT AC !OE
D A T AC C O M BO U T D AT AC C O M BO U T
D AT AD
D A T AD D AT AD O U T PU T
LC ELL ( 1044)
LC ELL ( F F A5) LC E LL ( 0F 0C )
d a ta _ w r _ o u t[6 ]
com b~315 D AT AIN
rw PAD O U T d a ta _ w r _ o u t[6 ]
D AT AA !OE
D AT AA
D AT AB
C OM BOU T D AT AC C O M BO U T O U T PU T
D AT AC
D AT AD
D AT AD d a ta _ w r _ o u t[5 ]
LC E LL ( F A0A )
LC ELL (F E00)
D AT AIN
PAD O U T d a ta _ w r _ o u t[5 ]
!OE
O U T PU T
d a ta _ w r _ o u t[4 ]
d a ta C [1 1 ]
d a ta C [1 2 ] D AT AIN
PAD O U T d a ta _ w r _ o u t[4 ]
d a ta C [1 3 ] !OE
d a ta C [1 4 ]
O U T PU T
d a ta C [1 5 ]
d a ta _ w r _ o u t[3 ]
D AT AIN
PAD O U T d a ta _ w r _ o u t[3 ]
!OE
O U T PU T
d a ta _ w r _ o u t[2 ]
D AT AIN
PAD O U T d a ta _ w r _ o u t[2 ]
!OE
O U T PU T
d a ta _ w r _ o u t[1 ]
D AT AIN
PAD O U T d a ta _ w r _ o u t[1 ]
!OE
O U T PU T
d a ta _ w r _ o u t[0 ]
D AT AIN
PAD O U T d a ta _ w r _ o u t[0 ]
!OE
O U T PU T
p r e s e n t~ 1 4
p r e s e n t[2 ]
D AT AB
C OM BOU T D AT AIN
D AT AD PAD O U T p r e s e n t[2 ]
!OE
LC ELL ( 0033)
O U T PU T
p r e s e n t[1 ]
D AT AIN
PAD O U T p r e s e n t[1 ]
!OE
O U T PU T
p r e s e n t[0 ]
D AT AIN
PAD O U T p r e s e n t[0 ]
!OE
O U T PU T
MAIN - FLOW RESULT
Memory-entity
MEMORY – RTL VIEW
MEMORY – Technology view
Memory flow summary
Mux entity
Mux flow diagram
Mux rtl
MuX – tech view
AGENDA
Introduction
Approach
VHDL implementation
RTL Viewer
Simulation results
Conclusion
SIMULATION STATE DIAGRAM
CONDITIONS GENERATED
BY SIMULATION
Memory simulation
Mux simulation
MMU-SIMULATION
AGENDA
Introduction
Approach
VHDL implementation
RTL Viewer
Simulation results
Conclusion
CONCLUSION