24 views

Uploaded by hieuhuech1

- eureka math grade 3 module 1 parent tip sheets
- Manual Omega 92
- Systolic Arrays
- Experiment 5
- eureka math grade 3 module 1 parent tip sheets
- Web Enabled Home Rabbit)
- Computer Notes Basic
- Anleitung ChipScope 0011v2 Mit Anhang En
- Detailed Lesson Plan
- Report 123
- Com 1600
- S7-1214
- 2PAA111637 a en Freelance Rack Hardware
- Xilnx ISE webpack Introduction.pdf
- Test Scheme
- tr95-13
- Vlsi Lab Progra New
- Nr411902 Real Time Systems Set1
- 132
- UNIT 5_ VHDL

You are on page 1of 6

Hardware Design using VHDL Lab 3 1. Introduction This laboratory consists of two parts. In part 1, the use of structural VHDL. The design is simulated and implemented in a gate array. Part 2 consists of simulation of a matrix-vector multiplication. 2. Preparation Read Sjoholm-Lindh chapter 6 and 7. Read the lab-PM. Perform design work for problem 1-2. 3. Details Problem 1: Structural VHDL x a) Design a component FA (Full Adder), and compile. x + y + c_in = 2 c_out + s c_out b) Design a 3-bits full adder using the component FA, using structural VHDL. c) Simulate. Write the test bench carefully! d) Synthesize. Note the maximum delay time and area consumption (number of LUT:s). e) Implement. DIP1-3 to X = <x2, x1, x0> and DIP6-8 to Y = <y2, y1, y0>. c_in to DIP4. The result c_out and S = <s2, s1, s0> is detected in decimal form on the 7-segment displays. FA s c_in y

Problem 2: Matrix-vector multiplication in a systolic array Introduction A systolic array is a type of parallel architecture in which data is "pumped" through a series of processors linked by a field. The word "systolic" is the same as those used in medicine to enter the (systolic) blood pressure. A global clock set the pace, i.e. when data is shifted from one processor to the next. All processors perform the same operation. In this problem a matrix-vector multiplication on a systolic array is going to be studied by simulation in VHDL. Preparation before lab-moment Make a solution "on paper" before you come to the lab. Matrix-vector multiplication Mathematically, we can take out the matrix-vector multiplication as: Ck = Aki x Bi Here, A is a n x n matrix, B and C are vectors of dimension n x 1. If for example we shall multiply a 3 x 3 matrix with a 3 x 1 vector, we can give this as: A11 A12 A13 b1 c1 c2 = A21 A22 A23 x b2 c3 A31 A32 A33 b3

Systolic array The systolic arrays in this case consists of five processor elements. Each element performs the same operation(s). These are:

1) Input from the left is copied out to the right (Right_out <= Left_in). 2) Output to the left is calculated as: Left_out <= (Left_in * Top_in) + Right_in. The B-vector is pumped in from the left in the sequence: b1, 0, b2, 0, b3. The A-matrix is pumped into from above as the sequence shown in the figure. Utdatavektorn C comes out to left under the sequence c1, 0, c2, 0, c3. Let the output of each processor be delayed eg 7 ns after clock flank. Clock the model with 10 ns periodtid (100 MHz).

VHDL modeling A processor element is described in figure below. All signals, except for clock and reset, must be of type integer. Top_in Left_in Right_out Left_out Right_in Reset Clock

The complete array of five PE, is shown in the figure on the previous page. Execution This lab is based on knowledges and methods that was trained in the previous labs. It may therefore be good to look at lab1 Dice. Start the symbol editor and create symbol PE as shown in Fig. All signals, except clock and reset, must be of type integer. When the PE component is created, it shall be tested. Start the schematic editor and place one PE. Create the I/O ports required and then save the schematic with the name onepe. Create a symbol of this schematic, and then quit the schematic editor. Create the test bench and edit it.Add the appropriate VHDL code that tests the component PE Compile and run the simulator. Check that the component PE works as it was thought. Correct any errors. When the PE works the full matrix-vector multiplier is going to be created. Create a new schematic with an appropriate name (i.e. systolic) with five PE connected as shown in fig. Create a new test bench to test the whole array and simulate this. Test the component with the following values: 3 1 0 4 2 6 5 1 26 3 x 2 = 14 7 3 33

