









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
These are the Lecture Slides of Functional Verification which includes Reusable Verification Components, Verilog Implementation, Implementation, Autonomous Generation and Monitoring, Input and Output Paths, Verifying Configurable Designs, Reusable Test Harness, Testcase Specific Code, Abstraction etc. Key important points are: Transformation, Design Specs, Subtract, Shift Right, Operand Data Accompanies, Cycles Passing, Data Accompanies, Same Port, Possible Timing Diagram, Data Accompanies
Typology: Slides
1 / 17
This page cannot be seen from the preview
Don't miss anything!










Calc3 is is the third in a series. The following describes the first calc. The first design is a simple 4 port calculator, where each port can send in 1 command at a time. Th commands consist of add, subtract, shift left, and shift right. The operand data accompanies the commands. Since there are 4 ports, there could be up to four oustanding commands at once. The input/output timing on a single port is as follows:
req1_data_in<0:31>
req1_cmd_in<0:3>
out_data1<0:31>
out_resp1<0:1>
The lightening bolt represents "some number of cycles passing". The data accompanies a successful response signal.
A second request from the same port is prohibited until the response from the first command is received.
Internally, there are two ALUs, one that processes all add commands, and the second for all shiftDocsity.com
A timing diagram of back-to-back commands might look like this:
The lightening bolt represents "some number of cycles passing". The data accompanies a success response signal. Responses may or may not be in order, but the tags will identify which command the response is for.
There may be up to 16 commands outstanding at once (4 ports, 4 commands each). As in the first calc design, the commands consist of add, subtract, shift left, and shift right.
req1_cmd_in
req1_data_in
req1_tag_in
req_resp1req_data
req_tag
For each requestor X: Inputs: reqX_cmd(0:3) add: 0001 adds contents of d1 to d2 and stores in r subtract: 0010 subtracts contents of d2 from d1 and stores in r shift left: 0101 shifts contents of d1 to the left d2(27:31) places and stores in r shift right:0110 shifts contents of d1 to the right d2(27:31) places and stores in r store: 1001 stores reqX_data(0:31) into r fetch:1010 fetches contents of d1 and outputs it on out_dataX(0:31) branch if zero: 1100 skip next valid command if contents of d1 are 0 branch if equal: 1101 skip next valid command if contents of d1 and d2 are equal reqX_d1(0:3) reqX_d2(0:3) reqX_r1(0:3) reqX_tag(0:1) reqX_data(0:31) Outputs: outX_resp(0:1) Successful completion: 01 overflow/underflow error: Command skipped due to branch: 11 outX_tag(0:1) outX_data(0:31)
reqX_cmd(0:3) reqX_d1(0:3) reqX_d2(0:3) reqX_r1(0:3) reqX_tag(0:1) outX_resp(0:1) outX_tag(0:1)
reqX_cmd(0:3) reqX_d1(0:3) reqX_d2(0:3) reqX_r1(0:3) reqX_tag(0:1) outX_resp(0:1) outX_tag(0:1) outX_data(0:31)
reqX_cmd(0:3) reqX_d1(0:3) reqX_d2(0:3) reqX_r1(0:3) reqX_tag(0:1) outX_resp(0:1) outX_tag(0:1) outX_data(0:31)
valid d2 value when command is 1101
value is 1 if next command will be skipped (branch occurs) Docsity.com
Any valid command can follow a branch
If the branch evaluates true, the following command will b
"skipped": Add/Sub/SL/SR will not write to array Store will not write to array Fetch will not return data Branch will evaluate to false (case of branch followed by branch)
Response code of '11'b for follower indicating above actio
has occurred
Invalid OP codes are ignored and are NOT considered to
be "command that follows a branch."
As in real-life, verification requires teamwork an
communication
Make a testplan
Aim to get something "up and running" early, and build upon it....but plan for growth.
Split the work
Drivers, Monitors, Checkers, Coverage, referenc model How will you predict the outcome? When?
Use instructor as "designer"
Final presentations on Friday
David Smith, Peter Szewczyk, Karina Hernande
Gernot (Gary) Gunther, Vasantha Vuyyuru
Shaun Uldrikis, Lynn Marie Kiefer
Gary Moore, Michael Halas
Corey Westrick, Fadi Zaraket
Vic Fernandes, Visda Vokhshoori
Suma Aluka, Bing Hu, Steve Goldman
Sheryll Veneracion, Ka-shan Choy