The document describes a test bench used for design verification of other models. A test bench generates and applies input stimuli to the model under test (MUT) and monitors the MUT's outputs to verify proper operation by comparing responses to expected results. The document provides examples of simple test benches that apply test patterns to a MUT and a more sophisticated test bench that reads input stimuli from a file and writes output responses to a file for verification.
C lecture 4 nested loops and jumping statements slideshareGagan Deep
Nested Loops and Jumping Statements(Loop Control Statements), Goto statement in C, Return Statement in C Exit statement in C, For Loops with Nested Loops, While Loop with Nested Loop, Do-While Loop with Nested Loops, Break Statement, Continue Statement : visit us at : www.rozyph.com
Object oriented programming18 control structures loopingVaibhav Khanna
There may be a situation, when you need to execute a block of code several number of times. Programming languages provide various control structures that allow for more complicated execution paths.
A loop statement allows us to execute a statement or group of statements multiple times
Switch Control and Time Delay
1. LEDs and switches
2. Keypad and LEDs
3. Keypad and 8-segment LED C language and Assembly Code for Freescale MC9S08AW60
C lecture 4 nested loops and jumping statements slideshareGagan Deep
Nested Loops and Jumping Statements(Loop Control Statements), Goto statement in C, Return Statement in C Exit statement in C, For Loops with Nested Loops, While Loop with Nested Loop, Do-While Loop with Nested Loops, Break Statement, Continue Statement : visit us at : www.rozyph.com
Object oriented programming18 control structures loopingVaibhav Khanna
There may be a situation, when you need to execute a block of code several number of times. Programming languages provide various control structures that allow for more complicated execution paths.
A loop statement allows us to execute a statement or group of statements multiple times
Switch Control and Time Delay
1. LEDs and switches
2. Keypad and LEDs
3. Keypad and 8-segment LED C language and Assembly Code for Freescale MC9S08AW60
- Designed a standard cells with gates including Inverter, two input NAND, two Input NOR, two Input XOR, 2:1 Multiplexer, AOI22, OAI3222 and D Flip Flop with minimum area & diffusion breaks by using IBM130 nm process technology.
- Involved library characterization using NCX, RTL synthesis of VHDL code of 32 bit ALU Chip design using Synopsys Design Vision.
PL/SQL is a procedural language designed specifically to embrace SQL statements within its syntax. PL/SQL program units are compiled by the Oracle Database server and stored inside the database.
Unlock full featured course with 250+ Video Lectures at 20% Discount for "Learn 5 PLC's in a Day" lifetime E-Learning course for 39 USD only: https://www.udemy.com/nfi-plc-online-leaning/?couponCode=slideshare2016
Enroll for Advanced Industrial Automation Training with PLC, HMI and Drive Combo with 300+ Video Lecture for 69.3 USD only: http://online.nfiautomation.org/catalog/1769?couponCode=LEARNING_MADE_EASY
Student information management system project report ii.pdfKamal Acharya
Our project explains about the student management. This project mainly explains the various actions related to student details. This project shows some ease in adding, editing and deleting the student details. It also provides a less time consuming process for viewing, adding, editing and deleting the marks of the students.
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
Vaccine management system project report documentation..pdfKamal Acharya
The Division of Vaccine and Immunization is facing increasing difficulty monitoring vaccines and other commodities distribution once they have been distributed from the national stores. With the introduction of new vaccines, more challenges have been anticipated with this additions posing serious threat to the already over strained vaccine supply chain system in Kenya.
Quality defects in TMT Bars, Possible causes and Potential Solutions.PrashantGoswami42
Maintaining high-quality standards in the production of TMT bars is crucial for ensuring structural integrity in construction. Addressing common defects through careful monitoring, standardized processes, and advanced technology can significantly improve the quality of TMT bars. Continuous training and adherence to quality control measures will also play a pivotal role in minimizing these defects.
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSEDuvanRamosGarzon1
AIRCRAFT GENERAL
The Single Aisle is the most advanced family aircraft in service today, with fly-by-wire flight controls.
The A318, A319, A320 and A321 are twin-engine subsonic medium range aircraft.
The family offers a choice of engines
Democratizing Fuzzing at Scale by Abhishek Aryaabh.arya
Presented at NUS: Fuzzing and Software Security Summer School 2024
This keynote talks about the democratization of fuzzing at scale, highlighting the collaboration between open source communities, academia, and industry to advance the field of fuzzing. It delves into the history of fuzzing, the development of scalable fuzzing platforms, and the empowerment of community-driven research. The talk will further discuss recent advancements leveraging AI/ML and offer insights into the future evolution of the fuzzing landscape.
Forklift Classes Overview by Intella PartsIntella Parts
Discover the different forklift classes and their specific applications. Learn how to choose the right forklift for your needs to ensure safety, efficiency, and compliance in your operations.
For more technical information, visit our website https://intellaparts.com
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
Event Management System Vb Net Project Report.pdfKamal Acharya
In present era, the scopes of information technology growing with a very fast .We do not see any are untouched from this industry. The scope of information technology has become wider includes: Business and industry. Household Business, Communication, Education, Entertainment, Science, Medicine, Engineering, Distance Learning, Weather Forecasting. Carrier Searching and so on.
My project named “Event Management System” is software that store and maintained all events coordinated in college. It also helpful to print related reports. My project will help to record the events coordinated by faculties with their Name, Event subject, date & details in an efficient & effective ways.
In my system we have to make a system by which a user can record all events coordinated by a particular faculty. In our proposed system some more featured are added which differs it from the existing system such as security.
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
Terzaghi's soil bearing capacity theory, developed by Karl Terzaghi, is a fundamental principle in geotechnical engineering used to determine the bearing capacity of shallow foundations. This theory provides a method to calculate the ultimate bearing capacity of soil, which is the maximum load per unit area that the soil can support without undergoing shear failure. The Calculation HTML Code included.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Hd9
1. Test Bench
Dr.R.P.Rao
Test Bench Top Level Model
MUT
Test
Bench
Top Level Model
MUT
Test
Bench
A test bench is usually a simulation-only model used for design verification of some other
model(s) to be synthesized. A test bench is usually easier to develop than a force file when
verifying the proper operation of a complicated model. In its simplest form, a test bench
generates and applies input stimuli to the model under test. The test bench can call the model
under test (MUT) hierarchically, as illustrated in Figure 1a, or it can be a separate model with
another top level hierarchical model calling and interconnecting both the test bench and the
MUT, as illustrated in Figure 1b. It is a bad idea to merge the test bench and MUT in a single non-
hierarchical model since editing the model to remove test bench destroys the design verification
effort by opening the door for design errors. A more sophisticated approach is to have the test
bench monitor the outputs of the MUT and to compare the output responses with expected results
for design verification as illustrated in Figure 1c. With the latter approach, the input stimuli can be
modified based on the output response of the MUT.
a) Test bench as top level model b) Test bench as subcircuit within
higher level model
c) Test bench performing design
verification
Figure 1. Test Bench Hierarchy
The test bench is typically not synthesizable since it must often contain timing information
(delays) that cannot be synthesized into hardware (while the MUT contains no timing
information other than delta delays). There are two types of delays that can be used, inertial
delay and transport delay, with the formats given below. The effect of these two types of delays
can be seen in the timing diagram of Figure 2.
X <= A after 5 ns; -- inertial delay acts as a filter removes pulses less that 5ns
Y <= transport A after 5 ns; -- transport delay passes all pulses
A
X
Y
Time (ns)
0 5 10 15 20
Figure 2. Timing Diagram for Delays
MUT
2. Test Bench
Dr.R.P.Rao
A simple test bench that will apply a set of test patterns to a MUT is given below where we are
generating a BCD count sequence along with a clock signal to be applied to the MUT:
entity TB is
port (CK: buffer bit;
BCD: out bit_vector(3 downto 0));
end entity TB;
architecture RTL of TB is
signal INIT: bit;
begin
CK <= not CK after 50 ns; -- repetitive patterns
BCD <= “0000”, “0001” after 100ns, “0010” after 200 ns, “0011” after 300 ns,
“0100” after 400 ns, “0101” after 500 ns, “0110” after 600 ns,
“0111” after 700 ns, “1000” after 800 ns, “1001” after 900 ns;
end architecture RTL;
A more sophisticated test bench is given below where the control of the input stimuli to the MUT
is read from an input file (mut.vec) while the output responses from the MUT are written to an
output file (mut.out) with the formats shown below. Note that the write operation is a 3-step
sequence while the read operation is only 1 step as illustrated in Figure 3. Each step in this
example test bench is 10 ns in duration.
Input file format:
w 0 10000000
w 1 00100001
w 2 00000000
w 3 00000000
r 0
r 1
r 2
r 3
e 0
Output file format:
w 0 10000000 10000000
w 1 00100001 00100001
w 2 00000000 00000000
w 3 00000000 00000000
r 0 00000001
r 1 00100001
r 2 10100100
r 3 00000110
ADDR=2-bits
DATIN=8-bits
RW=1-bit
Write Operation Read Operation
RW
Figure 3. Timing Diagram for Example Test Bench Operations
library IEEE;
use IEEE.std_logic_1164.all;
use STD.TEXTIO.all; -- calls package with routines for reading/writing files
entity TEST is
end entity;
architecture RTL of TEST is
signal RW: std_logic; -- read/write control to MUT
signal ADD: std_logic_vector(1 downto 0); -- address to MUT
ADDRADDR & DATIN
RW
3. Test Bench
3 3/11C. E. Stroud,ECE Dept.,Auburn Univ.
signal DIN,DOUT: std_logic_vector(7 downto 0); -- data to/from MUT
signal STOP: std_logic := ‘0’; -- used to stop reading of vector file at end
component MUT is
port ( RW: in std_logic;
ADDR: in std_logic_vector(1 downto 0);
DATIN: in std_logic_vector(7 downto 0);
DATO: out std_logic_vector(7 downto 0));
end component;
begin
M1: MUT port map (RW, ADD, DIN, DOUT); -- hierarchical connection to MUT
process -- main process for test bench to read/write files
variable DAT: bit_vector(7 downto 0); -- variable for data transfer to/from files
file SCRIPT: TEXT is in "mut.vec"; -- “file pointer” to input vector file
file RESULT: TEXT is out "mut.out"; -- “file pointer” to output results file
variable L: line; -- variable to store contents of line to/from files
variable OP: character; -- operation variable (read/write)
variable AD: integer; -- address variable
begin
if (STOP = ‘0’) then
RW <= '1'; -- set RW to read
READLINE(SCRIPT,L); -- read a line from the input file
READ(L,OP); -- read the operation from the line
READ(L,AD); -- read the address from the line
if (AD = 0) then ADD <= "00";
elsif (AD = 1) then ADD <= "01";
elsif (AD = 2) then ADD <= "10";
else ADD <= "11";
end if;
if (OP = 'w') then
READ(L,DAT); -- read data from the line
for i in 7 downto 0 loop
if (DAT(i) = '0') then DIN(i) <= '0';
else DIN(i) <= '1';
end if;
end loop;
RW <= '1'; -- set RW to 1 for 10 ns
wait for 10 ns;
RW <= '0'; -- set RW to 0 for 10 ns
wait for 10 ns;
RW <= '1'; -- set RW to 1 for 10 ns
wait for 10 ns;
WRITE(L,OP); -- write operation to output line
WRITE(L,' '); -- write a space to output line
WRITE(L,AD); -- write address to output line
WRITE(L,' '); -- write a space to output line
WRITE(L,DAT); -- writes input data to output line
4. Test Bench
4 3/11C. E. Stroud,ECE Dept.,Auburn Univ.
for i in 7 downto 0 loop
if (DOUT(i) = '0') then DAT(i) := '0'; -- transfer DOUT to DAT
else DAT(i) := '1';
end if;
end loop;
WRITE(L,' '); -- write a space to output line
WRITE(L,DAT); -- write DAT to output line
WRITELINE(RESULT,L); -- write output line to output file
elsif (OP = 'r') then
wait for 10 ns; -- wait for 10 ns to read
WRITE(L,OP); -- write operation to output line
WRITE(L,' '); -- write a space to output line
WRITE(L,AD); -- write address to output line
for i in 7 downto 0 loop
if (DOUT(i) = '0') then DAT(i) := '0'; -- transfer DOUT to DAT
else DAT(i) := '1';
end if;
end loop;
WRITE(L,' '); -- write a space to output line
WRITE(L,DAT); -- write DAT to output line
WRITELINE(RESULT,L); -- write output line to output file
end if;
else
end if;
STOP <= ‘1’; -- will stop read/write of files when ‘e’ encountered
wait for 10 ns; -- wait for 10 ns to read
end process;
end architecture;
Note that you must be careful about trying to open and read results or write vector files
while ModelSim is open. The results file may not be closed until you exit ModelSim.
Similarly, edits made to the input vector file may not be transferred to ModelSim without
closing out the file and/or simulation, and restarting ModelSim.
An alternative to the “STOP” approach used in the example above is the following
construct used in the process:
process -- main process for test bench to read/write files
variable and file declarations
begin
while not (endfile(script)) loop
do test bench stuff
end loop;
end process;
5. Test Bench
5 3/11C. E. Stroud,ECE Dept.,Auburn Univ.
assert statements check to see if a condition is true or not and displays an error message
general format:
assert BOOLEAN-EXPRESSION
report “STRING” -- reports only if Boolean-expression is false
severity SEVERITY-LEVEL ; -- severity is optional
3 severity-levels: note, warning, error, failure (lowest to highest) –action taken depends
on simulator (typically “note” and “warning” keep running while “error” and “failure”
halt simulation)