a11 a21 a31 t=7: t=6: t=5: t=4: t=3: t=2: t=1: b3,0,b2,0,b1 c1,0,c2,0,c3 t=7: t=6: t=5: t=4: t=3: t=2: b3,0,b2,0 0 0 a13 0 0 0 b1 PE t=7: t=6: t=5: t=4: t=3: b3,0,b2 0 0 a13 0 0 0 PE t=7: t=6: t=5: t=4: b3,0 0 0 a13 0 b2 PE t=7: t=6: t=5: b3 0 0 a13 0 PE PE b1*a11+ 0 b2*a12 0 a23 b3 PE b1*a11+ b2*a12+ b3*a13 =c1 0 0 PE a21*b1+ PE b1*a11 0 a23 0 b2 PE a21*b1 a33 0 b2 PE 0 a31*b1 a22*b2 0 a33 0 a22 0 b1 PE 0 0 a23 0 a12 0 PE 0 PE 0 a33 0 a22 0 b1 PE 0 a23 0 a12 0 PE a33 0 a22 0 a11 0 a23 0 a12 0 0 a33 0 a22 0 a11 0 a12 a22 a32 0 0 a13 0 0 0 0 PE a13 b1 a11 b1 a23 x b2 = a21 b1 a33 b3 a31 b1 0 a23 0 a12 0 0 0 PE a33 0 a22 0 a11 0 0 PE

0 0 a31 0 0 0 0 PE 0

t=7: t=6:

0 0

0 a32 0 PE

0 0 PE b1 0

Library

IEEE;

Use IEEE.std_logic_1164.all; Use IEEE.std_logic_unsigned.all; constant numb_addr: integer := 7; type pe_data is array (0 to numb_addr - 1, 0 to 4) of integer; constant pe_matrix: pe_data:=pe_data ( 6=> (0, 0, 7, 0, 0), 5=> (0, 3, 0, 6, 0), 4=> (5, 0, 2, 0, 0), 3=> (0, 4, 0, 1, 0), 2=> (0, 0, 3, 0, 0), 1=> (0, 0, 0, 0, 0), 0=> (0, 0, 0, 0, 0); type vec is array (0 to numb_addr-1) of integer; constant pe_vec: vec := vec (1, 0, 2, 0, 3, 0, 0);

ex. integer

col1<=pe_matrix(0, 3)

- eureka math grade 3 module 1 parent tip sheetsUploaded byapi-260816070
- Manual Omega 92Uploaded byVan Xuong
- Systolic ArraysUploaded byTeferi Lemma
- Experiment 5Uploaded byKanwal Gill
- eureka math grade 3 module 1 parent tip sheetsUploaded byapi-295813401
- Web Enabled Home Rabbit)Uploaded byRamesh Kumar
- Computer Notes BasicUploaded byDivesh Chandra
- Anleitung ChipScope 0011v2 Mit Anhang EnUploaded byKiran Kumar
- Detailed Lesson PlanUploaded byRub Bing
- Report 123Uploaded byVishal Chetal
- Com 1600Uploaded bySohei La
- S7-1214Uploaded bylplplplpz
- 2PAA111637 a en Freelance Rack HardwareUploaded byrablo
- Xilnx ISE webpack Introduction.pdfUploaded bySamudhbhav Prabhu
- Test SchemeUploaded bynazir143
- tr95-13Uploaded bypostscript
- Vlsi Lab Progra NewUploaded byVinoth Kumar
- Nr411902 Real Time Systems Set1Uploaded bySrinivasa Rao G
- 132Uploaded byDaniel Raj
- UNIT 5_ VHDLUploaded byMichael Foster
- Introduction to VHDL 1Uploaded byAshley Jovian Correa
- F,G,HUploaded bycristian_rivera9792
- 20150525121518_BoardInfoUploaded byMakhloufi Hocine
- RA7_Vasantham_SudheerKumarUploaded bysvasanth007
- computerUploaded bysumancts
- S7Uploaded byRaphael Avelino
- S_8801Uploaded byAnonymous nyLkejhs
- Linux-Unix Useful CommandsUploaded byNagara Akuma
- 12-03-06-10-38-58-1265-navakrishnnUploaded byShivaprasad.b.k
- PC-10-esf.pdfUploaded byAnisorac Vasile

