Guidelines for Laboratory Sessions:
|
|
- Myrtle McDonald
- 5 years ago
- Views:
Transcription
1 University of Malta Faculty of Engineering Department of Electronic Systems Engineering Hardware Description Languages ELE 3103 Lecturer: Dr. Ivan Grech Laboratory Tutors: Dr. Edward Gatt Mr. Owen Casha Mr. Mark Bonnici Assessment: 60 % Examination 40 % Assignment Tutorial Sheet (15%) & Project (25%) Guidelines for Laboratory Sessions: 1. For the first laboratory session the student is required to bring along the walkthrough provided with this bundle and a softcopy of the sample code including the test bench. 2. It is important that the student provides a means to store his work as a softcopy e.g. pendrive, floppy disk etc. 3. Any preparatory work related to the assignments should be done before entering the lab sessions. No student will be allowed to enter the lab session without the requested work. 4. The assignment is divided into two parts: Tutorial Sheet: Project: o Carries 15% of laboratory work assessment o Includes short tasks to be solved by a VHDL code so that each student can capture good VHDL programming skills both behavioral and structural VHDL. o Students should deliver for each question preparation, code(s), test-benches, waveforms, results and any comments where applicable. o Carries the remaining 25% of laboratory work assessment o Includes a problem to be solved by a VHDL code and its aim is to test the skills acquired by students from the Tutorial Sheet. o Students should deliver a report which includes the following preparation, code(s), test-benches, waveforms, results and any comments where applicable. 5. The deliverables should be presented during an interview conducted by the laboratory tutors. The schedule for the interviews will be communicated later on. Hardware Description Languages ELE
2 Modelsim Walkthrough Design of a Simple ALU The following diagram shows the basic steps for simulating a design in Modelsim. Creating the working library In Modelsim, all designs, be they VHDL, Verilog, or a combination of the two, are compiled into a library. You typically start a new simulation in Modelsim by creating a working library called "work". "Work" is the library name used by the compiler as the default destination for compiled design units. Compiling your design After creating the working library, you compile your design units into it. The Modelsim library format is compatible across all supported platforms. You can simulate your design on any platform without having to recompile your design. Running the simulation With the design compiled, you invoke the simulator on a top-level module (Verilog) or a configuration or entity/architecture pair (VHDL). Assuming the design loads successfully, the simulation time is set to zero, and you enter a run command to begin simulation. Step 1: Creating a new Project. 1. Start Modelsim. 2. Create a new project. Select Create a Project from the Welcome dialog or File > New >Project (Main window) from the menu bar. This opens a dialog where you enter a Project Name, Project Location (i.e., directory), and Default Library Name. The default library is where compiled design units will reside. Type test in the Project Name field. Click Browse to select a directory where the project file will be stored. Leave the Default Library Name set to work. Click ok Hardware Description Languages ELE
3 Step 2: Adding items to the project Once you click OK to accept the new project settings, you will see a blank Project tab in the workspace area of the Main window and the Add items to the Project dialog will appear. From this dialog you can create a new design file, add an existing file, add a folder for organization purposes, or create a simulation configuration. Creating new files: In this walkthrough you will need two files: one for the VHDL code of the ALU and another for the test benches. Click Create New File. Click Browse. Write the file name you wish to give to file e.g. alu.vhd Click Open and then OK Repeat for any other files e.g. alu_tb.vhd and alu_tl.vhd These two files are attached to this walk-through. Hardware Description Languages ELE
4 Adding existing files: Click Add Existing File. Click Browse. Open the examples directory in your ModelSim installation tree Select alu.vhd, alu_tb.vhd and alu_tl.vhd Click Open and then OK You should now see two files listed in the Project tab of the Main window workspace. Question mark icons (?) in the Status column mean the file hasn t been compiled or the source file has changed since the last successful compile. The other columns identify file type (e.g., Verilog or VHDL), compilation order, and modified date. Changing compile order (VHDL) Compilation order is important in VHDL designs. Follow these steps to change compilation order within a project. Select Compile > Compile Order. Click the Auto Generate button. ModelSim "determines" the compile order by making multiple passes over the files. It starts compiling from the top; if a file fails to compile due to dependencies, it moves that file to the bottom and then recompiles it after compiling the rest of the files. It continues in this manner until all files compile successfully or until a file(s) can t be compiled for reasons other than dependency. Alternatively, you can select a file and use the Move Up and Move Down buttons to put the files in the correct order. Hardware Description Languages ELE
5 Step 3: Simulation Configurations A Simulation Configuration associates a design unit(s) and its simulation options. For example, say every time you load alu_tl.vhd you want to set the simulator resolution to nanoseconds (ns) and enable event order hazard checking. Ordinarily you would have to specify those options each time you load the design. With a Simulation Configuration, you specify options for a design and then save a "configuration" that associates the design and its options. The configuration is then listed in the Project tab and you can double-click it to load alu.vhd along with its options. Create a new Simulation Configuration: Select File > Add to Project > Simulation Configuration. Type alu in the Simulation Configuration Name field Select Top Level from the Place in Folder drop-down Click the + icon next to the work library and select alu_tl. Click the Resolution drop-down and select ns Click Ok The Project tab now shows a Simulation Configuration named alu. Step 4: Load the Simulation Configuration. Double-click the alu Simulation Configuration in the Project tab. In the Transcript pane of the Main window, the vsim (the ModelSim simulator) invocation shows the -t ps switches. These are the command-line equivalents of the options you specified in the Simulate dialog. Hardware Description Languages ELE
6 Step 5: Running Simulation Enter Simulation time in space allocated: e.g. 160 ns Select Simulate > Run > Restart Select Simulate > Run-All Step 6: Wave Window The Wave window allows you to view the results of your simulation as HDL waveforms and their values. The Wave window is divided into a number of window panes. All window panes in the Wave window can be resized by clicking and dragging the bar between any two panes. Adding items to the Wave window ModelSim offers several methods for adding items to the Wave window. In this exercise, you ll try out different methods. 1. Add items using drag-and-drop. You can drag an item to the Wave window from many other windows (e.g., Main, Signals, and Variables). Drag an instance from the sim tab of the Main window to the Wave. Drag a signal from the Signals window to the Wave window. In the Wave window, select Edit > Select All and then Edit > Delete. Hardware Description Languages ELE
7 2. Add items using a command. Type add wave * at the VSIM> prompt. ModelSim adds all items from the current region. Run the simulation for awhile so you can see waveforms. Using cursors in the Wave window Cursors mark simulation time in the Wave window. When ModelSim first draws the Wave window, it places one cursor at time zero. Clicking anywhere in the waveform pane brings that cursor to the mouse location. You can also add additional cursors; name, lock, and delete cursors; use cursors to measure time interval; and use cursors to find transitions. Working with a single cursor Position the cursor by clicking and dragging. Click the Select Mode icon on the Wave window toolbar. Click anywhere in the waveform pane. A cursor is inserted at the time where you clicked Drag the cursor and observe the value pane. The signal values change as you move the cursor. This is perhaps the easiest way to examine the value of a signal at a particular time. d In the waveform pane, drag the cursor to the right of a transition with the mouse positioned over a waveform. The cursor "snaps" to the transition. Cursors "snap" to a waveform edge if you click or drag a cursor to within ten pixels of a waveform edge. You can set the snap distance in the Window Preferences dialog (select Tools > Window Preferences). In the cursor pane, drag the cursor to the right of a transition. The cursor doesn t snap to a transition if you drag in the cursor pane. Hardware Description Languages ELE
8 VHDL Code for clk, reset Project : Simple Reset Author : Owen Casha Date : 10/10/ Company : UOM File : system.vhd Design : Walkthrough library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_misc.all; use IEEE.std_logic_unsigned.all; entity SYSTEM is port ( ); end SYSTEM; reset : out bit ; clk : out bit architecture SYSTEM_arch of SYSTEM is begin SIGNAL reset : bit := '1'; SIGNAL clk : bit; CONSTANT clk_pd CONSTANT reset_pd : time := 100 ns; --clock period : time := 200 ns; --reset period BEGIN clock generator clock_driver : PROCESS BEGIN clk <= '0'; WAIT FOR clk_pd / 2; LOOP clk <= '1', '0' AFTER clk_pd / 2; WAIT FOR clk_pd; END LOOP; END PROCESS; reset driver reset <= '0' after reset_pd; END SYSTEM_arch Hardware Description Languages ELE
9 VHDL Code for ALU Project : Simple Arithmetic Logic Unit Author : Owen Casha Date : 10/10/ Company : UOM File : alu.vhd Design : Walkthrough library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_misc.all; use IEEE.std_logic_unsigned.all; entity ALU is port ( Accumulator_in: in STD_LOGIC_VECTOR (7 downto 0); Data_in : in STD_LOGIC_VECTOR (7 downto 0); Opcode_in : in STD_LOGIC_VECTOR (3 downto 0); Result_out : out STD_LOGIC_VECTOR (7 downto 0) ); end ALU; architecture ALU_arch of ALU is begin Main: process(accumulator_in,opcode_in, Data_in) begin case Opcode_in is when "0000" => Result_out <= Data_in; -- result = Data_in when "0001"=> Result_out <= Accumulator_in; -- result = accumulator_in when "0010"=> Result_out <= " "; -- result = accumulator_in + Data_in when "0011"=> Result_out <= " "; -- result = accumulator_in - Data_in when "0100"=> Result_out <= Accumulator_in and Data_in; -- result = accumulator_in and Data_in when "0101"=> Result_out <= Accumulator_in or Data_in; -- result = accumulator_in or Data_in when "0110"=> Result_out <= Accumulator_in xor Data_in; -- result = accumulator_in xor Data_in when "0111"=> Result_out <= not(accumulator_in); -- result = not(accumulator_in) when "1000"=> Result_out <= not(accumulator_in); -- result = not(data_in); when "1001"=> Result_out <= " "; -- result = 0 when "1010"=> Result_out <= " "; -- result = 8 LSBs of ( accumulator_in * Data_in) when "1011"=> Result_out <= " "; -- result = 8 MSBs of ( accumulator_in * Data_in) when "1100"=> Result_out <= accumulator_in nand Data_in; -- result = accumulator_in nand Data_in when "1101"=> Result_out <= accumulator_in nor Data_in; -- result = accumulator_in nor Data_in when "1110"=> Result_out <= accumulator_in xnor Data_in; --result=accumulator_in xnor Data_in when "1111"=> Result_out <= " "; --result=accumulator_in+1 when others => Result_out <="XXXXXXXX"; end case; end process Main; end ALU_arch; Hardware Description Languages ELE
10 Test Bench for ALU Project : Simple Arithmetic Logic Unit Author : Owen Casha Date : 10/10/ Company : UOM File : alu_tb.vhd Design : Walkthrough library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_misc.all; use IEEE.std_logic_unsigned.all; entity alu_tb is port ( ); end alu_tb; Accumulator_out: out std_logic_vector (8 downto 1); Data_out : out std_logic_vector (8 downto 1); Opcode_out : out std_logic_vector (4 downto 1) architecture alu_tb_arch of alu_tb is begin operation_1: PROCESS begin wait for 0ns; Opcode_out <= "0000"; wait for 10 ns; Opcode_out <= "0001"; wait for 10 ns; Opcode_out <= "0010"; wait for 10 ns; Opcode_out <= "0011"; wait for 10 ns; Opcode_out <= "0100"; wait for 10 ns; Opcode_out <= "0101"; wait for 10 ns; Opcode_out <= "0110"; wait for 10 ns; Opcode_out <= "0111"; wait for 10 ns; Opcode_out <= "1000"; wait for 10 ns; Opcode_out <= "1001"; wait for 10 ns; Opcode_out <= "1010"; wait for 10 ns; Opcode_out <= "1011"; wait for 10 ns; Opcode_out <= "1100"; wait for 10 ns; Opcode_out <= "1101"; wait for 10 ns; Opcode_out <= "1110"; wait for 10 ns; Opcode_out <= "1111"; wait; end PROCESS operation_1; operation_2: PROCESS begin wait for 0ns; Data_out <= " "; wait; end PROCESS operation_2; operation_3: PROCESS begin wait for 0ns; Accumulator_out <= " "; wait; end PROCESS operation_3; end alu_tb_arch; Hardware Description Languages ELE
11 Top Level for ALU Project : Simple Arithmetic Logic Unit Author : Owen Casha Date : 10/10/ Company : UOM File : alu_tl.vhd Design : Walkthrough library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_misc.all; use IEEE.std_logic_unsigned.all; entity alu_tl is port ( Result : out std_logic_vector (8 downto 1) ); end alu_tl; architecture alu_tl_arch of alu_tl is component alu port ( Accumulator_in: in std_logic_vector (8 downto 1); Data_in: in std_logic_vector (8 downto 1); Opcode_in: in std_logic_vector (4 downto 1); Result_out: out std_logic_vector (8 downto 1) ); end component ; component alu_tb is port ( Accumulator_out: out std_logic_vector (8 downto 1); Data_out: out std_logic_vector (8 downto 1); Opcode_out: out std_logic_vector (4 downto 1) ); end component; signal Accumulator : std_logic_vector(8 downto 1); signal Data : std_logic_vector(8 downto 1); signal Opcode : std_logic_vector(4 downto 1); begin alu_1 : alu port map ( Accumulator_in => Accumulator, Data_in => Data, Opcode_in => Opcode, Result_out => Result ); tb_1 : alu_tb port map ( Accumulator_out => Accumulator, Data_out => Data, Opcode_out => Opcode ); end alu_tl_arch; Hardware Description Languages ELE
12 VHDL Coding style 1. VHDL directory format The following table is the recommended way to organize your project. Each project should be placed in a separate directory. Project directory Sub directories Description title doc Place any documentation here rtl synth testbench work Place vhdl files here Place synthesis script here Place simulation test files here Work directory for modelsim 2. VHDL file name description Project name File name Description title entity_name.vhd One architecture and one entity entity_name_arch.vhd One architecture entity_name_ent.vhd One entity entity_name_cfg.vhd One configuration entity_name_pkg.vhd Package entity_name_tb.vhd Test bench Rule: A VHDL file and the entity it contains have the same name. 3. VHDL signal naming convention Signal name _in _out _io _reg _lat _clk _rst _n _async Description Input signal Output signal Inout signal Output Signal of a flipflop Output signal of a latch Clock signal reset_signal Negative logic signal Asynchronous signal Hardware Description Languages ELE
13 4. VHDL File header Every VHDL file starts with standard header: -- Project : project or course name -- Author : Mark Bonnici -- Date : 01 jan Company : File : RISC1.vhd -- Design : Course exercise 1 --Description : RISC1 top module --Changes : 5. Architecture Architecture should be one of the following: name Description BEHAVIORAL implies physical logic, does not compiler with rtl tools RTL Implies physical logic, compiler with rtl tools STRUCTURAL GATE SIMULATION TESTBENCH Implies physical connections, but not any logic Gate level netlist Simulation model Test bench model 6. Code Appearance I.1 -VHDL code must be indented. Use three spaces for indentation. I.2 -The maximum length of lines is 80. I.3 - place each port on a different line. I.4 -Use lower case I.5 -Align the colons in the entity port. I.6 -Add a short comment to each port I.7 -Add other comments as necessary to make your code more readable and understandable. Example -- Project : project or course name -- Author : -- Date : -- Company : File : async_dff.vhd -- Design : Course exercise 1 --Description : asynchronous d type fliflop --Changes : --entity of asynchronous d flpflop Hardware Description Languages ELE
14 ENTITY async_dff is PORT ( async_rst : in std_logic; --asynchronous reset clk : in std_logic; --system clock d_in : in std_logic; --data input q_reg_out : out std_logic; --data output end async_dff; --architecture of asynchronous d flpflop architecture behav of async_dff is begin process (clk, async_rst) begin if (async_rst = '1') then q_reg_out <= '0'; elsif (clk'event and clk = '1') then q_reg_out <= d_in; end if; end process; end behav; Hardware Description Languages ELE
15 Hardware Description Languages ELE 3103 Tutorial Sheet Note: Any preparatory work related to the tutorial sheet should be done before entering the lab sessions. No student will be allowed to enter the lab session without the requested work. Question 1 Design a VHDL code to control the enable of a pump which fills a water tank. As shown in the figure 1 below the inputs to the controller are X and Y which are fed from two sensors connected to the water tank. The controller should issue a pump enable signal E. Note that X, Y and E are 1 bit signals. Figure 1 Water Tank System (WTS) You should assume that the sensor gives a logic high signal in presence of water. The controller should be designed in a way to enable the pump ONLY when the water level falls below the lower limit Y and switches off ONLY when the water level has risen beyond the upper limit X. Note that the controller should be synchronized to a clock and should have an asynchronous reset. Preparation: State Diagram, Implementation Code, Testing Sequence Question 2 Figure 2 Sequence Detector Design a sequential logic circuit using VHDL which can detect an input sequence of 110. Data (din) is fed serially in on every clock cycle. As soon as it detects a correct sequence, an output alert (sync_out) is issued and it will restart scanning the input for another correct sequence. Your answer should include a minimized state diagram and an appropriate test bench. Note that din and sync_out are 1 bit signals. Preparation: State Diagram, Implementation Code, Testing Sequence Question 3 (a) Describe a BCD to seven segment display decoder as a VHDL code. The value assigned to the output vector is to be determined according to Figure 3, where a should be placed as the MSB of your output vector. Figure 3 Seven Segment Display (b) Design a counter with the following specifications: Hardware Description Languages ELE
16 4 bit output BCD/binary counter Carry output signals Asynchronous Reset Synchronous Pre-Programming capability of the output value. Functional description: Figure 4 4-bit Output Counter When async_rst =1, cntr_out is resetted to zero. When pdata_en = 1, cntr_out is set to pdata_in in the next clock cycle. When cntr_en = 1, then cntr_out is incremented on every clock cycle. In BCD mode (bcd_mode = 1), the counter cycles from 0 to 9 In Binary mode (bcd_mode = 0), the counter cycles from 0 to 15 (c) Connect the blocks designed in parts (a) and (b) in a structural VHDL architecture and perform adequate testing. Figure 5 Counter with 7-segment display driver Preparation: Implementation Codes, Testing Sequences Hardware Description Languages ELE
17 Hardware Description Languages ELE 3103 Project Note: Any preparatory work related to the project should be done before entering the lab sessions. No student will be allowed to enter the lab session without the requested work. Aim: Implementation of an Integer Multiplier using VHDL To implement a sequential algorithm for multiplication of positive integer using a hardware description language. Theory: Integer Multiplication Algorithm The block diagram in Figure 1 shows the hardware arrangement for sequential multiplication. This circuit performs multiplication by using a single n-bit adder n times to implement the spatial addition performed in the standard long multiplication of numbers. Registers A and Q combined hold the i th partial product while multiplier bit qi generates the Add/NoAdd signal. If q i = 1 then Add else NoAdd. This signal controls the addition of the multiplicand M to the i th partial product to generate the i+1 th partial product. The product is computed in n cycles. The partial product grows in length by one bit per cycle from the initial vector PP0, of n zeros in register A. The carry-out from the adder is stored in flip-flop C. At the beginning, the multiplier is loaded into register Q, the multiplicand into register M, while C and A are cleared to 0. At the end of each cycle, C, A and Q are shifted right one bit position to allow for growth of the partial product as the multiplier is shifted out of register Q. After n cycles the higher-order half of the product is held in A and the low-order half is in register Q. Figure 1 Sequential Multiplier Hardware Description Languages ELE
18 Preparation 1. Work out the following using the above algorithm on a paper: x showing the contents of the respective registers after each cycle. 2. Identify using either a descriptive or pictorial approach, the minimum number of sub-systems required to implement the algorithms, giving the input, output and processing requirements of each block. Assume that the algorithm implementations will be capable of handling 4-bit integer numbers. Implementation Multiplier Figure 2 Input/Output Requirements of Multiplier When mult_start signal is enabled for one clock cycle, the multiplier load the multiplicand_in and multiplier_in in the respective registers and starts the operation. An output signal mult_ready will show when the result is ready. Describe the multiplier algorithm with a VHDL code. Remember to use structural VHDL in case you need to connect together the required sub-systems. Produce the required test benches to test your implementation. Use the examples given in part 1 of preparation to verify correct operation. Finally implement the multiplier algorithm on the Spartan-3 FPGA available in the HDL laboratory. Hardware Description Languages ELE
Hardware Description Languages M E 2202 Tutorial Sheet
Hardware Description Languages M E 2202 Tutorial Sheet Lecturer: Dr. Edward Gatt ejgatt@eng.um.edu.mt Laboratory Tutors: Dr. Ivan Grech igrech@eng.um.edu.mt Mr. Owen Casha owen.casha@um.edu.mt Assessment:
More informationVHDL Quick Start. Edward Gatt
VHDL Quick Start Edward Gatt Modeling Digital Systems VHDL is for writing models of a system Reasons for modeling requirements specification design needs to meet specifications which maybe incomplete or
More informationDesign a three-input, two-output sequential digital circuit which functions as a digital locking mechanism. LOCK ALARM
Department of Computing Course 112 Hardware First Year Laboratory Assignment Dates for the session 2005-2006: Hand out Date: 10 th January 2006 Hand in deadline (electronic and written report): 17.00 Monday
More informationUsing Synplify Pro, ISE and ModelSim
Using Synplify Pro, ISE and ModelSim VLSI Systems on Chip ET4 351 Rene van Leuken Huib Lincklaen Arriëns Rev. 1.2 The EDA programs that will be used are: For RTL synthesis: Synplicity Synplify Pro For
More informationELCT 501: Digital System Design
ELCT 501: Digital System Lecture 4: CAD tools (Continued) Dr. Mohamed Abd El Ghany, Basic VHDL Concept Via an Example Problem: write VHDL code for 1-bit adder 4-bit adder 2 1-bit adder Inputs: A (1 bit)
More informationPart 4: VHDL for sequential circuits. Introduction to Modeling and Verification of Digital Systems. Memory elements. Sequential circuits
M1 Informatique / MOSIG Introduction to Modeling and erification of Digital Systems Part 4: HDL for sequential circuits Laurence PIERRE http://users-tima.imag.fr/amfors/lpierre/m1arc 2017/2018 81 Sequential
More informationUsing ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0
Using ModelSim to Simulate Logic Circuits in VHDL Designs For Quartus II 13.0 1 Introduction This tutorial is a basic introduction to ModelSim, a Mentor Graphics simulation tool for logic circuits. We
More informationLecture 12 VHDL Synthesis
CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?
More informationField Programmable Gate Array
Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational
More informationCPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim
CPEN 230L: Introduction to Digital Logic Laboratory Lab #6: Verilog and ModelSim Purpose Define logic expressions in Verilog using register transfer level (RTL) and structural models. Use Quartus II to
More informationUNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015
UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180A DIGITAL SYSTEMS I Winter 2015 LAB 1: Introduction to Quartus II Schematic Capture and ModelSim Simulation This
More informationVHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents
VHDL Testbench Tutorial 1 Contents 1 VHDL Testbench 2 Test Bench Syntax 3 Testbench Example: VHDL Code for Up Down Binary Counter 4 VHDL Testbench code for up down binary counter 5 Testbench Waveform for
More informationDIGITAL SYSTEM DESIGN
DIGITAL SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING Digital System Design 1 Name: Registration No: Roll No: Semester:
More informationLecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration
TKT-1426 Digital design for FPGA, 6cp Fall 2011 http://www.tkt.cs.tut.fi/kurssit/1426/ Tampere University of Technology Department of Computer Systems Waqar Hussain Lecture Contents Lecture 1: Introduction
More informationENGR 5865 DIGITAL SYSTEMS
ENGR 5865 DIGITAL SYSTEMS ModelSim Tutorial Manual January 22, 2007 Introduction ModelSim is a CAD tool widely used in the industry for hardware design. This document describes how to edit/add, compile
More informationMidterm Exam Thursday, October 24, :00--2:15PM (75 minutes)
Last (family) name: Answer Key First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Midterm
More informationCMPT 250: Computer Architecture. Using LogicWorks 5. Tutorial Part 1. Somsubhra Sharangi
CMPT 250: Computer Architecture Using LogicWorks 5 Tutorial Part 1 Somsubhra Sharangi What is VHDL? A high level language to describe digital circuit Different that a programming language ( such as Java)
More informationCCE 3202 Advanced Digital System Design
CCE 3202 Advanced Digital System Design Lab Exercise #2 This lab exercise will show you how to create, synthesize, and test a 3-bit ripple counter. A ripple counter is simply a circuit that outputs the
More informationDesigning with VHDL and FPGA
Designing with VHDL and FPGA Instructor: Dr. Ahmad El-Banna lab# 5-II 1 Agenda Structural way in VHDL Mixed Example 2 Modeling the Structurural way Structural architecture implements the module as a composition
More informationSummary of FPGA & VHDL
FYS4220/9220 Summary of FPGA & VHDL Lecture #6 Jan Kenneth Bekkeng, University of Oslo - Department of Physics 16.11.2011 Curriculum (VHDL & FPGA part) Curriculum (Syllabus) defined by: Lectures Lecture6:
More informationEITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board. (FPGA Interfacing) Teacher: Dr.
EITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board (FPGA Interfacing) Teacher: Dr. Liang Liu v.1.0.0 1 Abstract This document describes the basic behavior
More informationACS College of Engineering. Department of Biomedical Engineering. Logic Design Lab pre lab questions ( ) Cycle-1
ACS College of Engineering Department of Biomedical Engineering Logic Design Lab pre lab questions (2015-2016) Cycle-1 1. What is a combinational circuit? 2. What are the various methods of simplifying
More informationIT T35 Digital system desigm y - ii /s - iii
UNIT - V Introduction to Verilog Hardware Description Language Introduction HDL for combinational circuits Sequential circuits Registers and counters HDL description for binary multiplier. 5.1 INTRODUCTION
More informationAssignment 01 Computer Architecture Lab ECSE
Assignment 01 Computer Architecture Lab ECSE 487-001 Date due: September 22, 2006, Trottier Assignment Box by 14:30 1 Introduction The purpose of this assignment is to re-familiarize the student with VHDL
More informationENSC 350 ModelSim Altera Tutorial
ENSC 350 ModelSim Altera Tutorial This is a quick guide get you started with the ModelSim Altera simulator. ModelSim is only a functional verification tool so you will also have to use Quartus II to complete
More informationVHDL for Synthesis. Course Description. Course Duration. Goals
VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes
More informationCCE 3202 Advanced Digital System Design
CCE 3202 Advanced Digital System Design Lab Exercise #2 Introduction You will use Xilinx Webpack v9.1 to allow the synthesis and creation of VHDLbased designs. This lab will outline the steps necessary
More informationJEE2600 INTRODUCTION TO DIGITAL LOGIC AND COMPUTER DESIGN. ModelSim Tutorial. Prepared by: Phil Beck 9/8/2008. Voter Function
JEE2600 INTRODUCTION TO DIGITAL LOGIC AND COMPUTER DESIGN ModelSim Tutorial Prepared by: Phil Beck 9/8/2008 Vote 1 Vote 2 Voter Function Pass Vote 3 Pass is only a 1 when two or more of the Vote inputs
More informationQuick Tutorial for Quartus II & ModelSim Altera
Quick Tutorial for Quartus II & ModelSim Altera By Ziqiang Patrick Huang Hudson 213c Ziqiang.huang@duke.edu Download & Installation For Windows or Linux users : Download Quartus II Web Edition v13.0 (ModelSim
More informationMATLAB AND MODELSIM LINKING
MATLAB AND MODELSIM LINKING DR.S.S.Limaye Introduction: MATLAB is powerful software package for mathematical simulation, especially when signals are represented in an abstract i.e. mathematical form. When
More informationControl and Datapath 8
Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system
More informationVHDL: RTL Synthesis Basics. 1 of 59
VHDL: RTL Synthesis Basics 1 of 59 Goals To learn the basics of RTL synthesis. To be able to synthesize a digital system, given its VHDL model. To be able to relate VHDL code to its synthesized output.
More information[VARIABLE declaration] BEGIN. sequential statements
PROCESS statement (contains sequential statements) Simple signal assignment statement
More informationExperiment VERI: FPGA Design with Verilog (Part 2) (webpage: /)
Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment VERI: FPGA Design with Verilog (Part 2) (webpage: www.ee.ic.ac.uk/pcheung/teaching/e2_experiment /) 1.0 Learning Outcomes
More informationLab 3: Standard Combinational Components
Lab 3: Standard Combinational Components Purpose In this lab you will implement several combinational circuits on the DE1 development board to test and verify their operations. Introduction Using a high-level
More informationAccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall
AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall 2009-10 AccelDSP Getting Started Tutorial Introduction This tutorial exercise will guide you through the process of
More informationOUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)
September 3, 2018 GETTING STARTED WITH VHDL 2 Top-down design VHDL history Main elements of VHDL Entities and architectures Signals and processes Data types Configurations Simulator basics The testbench
More informationInferring Storage Elements
Inferring Storage Elements In our designs, we usually use flip-flops as our storage elements. Sometimes we use latches, but not often. Latches are smaller in size, but create special, often difficult situations
More informationTUTORIAL On USING XILINX ISE FOUNDATION DESIGN TOOLS: Mixing VHDL and Schematics
TUTORIAL On USING XILINX ISE FOUNDATION DESIGN TOOLS: Mixing VHDL and Schematics Shawki Areibi July 7, 2005 1 Introduction The objective of this tutorial is to show how VHDL can be incorporated into a
More informationIntroduction to Simulation of VHDL Designs Using ModelSim Graphical Waveform Editor. 1 Introduction. For Quartus Prime 16.1
Introduction to Simulation of VHDL Designs Using ModelSim Graphical Waveform Editor For Quartus Prime 16.1 1 Introduction This tutorial provides an introduction to simulation of logic circuits using the
More informationLecture 5: Aldec Active-HDL Simulator
Lecture 5: Aldec Active-HDL Simulator 1. Objective The objective of this tutorial is to introduce you to Aldec s Active-HDL 9.1 Student Edition simulator by performing the following tasks on a 4-bit adder
More informationVerilog Design Entry, Synthesis, and Behavioral Simulation
------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize
More informationContents. Chapter 9 Datapaths Page 1 of 28
Chapter 9 Datapaths Page of 2 Contents Contents... 9 Datapaths... 2 9. General Datapath... 3 9.2 Using a General Datapath... 5 9.3 Timing Issues... 7 9.4 A More Complex General Datapath... 9 9.5 VHDL for
More informationComputer-Aided Digital System Design VHDL
بس م اهلل الر حم ن الر حی م Iran University of Science and Technology Department of Computer Engineering Computer-Aided Digital System Design VHDL Ramin Rajaei ramin_rajaei@ee.sharif.edu Modeling Styles
More informationDigital Design with SystemVerilog
Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?
More informationQUARTUS II Altera Corporation
QUARTUS II Quartus II Design Flow Design Entry Timing Constraints Synthesis Placement and Routing Timing, Area, Power Optimization Timing and Power Analyzer Optimized Design 2 Can I still use a Processor?
More informationE85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design
E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design Objective The purpose of this lab is to learn to use Field Programmable Gate Array (FPGA) tools to simulate
More informationThe Optimization of a Design Using VHDL Concepts
The Optimization of a Design Using VHDL Concepts Iuliana CHIUCHISAN 1, Alin Dan POTORAC 2 "Stefan cel Mare" University of Suceava str.universitatii nr.13, RO-720229 Suceava 1 iuliap@eed.usv.ro, 2 alinp@eed.usv.ro
More informationCPE 626 Advanced VLSI Design Lecture 6: VHDL Synthesis. Register File: An Example. Register File: An Example (cont d) Aleksandar Milenkovic
CPE 626 Lecture 6: VHDL Synthesis Aleksandar Milenkovic http://www.ece.uah.edu/~milenka http://www.ece.uah.edu/~milenka/cpe626-04f/ milenka@ece.uah.edu Assistant Professor Electrical and Computer Engineering
More informationUNIVERSITI MALAYSIA PERLIS
UNIVERSITI MALAYSIA PERLIS SCHOOL OF COMPUTER & COMMUNICATIONS ENGINEERING EKT 124 LABORATORY MODULE INTRODUCTION TO QUARTUS II DESIGN SOFTWARE : INTRODUCTION TO QUARTUS II DESIGN SOFTWARE OBJECTIVES To
More informationTKT-1212 Digitaalijärjestelmien toteutus. Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008
TKT-1212 Digitaalijärjestelmien toteutus Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008 Contents Purpose of test benches Structure of simple test bench Side note about delay modeling in VHDL
More informationFPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1
FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital
More informationVHDL And Synthesis Review
VHDL And Synthesis Review VHDL In Detail Things that we will look at: Port and Types Arithmetic Operators Design styles for Synthesis VHDL Ports Four Different Types of Ports in: signal values are read-only
More informationSequential Statement
Sequential Statement Sequential Logic Output depends not only on current input values but also on previous input values. Are building blocks of; Counters Shift registers Memories Flip flops are basic sequential
More informationIn our case Dr. Johnson is setting the best practices
VHDL Best Practices Best Practices??? Best practices are often defined by company, toolset or device In our case Dr. Johnson is setting the best practices These rules are for Class/Lab purposes. Industry
More informationLab 3. Advanced VHDL
Lab 3 Advanced VHDL Lab 3 Advanced VHDL This lab will demonstrate many advanced VHDL techniques and how they can be used to your advantage to create efficient VHDL code. Topics include operator balancing,
More informationDepartment of Electronics & Communication Engineering Lab Manual E-CAD Lab
Department of Electronics & Communication Engineering Lab Manual E-CAD Lab Prasad V. Potluri Siddhartha Institute of Technology (Sponsored by: Siddhartha Academy of General & Technical Education) Affiliated
More informationXilinx ChipScope ICON/VIO/ILA Tutorial
Xilinx ChipScope ICON/VIO/ILA Tutorial The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to capture input and output directly from the FPGA hardware. These
More informationMicroBlaze Tutorial on EDK 10.1 using Sparatan III E Behavioural Simulation of MicroBlaze System
MicroBlaze Tutorial on EDK 10.1 using Sparatan III E Behavioural Simulation of MicroBlaze System Ahmed Elhossini January 24, 2010 1 Introduction 1.1 Objectives This tutorial will demonstrate process of
More informationVHDL simulation and synthesis
VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis
More informationChip Design with FPGA Design Tools
Chip Design with FPGA Design Tools Intern: Supervisor: Antoine Vazquez Janusz Zalewski Florida Gulf Coast University Fort Myers, FL 33928 V1.9, August 28 th. Page 1 1. Introduction FPGA is abbreviation
More informationVHDL Introduction to tools. TSTE12 Datorteknik Kent Palmkvist, Thomas Johansson. Version
VHDL Introduction to tools TSTE12 Datorteknik Kent Palmkvist, Thomas Johansson Version 0.5 2017-08-30 1 1 Introduction This handbook is your guide to the VHDL simulation tool set used in the course. You
More informationAssignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture
Assignment Last time Project 4: Using synthesis tools Synplify Pro and Webpack Due 11/11 ning of class Generics Used to parameterize models E.g., Delay, bit width Configurations Configuration specification
More informationLecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)
Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits Hardware Description Language) 1 Standard ICs PLD: Programmable Logic Device CPLD: Complex PLD FPGA: Field Programmable
More informationTutorial on Simulation using Aldec Active-HDL Ver 1.0
Tutorial on Simulation using Aldec Active-HDL Ver 1.0 by Shashi Karanam Introduction Active- HDL is an integrated environment designed for development of VHDL designs. The core of the system is a VHDL
More informationSequential Logic - Module 5
Sequential Logic Module 5 Jim Duckworth, WPI 1 Latches and Flip-Flops Implemented by using signals in IF statements that are not completely specified Necessary latches or registers are inferred by the
More informationAbi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University
Hardware description language (HDL) Intended to describe circuits textually, for a computer to read Evolved starting in the 1970s and 1980s Popular languages today include: VHDL Defined in 1980s by U.S.
More informationHardware Description Language VHDL (1) Introduction
Hardware Description Language VHDL (1) Introduction Digital Radiation Measurement and Spectroscopy NE/RHP 537 Introduction Hardware description language (HDL) Intended to describe circuits textually, for
More informationPollard s Tutorial on Clocked Stuff in VHDL
Pollard s Tutorial on Clocked Stuff in VHDL Welcome to a biased view of how to do register type of stuff in VHDL. The object of this short note is to identify one way to easily handle registered logic
More informationECSE-323 Digital System Design. Lab #1 Using the Altera Quartus II Software Fall 2008
1 ECSE-323 Digital System Design Lab #1 Using the Altera Quartus II Software Fall 2008 2 Introduction. In this lab you will learn the basics of the Altera Quartus II FPGA design software through following
More informationLaboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices
Internet Engineering Dr. Jarosław Sugier Laboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices This document presents software packages
More informationVerilog for High Performance
Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes
More informationHDL. Hardware Description Languages extensively used for:
HDL Hardware Description Languages extensively used for: Describing (digital) hardware (formal documentation) Simulating it Verifying it Synthesizing it (first step of modern design flow) 2 main options:
More informationECE 341 Midterm Exam
ECE 341 Midterm Exam Time allowed: 90 minutes Total Points: 75 Points Scored: Name: Problem No. 1 (10 points) For each of the following statements, indicate whether the statement is TRUE or FALSE: (a)
More informationECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 6, 2006 Classes November 6 and 8 are in 429 Dana! Lecture 15: Homework 5: Datapath How to write a testbench for synchronous
More informationLecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1
Lecture 1: VHDL Quick Start Digital Systems Design Fall 10, Dec 17 Lecture 1 1 Objective Quick introduction to VHDL basic language concepts basic design methodology Use The Student s Guide to VHDL or The
More informationDIGITAL LOGIC DESIGN VHDL Coding for FPGAs
IGITAL LOGIC SIGN VHL Coding for FPGAs SUNTIAL CIRCUITS Unit 5 Asynchronous sequential circuits: Latches Synchronous circuits: flip flops, counters, registers. Testbench: Generating stimulus COMBINATIONAL
More informationDIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6
DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6 FINITE STATE MACHINES (FSMs) Moore Machines Mealy Machines Algorithmic State Machine (ASM) charts FINITE STATE MACHINES (FSMs) Classification: Moore Machine:
More informationECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University
ECE 545 Lecture 6 Behavioral Modeling of Sequential-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 5.1, VHDL Process Chapter 8, Sequential
More informationOutline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.
Outline CPE/EE 422/522 Advanced Logic Design L05 Electrical and Computer Engineering University of Alabama in Huntsville What we know Combinational Networks Sequential Networks: Basic Building Blocks,
More informationLecture 3: Modeling in VHDL. EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware
More informationConcurrent & Sequential Stmts. (Review)
VHDL Introduction, Part II Figures in this lecture are from: Rapid Prototyping of Digital Systems, Second Edition James O. Hamblen & Michael D. Furman, Kluwer Academic Publishers, 2001, ISBN 0-7923-7439-
More informationHardware/Software Codesign for Wireless Systems (E168b) Lab 2: GPS Correlator
Harris Hardware/Software Codesign for Wireless Systems (E168b) Lab 2: GPS Correlator Introduction In this lab, you will build a time-multiplexed correlator to search for and track GPS satellite signals.
More informationDIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6
DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6 FINITE STATE MACHINES (FSMs) Moore Machines Mealy Machines FINITE STATE MACHINES (FSMs) Classification: Moore Machine: Outputs depend only on the current state
More informationECE 545 Lecture 12. FPGA Resources. George Mason University
ECE 545 Lecture 2 FPGA Resources George Mason University Recommended reading 7 Series FPGAs Configurable Logic Block: User Guide Overview Functional Details 2 What is an FPGA? Configurable Logic Blocks
More informationWritten exam for IE1204/5 Digital Design Thursday 29/
Written exam for IE1204/5 Digital Design Thursday 29/10 2015 9.00-13.00 General Information Examiner: Ingo Sander. Teacher: William Sandqvist phone 08-7904487 Exam text does not have to be returned when
More informationSchedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 8, 2006 Midterm Average: 70 Lecture 16: Midterm Solutions Homework 6: Calculator Handshaking HW 6: Due Wednesday, November
More informationECE337 Lab 1 Introduction to VHDL Simulation via Modelsim and Digital Logic Design Refresher
ECE337 Lab 1 Introduction to VHDL Simulation via Modelsim and Digital Logic Design Refresher The purpose of this first lab exercise is to help you become familiar with the VHDL synthesizer, Design Compiler
More informationUsed to perform operations many times. See previous Parallel to Serial Example
Loops- I Used to perform operations many times See previous Parallel to Serial Example Several advantages Coding style (easier to read) Laziness! When used correctly can generate better results at synthesis
More informationControl Unit: Binary Multiplier. Arturo Díaz-Pérez Departamento de Computación Laboratorio de Tecnologías de Información CINVESTAV-IPN
Control Unit: Binary Multiplier Arturo Díaz-Pérez Departamento de Computación Laboratorio de Tecnologías de Información CINVESTAV-IPN Example: Binary Multiplier Two versions Hardwired control Microprogrammed
More informationECE U530 Digital Hardware Synthesis. Course Accounts and Tools
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu Sept 13, 2006 Lecture 3: Basic VHDL constructs Signals, Variables, Constants VHDL Simulator and Test benches Types Reading: Ashenden
More informationEKT 422/4 COMPUTER ARCHITECTURE. MINI PROJECT : Design of an Arithmetic Logic Unit
EKT 422/4 COMPUTER ARCHITECTURE MINI PROJECT : Design of an Arithmetic Logic Unit Objective Students will design and build a customized Arithmetic Logic Unit (ALU). It will perform 16 different operations
More informationIE1204 Digital Design L7: Combinational circuits, Introduction to VHDL
IE24 Digital Design L7: Combinational circuits, Introduction to VHDL Elena Dubrova KTH / ICT / ES dubrova@kth.se This lecture BV 38-339, 6-65, 28-29,34-365 IE24 Digital Design, HT 24 2 The multiplexer
More informationChapter 2 Basic Logic Circuits and VHDL Description
Chapter 2 Basic Logic Circuits and VHDL Description We cannot solve our problems with the same thinking we used when we created them. ----- Albert Einstein Like a C or C++ programmer don t apply the logic.
More informationVHDL for FPGA Design. by : Mohamed Samy
VHDL for FPGA Design by : Mohamed Samy VHDL Vhdl is Case insensitive myvar = myvar = MYVAR IF = if = if Comments start with -- Comments can exist anywhere in the line Semi colon indicates the end of statements
More informationIntroduction to WebPACK 3.1. Using XILINX WebPACK Software to Create CPLD Designs
Introduction to WebPACK 3.1 Using XILINX WebPACK Software to Create CPLD Designs RELEASE DATE: 8/28/2000 All XS-prefix product designations are trademarks of XESS Corp. All XC-prefix product designations
More informationActel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial
Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification
More informationMLR Institute of Technology
MLR Institute of Technology Laxma Reddy Avenue, Dundigal, Quthbullapur (M), Hyderabad 500 043 Course Name Course Code Class Branch ELECTRONICS AND COMMUNICATIONS ENGINEERING QUESTION BANK : DIGITAL DESIGN
More information3 Designing Digital Systems with Algorithmic State Machine Charts
3 Designing with Algorithmic State Machine Charts An ASM chart is a method of describing the sequential operations of a digital system which has to implement an algorithm. An algorithm is a well defined
More informationCPEN 230L: Introduction to Digital Logic Laboratory Lab 7: Multiplexers, Decoders, and Seven Segment Displays
CPEN 230L: Introduction to Digital Logic Laboratory Lab 7: Multiplexers, Decoders, and Seven Segment Displays Purpose Learn about multiplexers (MUXs), decoders and seven segment displays. Learn about hierarchical
More information