SlidePub
Home
Categories
Login
Register
Home
Technology
soclabeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.pdf
soclabeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.pdf
ssuser664d09
46 views
23 slides
Jul 16, 2024
Slide
1
of 23
Previous
Next
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
About This Presentation
wwwwww fjjrrdkk dhesjesjsh fjrxkxx esuaeu4u
Size:
1.19 MB
Language:
en
Added:
Jul 16, 2024
Slides:
23 pages
Slide Content
Slide 1
©BOLEDU
SOC Lab Summer Study Plan
6/20/2023
Jiin Lai
Slide 2
©BOLEDU
Target
•Lab-Driven Study on the following topics
•Verilog
•Logic Design
•VLSI Electrical Property
•RISCV
•Computer Architecture
•Script language
•Get ready for graduate level course in architecture/digital system
Slide 3
©BOLEDU
Reference Material
•Berkeley: Introduction to Digital Design and Integrated Circuits
•Berkeley EECS 151 https://inst.eecs.berkeley.edu/~eecs151/fa22/
•Lecture note: https://drive.google.com/drive/folders/1MW8sFs1gKWi86wfhuXOqe0HVXAEsVGQy?usp=drive_link
•Verilog
•NTU CSVD Verilog handout
•https://drive.google.com/drive/folders/1npOiZi_TIMm7E-ThwZnlZrl_Y-QCg6Zw?usp=sharing
•SpyGlassLint Rules Reference Guide
•https://drive.google.com/drive/folders/1ebHXZCYNUpUiZOyEs7zu19O32wpxHWWF?usp=sharing
•Stuart : Verilog and System Verilog Gotchas
•https://drive.google.com/file/d/1m0l-4LMGMWgvn2sWUKu4mK9qgacssoyj/view?usp=sharing
•Logic Design
•UdemyHigh-Level-Synthesis for FPGA, Part I, Part II
•VaibbhavTaraate: “Digital logic design using Verilog: coding and RTL synthesis
•https://drive.google.com/file/d/1tzX4DvgWTeP8t1nU_UK19rkGtLfwmemC/view?usp=drive_link
•HLS RISCV
•https://github.com/bol-edu/course-lab_riscv
•Computer System
•Sarah/David Harris: “Digital Design and Computer Architecture”
•https://drive.google.com/file/d/1E3NZBR22JBVPx6255S4KGBn1unRQRdrg/view?usp=drive_link
eBOOKDownload: https://libgen.is/
Slide 4
©BOLEDU
Study Plan
wkDate
Meeting
(Q&A + Presentation)
Area
Reading Assignment Lab
-16/20Summer program introduction
Verilog
L3 + NTU Verilog / Lint / Gotchas Lab1: Tool installation: Vitis HLS/ Vivado Tool
0 L4 + NTU Verilog / Lint / Gotchas, PYNQ Video
Lab#2 -PYNQ
Lab -GCD (xsim)
1 7/5Verilog/Lint
Logic Design
L#5(CL I), L#6(CL II), L#21 (FF), Script, Udemy (Com)Lab -combinational (1.5 w)
2 7/12Verilog/Lint
L#18 (Adders), L#19(Multiplier), L#20 ( Multiplier II)
Udemy(Comb), Script: Perl Lab -Combinational + Sequential (2.5 w)
3 7/19Lab -combinational L#22, L#23 SRAM, Udemy(Seq), Script: Perl Lab -Sequential
4 7/26Lab -combinational, Script
RISCV
L#7, L#8 -RISCV Lab -Sequential
5 8/2Lab -Sequential, Script L#9, L#10 -RISCV , Script: Tcl Lab -RISCV HLS/Verilog (1/5w)
6 8/9Lab -Sequential + Lint + Script L#10 -RISCV, Script: Tcl Lab -RISCV (2/5w)
7 8/16Logic Design/ Vaibbhav VLSI Physics
L#13 -CMOS Transistor / Logic Gate
L#14 -Inverter-Delay
L#15 -Inverter Chain Delay Lab -RISCV (3/5w)
8 8/23Lab-RISCV
L#16 -Logical Effort
L#17 -Wire Energy, Static / Dynamic Power Lab -RISCV (4/5w)
9 8/30Lab -RISCV
Computer System
Chap8 -Memory (Cache, Virtual Memory ) Lab -RISCV (5/5w)
10 9/6Computer System Chap 9: Embedded IO
Slide 5
©BOLEDU
Content
•Off Class
•Reading assignment
•View Udemy-High-Level-Synthesis for FPGA, Part I (6 hr), Part II (9 hr)
•3 weeks (Monday –Friday –1 hr/day, 2 sessions )
•Labs
•Expect workload 15-20 hour / week
•In Class
•Key concept review (you will be asked in the review session)
•Q & A (Submit your question in the following Google form)
•https://docs.google.com/forms/d/e/1FAIpQLSeExQQQVT0Gy8FpZVe1YNlh3jxx8d-
h0qYBCuI3PgeiB9gteQ/viewform?usp=sharing
•Presentation & Code review (Lint, Lab, Script) –sign-up
•Sign-up sheet: https://docs.google.com/spreadsheets/d/1Bmc2dfkX-
SC3sEBGm3PmO4l_gr7F38NvWj0PE2xC48c/edit?usp=sharing
Slide 6
©BOLEDU
Course Infrastructure
•2-3 people / Group -find your partners
•Google Meet -meeting notice, meeting recording
•Recording upload to youtubechannel
•Access FPGA online
•Slack Channel (soclab) for general communication
•You will receive invitation
•Github: https://github.com/bol-edu/soclab-nthusp23
•HackMD–everyone maintain a study_record.md
•https://hackmd.io
Slide 7
©BOLEDU
Lab Logistic -Kevin
•實名註冊(PYNQ-Z2, KV260)
•Account: your email
•Password: ( You will receive the password, by email )
•Slack
•Github
•Xilinx Xsim/GTKWave
Slide 8
©BOLEDU
Github-soclab-nthusp23
https://github.com/bol-edu/soclab-nthusp23
•Discussion -Raise question here!
•Githubstructure
|-ppt # presentation ppt
|-students
| |-name
| |-labname
| |-.v, _tb.v # Verilog code & testbench,
| | README.md# lab report
| | Synthesis.log# Xilinx synthesis log
| | study_record.md# Learning journal -> link to your HackMD
Slide 9
©BOLEDU
Lab
Given HLS code, Implement with Verilog and Testbench
Compare timing/resource for HLS & Verilog implementation
Slide 10
©BOLEDU
Lab-Tool Installation -Week -1, 0
•Vitis/VivadoTool installation
•https://github.com/bol-edu/course-lab_1
•Ref: HLS Tools Installation Guide 2022.1_Ubuntu.md
•https://github.com/bol-edu/course-
lab_1/blob/2022.1/HLS%20Tools%20Installation%20Guide%202022.1_ubuntu.md
•2022.1-Workbook-Lab1.pdf
•HLS Lab
•https://github.com/bol-edu/course-lab_2
•Using 2022.1-Workbook-Lab2-KV260.pdf -We will use KV260
•Verilog Lab (Xilinx xsim) –GCD example
•https://github.com/bol-edu/soclab-nthusp23/tree/main/lab/02.xsim-gcd
Slide 11
©BOLEDU
Lab –Combination (1.5 w)
•HLS Sources:
•https://drive.google.com/drive/folders/18RtPmHE-3GeCPPSNA9iw87qRM-6Ya-
O1?usp=sharing
•Labs
•parity_generator
•Integer_division_modulus
•leading_one
•binary2bcd_div
•binary2bcd_double_dabble
•Given HLS code, Implement with Verilog and Testbench
•Compare timing/resource for HLS & Verilog implementation
Slide 12
©BOLEDU
Lab –Sequential ( 2.5 w)
•HLS Source:
•https://drive.google.com/drive/folders/1zI78hQ-
1eFtofW3YxeU8RGKxLD1inVyV?usp=sharing
•Labs
•serial2parallel
•parallel2seral
•combination_lock
•vending_machine
•bcd_counter-multicycle
•iir
•uart_receiver
•uart_transmitter
•Utilities
•timer
•debouncer
•counter
•clock_generator
•pulse_generator
•single_cycle_regular_pulse
•edge_detector
•Given HLS code, Implement with Verilog and Testbench
•Compare timing/resource for HLS & Verilog implementation
Slide 13
©BOLEDU
Lab-RISCV (5 w)
•Berkeley EECS 151 https://inst.eecs.berkeley.edu/~eecs151/fa22/(L7-L10)
•A HLS implementation for RISCV
•Lecture Recording
•https://www.youtube.com/watch?v=Zlgf7JqyOg4&list=PL5CoDA0gtOHVncdI7JZw9djVa-
BS0WFz4&index=16&t=1193s
•https://www.youtube.com/watch?v=RFKYyFZEDkA&list=PL5CoDA0gtOHVncdI7JZw9djVa-
BS0WFz4&index=17
•Githubfor RISCV HLS
•https://github.com/bol-edu/course-lab_riscv
•Lab
•Implement a 5-stage RISCV
•Compare area/timing (Compare HLS & Verilog) –Timing analysis & Optimization
•Enhance with branch prediction, data-forwarding, register renaming (optional), cache,
add new instruction (multicycle)
•Benchmark (matmul.c, qsort.c) & compare cycle count
•Use the new RISCV in your future SOC design
Slide 14
©BOLEDU
Lint Rules
•Document Link
•https://drive.google.com/drive/folders/1e
bHXZCYNUpUiZOyEs7zu19O32wpxHWWF
?usp=sharing
•STARCRules
•ClockResetRules
•Clock Domain Crossing Synchronization
•LatchRules
•Rules in SpyGlasslatch
•LintRules
•Rules in SpyGlasslint
•SimulationRules
Basic Design Constrains
•Rules for Naming Conventions
•Rules for Synchronous Design
•Rules for Initial Reset
•Rules for Clocks
•Rules for Asynchronous Circuits
•Rules for Hierarchical Design
RTL Description Techniques
•Rules for Combinational Logic
•Rules for always Constructs of Combinational Logic
•Rules for Flip-Flop Inference
•Rules for Latch Description
•Rules for Tristate Buffer
•Rules for always/process construct that takes circuit
structure into account
•Rules for if Statement Description
•Rules for case Statement Description
•Rules for Operator Description
•Rules for Finite-State Machine Description
Slide 15
©BOLEDU
Study Lint Rules
•Describe the rule
•Potential issues,
•How to Debug and Fix
•Example Code and/or Schematic
Rule:
States are not updated on the same clock phase
Potential Issues:
1. The synthesis tool can get confused about which edge to use
for updating the register.
2. RTL and gate-level simulation results may not match
How to Debug and Fix:
Break the sequential logic into multiple sequential logic blocks,
each of which can independently meet the requirement. If the
register depends on both edges of the clock, describe the
sequential nature separately and use the combinational logic to
generate the final output.
Example Code:
module test(out1,out2);
output out1,out2;
regout1,out2,a,c,clk;
always begin
@(posedgeclk) out1 <= c;
@(negedgeclk) out2 <= a;
end
endmodule
Slide 16
©BOLEDU
Verilog and SystemVerilogGotchas-Stuart Sutherland
•Gotchas_101: Stuart
•Chap2: Declaration and Literal Number
•Chap3: RTL Modelting
•Chap4: Operator
•Chap5:: General Programming
Slide 17
©BOLEDU
Why Scripting ?
•Scripting languages are used to automate tasks that one would otherwise
do manually. you spend more than 10 minutes doing something manually
at least every two days, it's better to automate it.
•Why are Perl and TCL scripting languages used in the VLSI industry?
•https://www.quora.com/Why-are-Perl-and-TCL-scripting-languages-used-in-the-VLSI-
industry-Why-not-using-other-scripting-
languages?encoded_access_token=1c5411c7f5eb4ff6b6ef686ce3656eaf&force_dialo
g=1&provider=google&success=True
•What scripting languages to learn
•Bash (awk/sed)
•Makefile -automate IC design flow
•Perl -log file processing
•Tcl -access EDA tool database
•Exercise: Convert Xilinx HLS-generated Verilog to be synthesizable by ASIC
flow
Slide 18
©BOLEDU
Script Resource
•Perl & TCL lecture material
•https://drive.google.com/drive/folders/11qFShiNu-
3_HPkCnP6jNVZB6Dz1XBYDM?usp=sharing
•R.L. Schwartz, B.D. Foy, T. Phoenix. Learning Perl: Making Easy Things
Easy and Hard Things Possible. O'Reilly Media;
•Xilinx Tcl
•command reference guide https://docs.xilinx.com/v/u/2019.2-English/ug835-
vivado-tcl-commands
•tclscripting : https://docs.xilinx.com/r/en-US/ug894-vivado-tcl-scripting/Tcl-
Scripting-in-Vivado
Slide 19
©BOLEDU
Digital Logic Design -Vaibbhav
•Chap 15 –Non-synthesizable Verilog Construct
•Chap 22 –MulitpleClock Domain
•Chap 23 –FIFO Design
•Chap 24 –Low Power Design
Slide 20
©BOLEDU
Computer System –Sara/David
•Chapter 8 –Memory System
•Cache
•Virtual Memory
•Chapter 9 –Embedded I/O System
•Memory-mapped IO
•GPIO
•Serial I/O –SPI, UART
Slide 21
©BOLEDU
Final Project & Grade
•Summer : Design a high performance RISCV Core
•1
st
Semester : Design an SOC -FPGA
•RISCV + Peripherals + Memory + Bus Interconnect
•Complete a task in less cycles
•2
nd
Semester : Application Accelerator Integrated with SOC
•SOC + FPGA
•TapeoutProcess
•Special Project Contest
Slide 22
©BOLEDU
CaravelFPGABlock Diagram (Based PYNQ-Z2)
Caravel
flash_clk
flash_csb
flash_io0
flash_io1
core_clk
reset
gpio
mprj[7]/irq
mprj[6]/ser_tx
mprj[5]/ser_rx
mprj[4:1]
mprj_i[37:0]
mprj_o[37:0]
mprj_en[37:0
spiflash
bram
caravel_ps
axilite
Connect with FPGA clock
Xilinx
Interconnect
IP
HLS
read_romcod
BRAM
VexRiscv
Verilog
ResetControl
axilite
axilite
PL/FPGA
axim
PS
JupyterNotebook
Python
Test Bench
# move the data from rom_bufferto bram
ipReadROMCODE.write(0x00, 1)
ipOUTPIN.write(0x10, 1);
ipPS.read(0x10)
ipPS.read(0x14)
ipPS.read(0x1c)
HP0
counter_la.c-> .hex
DDR
Slide 23
©BOLEDU
Embed Application Accelerator in FSIC
Tags
soc
design
Categories
Technology
Download
Download Slideshow
Get the original presentation file
Quick Actions
Embed
Share
Save
Print
Full
Report
Statistics
Views
46
Slides
23
Age
523 days
Related Slideshows
11
8-top-ai-courses-for-customer-support-representatives-in-2025.pptx
JeroenErne2
85 views
10
7-essential-ai-courses-for-call-center-supervisors-in-2025.pptx
JeroenErne2
79 views
13
25-essential-ai-courses-for-user-support-specialists-in-2025.pptx
JeroenErne2
76 views
11
8-essential-ai-courses-for-insurance-customer-service-representatives-in-2025.pptx
JeroenErne2
62 views
21
Know for Certain
DaveSinNM
36 views
17
PPT OPD LES 3ertt4t4tqqqe23e3e3rq2qq232.pptx
novasedanayoga46
41 views
View More in This Category
Embed Slideshow
Dimensions
Width (px)
Height (px)
Start Page
Which slide to start from (1-23)
Options
Auto-play slides
Show controls
Embed Code
Copy Code
Share Slideshow
Share on Social Media
Share on Facebook
Share on Twitter
Share on LinkedIn
Share via Email
Or copy link
Copy
Report Content
Reason for reporting
*
Select a reason...
Inappropriate content
Copyright violation
Spam or misleading
Offensive or hateful
Privacy violation
Other
Slide number
Leave blank if it applies to the entire slideshow
Additional details
*
Help us understand the problem better