- Ansys Chu y Chicago Modeling and Simulation of Brushless Dc Motor Drive SystemUploaded byhieuhuech1
- Guideline for DSPACEUploaded byhieuhuech1
- Release Notes for Altium Designer Version 17.0.7Uploaded byhieuhuech1
- Permanent Magnet Synchronous Motor With Linear Quadratic Speed ControlUploaded byhieuhuech1
- sodonguyenly_nguyet_F2812Uploaded byhieuhuech1
- Nonlinear Model of Permanent-Magnet Synchronous MotorsUploaded byhieuhuech1
- Modeling and Control of a Single-Phase, 10 KW Fuel Cell InverterUploaded byhieuhuech1
- DC-AC Inverter 10KWUploaded bynishan
- FOD8316-108263Uploaded byhieuhuech1
- Grobler AJ Chapter4Uploaded byhieuhuech1
- GATbx_v12Uploaded byzdysys
- Gioithieu Kit&Bai 01 XuatLEDUploaded byhieuhuech1
- 15 Topic Thi Noi Tieng Anh b1Uploaded byNghia Nguyen
- 589109Uploaded byhieuhuech1
- [Codientu.org]_CUploaded byhieuhuech1
- too...to - so ...thatUploaded byhieuhuech1
- Sensorless Foc of Pmsm Chu Y-Uploaded byhieuhuech1
- 3-Chung Chi B1 Online, Luyen Thi Chung Chi b1 Online Tieng AnhUploaded byhieuhuech1
- Such as---- so --thatUploaded byhieuhuech1
- Chung Chi B1 Online, Luyen Thi Chung Chi b1 Online Tieng Anh 2Uploaded byhieuhuech1
- Spectrum Digital.user Guide 2Uploaded byhieuhuech1
- h-2012--88_J_8348Uploaded byhieuhuech1
- igbt--cm600dy_12nfUploaded byhieuhuech1
- Getting Started With DsPIC30F Digital Signal Controllers User's GuideUploaded bythienthuy232
- Ga Speed and Dq Currnets Control of Pmsm WithUploaded byhieuhuech1
- 2005-Bai Bao Hay--Sensorless Indirect Rotor Field Orientation Speed Control OfUploaded byhieuhuech1
- PMSM -dobro2Uploaded byMarko_Del
- Luenberger state observer Rotor position estimation simulink and software libraryUploaded bySamhita Vishnu
- Allgower, F., And a. Zheng, Nonlinear Model Predictive ControlUploaded byclaus_darmstadt

- 0020.Matrix-multiplication-systolic.pdfUploaded bycharity_iitm
- PERFORMANCE ANALYSIS OF TWO-DIMENSIONAL SYSTOLIC ARRAY MATRIX MULTIPLICATION WITH ORTHOGONAL INTERCONNECTIONSUploaded byInternational Journal of New Computer Architectures and their Applications (IJNCAA)
- Designing of 4-bit array multiplayerUploaded byvinayak
- Lecture006. Introduction Systolic arrayUploaded byShirshendu Roy
- SNNAP Approximate Computing on Programmable SoCs via Neural Acceleration.pdfUploaded byBoppidiSrikanth
- Analysis of Field Programmable Gate Array-Based Kalman Filter ArcUploaded bySuman Saurabh Mohanty
- its_annevelink_19880105(1).pdfUploaded byRamdas
- 7-chap7_systolic_array.pdfUploaded bymasoud
- Introduction to Systolic ArraysUploaded bydeepak_abc
- RM ReviewUploaded byJamal Khan Khan
- Solihin Chapter 1 slidesUploaded byTanmay Sapkal
- Dynamically Reconfigurable Architecture for Third Generation Mobile Systems _thesisUploaded bynarashimaraja
- 1535131089900_Unit-3.pdfUploaded byJanardhan Ch
- 070 Systolic ProcessorsUploaded byAbinaya Devarajan
- Systolic ArrayUploaded byhimanshu_agra
- Lab3_eng_-10simulation of a matrix-vector multiplication.pdfUploaded byhieuhuech1
- Lecture - 16 Data Flow and Systolic Array Architectures.pdfUploaded bymohsinmanzoor