ECE337 Lab 4 Introduction to State Machines in VHDL
|
|
- Matthew George Higgins
- 6 years ago
- Views:
Transcription
1 ECE337 Lab Introduction to State Machines in VHDL In this lab you will: Design, code, and test the functionality of the source version of a Moore model state machine of a sliding window average filter. Synthesize, test, and verify the functionality of the mapped version of a Moore model state machine of sliding window average filter. Prelab Exercises For this lab it is required that the following things be completed before the start of lab: Create a Moore model state machine for a 1101 sequence detector (moore.vhd). Create a Mealy model state machine for a 1101 sequence detector (mealy.vhd). Print off and hand in waveforms that clearly verify that moore.vhd and mealy.vhd each work properly (source version is all that is required, one copy per team). Draw a state diagram for a two-point averaging filter and a four-point averaging filter. Also write pseudo-code for the four-point averaging filter. Electronically turn in your VHDL code and pseudo-code using the command autoturnin p. (Everyone) Lab Rules and Teamwork Report For this lab you will be working with a partner. Please see the Teamwork Guidelines document posted with this handout for details on what is and is not acceptable collaboration. You will also need to fill out a teamwork report after the lab as outlined by the Teamwork Guidelines document. Overall Design For this lab you will be designing an ASIC that reads in data samples and outputs the average of the last four samples, as well as keeping track of the number of samples processed. This sort of design is called a sliding-window average, and is a simple example of a digital filter. Such a design would be useful for smoothing an A/D conversion to reduce noise, for example. The RTL diagram of the system is given to you in Figure 1. Although the hardware described in this lab is not the most efficient way to solve this simple problem, it is very extensible, and the function of the system could be easily changed to do a much more complicated task with very little change to the RTL diagram. 1
2 The inputs and outputs of the top level are given here. (A more detailed description will be given with the description of the top level file itself.) SIGNAL DIRECTION DESCRIPTION clk Input 200MHz System clock nreset Input Active low reset data <15:0> Input -bit unsigned data input. data_ready Input Indicates that data is valid and may be read. count_out <15:0> Output How many samples have been read. modwait Output Indicates that the state machine is busy avg_out <15:0> Output This is the output of the average of the last for samples err Output Indicates that an overflow occurred during averaging. The asynchronous input data_ready must first be synchronized in order to be used by the system. When the synchronized signal, dr, goes high, it signals to the control unit that valid data is on the data signal and that the system should process a new sample. The control unit is responsible for telling the datapath block which operations to perform, in order, and where to store the values. It also pulses the cnt_up signal to increment the counter block and keep track of the number of samples processed. Additionally, the control unit must manage two top-level outputs: modwait, which tells the user that a sample is being processed; and err, which indicates an error in processing the samples. The datapath itself outputs the result of the operation, stored in a special output register. Before being presented to the user, the result (the summation of the last four samples) is divided by four. 2
3 data_ready nreset clk Synchronizer nreset clk Control Unit cnt_up modwait dr err op A B C V 2 nreset clk op A B C V cnt_up Datapath (Provided) counter outreg count_out division code count_out modwait err avg_out General Diagram of Datapath out data data clk nreset A B C data RegFile V Figure 1 Hardare Overview 3
4 Block Description Control Unit (controller.vhd) The control unit is the brain of your system. It has to regulate and control the operation sequence and input signals to the other components in the system so your system could operate as specified. The state transitions of the control unit can be described by the following pseudocode: idle: if (dr=0) goto idle ; Loop until dr asserted. sort1: err = 0 ; Reset error reg[] = reg[3] ; Reorder registers sort2: reg[3] = reg[2] sort3: reg[2] = reg[1] store: reg[1] = data ; Store data in register add1: reg[0] = reg[1] + reg[2] if (V=1) goto eidle ; stop adding on overflow add2: reg[0] = reg[0] + reg[3] if (V=1) goto eidle add3: reg[0] = reg[0] + reg[] if (V=1) goto eidle goto idle eidle: err = 1 ; Set error if (dr=0) goto eidle if (dr=1) goto sort1 A more in-depth description of the unit s operation is as follows: After receiving the dr signal, the data is reorganized and the oldest data thrown out in preparation of the newest data point. The new data should be stored in the register file, the data counter should be incremented, and any error signals should be de-asserted. The modwait signal should also be raised. Then the system will add the last four sampled data together (of course since you have only 1 adder, you have to do this in multiple cycles, therefore requiring you to use the register file as accumulator). If at any point during the summation an overflow occurs, stop adding, assert the error signal, err, and continue on to the next step. (Cutting the addition short like this provides a small power savings.) Once everything is done, modwait signal should be de-asserted to notify the external device that your system is done processing the data. Keep in mind that you need to store the final addition result in the register file and need to display it to the output when the modwait signal is deasserted. You may assume that the external device will know that unless the modwait signal is low, the data in the output line might be invalid. This is why having a stable (i.e. no glitches) modwait signal is crucial. Hint: The easiest way to ensure that modwait is stable is to use a flip-flop. Entity controller is port( clk: in std_logic;
5 ); nreset: in std_logic; dr :in std_logic; V:in std_logic; cnt_up: out std_logic; modwait: out std_logic; op:out std_logic_vector (1 downto 0); A:out std_logic_vector (3 downto 0); B:out std_logic_vector (3 downto 0); C: out std_logic_vector (3 downto 0); err: out std_logic end controller; SIGNAL DIRECTION DESCRIPTION clk Input This is the SYSTEM CLOCK signal that is used by the design. This clock will control when the state of the design is updated. This should occur on the rising edge of the clock. This signal is periodic at 200MHz. nreset Input This is the RESET signal. When this signal is asserted (active-low), all the Flip-Flop outputs in the design are set immediately to logic-0. Thus, this is an asynchronous reset signal. dr Input This is the synchronized signal for the analog to digital converter to signify that the next converted data is ready. V Input Indicates that an overflow occurred in the Datapath. cnt_up Output This signal acts as an enable to the counter so that the count will increment. This signal should only act as a pulse (i.e. high for only 1 clock cycle and then back to low). modwait Output This signal is to tell the external device connected to your design that the system is still processing the new data and the external device should wait. This signal should be stable (i.e. no glitches or edges unless during transition). To achieve stability, think about the state machine style or logic devices that you could use. op <1:0> Output Op-code for the Datapath. See description of Datapath. A <3:0> Output Operand for Datapath. See description of Datapath. B <3:0> Output Operand for Datapath. See description of Datapath. C <3:0> Output Operand for Datapath. See description of Datapath. err Output Error flag. Asserted when an overflow from an addition is detected, and de-asserted when the next data sample is read in. 5
6 Counter Unit (counter.vhd) The counter unit simply counts how many samples have been processed. The counter should increment whenever the signal cnt_up is asserted. This signal is supplied to the counter by the controller. This signal is only a pulse (i.e. only high for 1 clock cycle and then back to low). Hint: If you use the following libraries (in addition to other libraries you have been using) : IEEE.STD_LOGIC_ARITH.ALL; IEEE.STD_LOGIC_UNSIGNED.ALL; Then to implement the counter you could do: signal mycount, nextcount : std_logic_vector (3 downto 0); nextcount <= mycount + 1; In this example both mycount and nextcount can range from 0 to 15. Here nextcount equals one plus mycount. Entity counter is port( clk: in std_logic; nreset: in std_logic; cnt_up:in std_logic; count_out: out std_logic_vector (15 downto 0) ); end counter; SIGNAL DIRECTION DESCRIPTION clk Input This is the SYSTEM CLOCK signal that is used by the design. This clock will control when the state of the design is updated. This should occur on the rising edge of the clock. This signal is periodic at 200MHz. nreset Input This is the RESET signal. When this signal is asserted (active-low), all the Flip-Flop outputs in the design are set immediately to logic-0. Thus, this is an asynchronous reset signal. cnt_up Input This signal acts as an enable to the counter so that the 6
7 count will increment. This signal should only act as a pulse (i.e. high for only 1 clock cycle and then back to low). count_out <15:0> Output This signal is the stored value of how many ADC samples have been processed. Synchronizer (sync.vhd) The top-level input, data_ready needs to be synchronized before it can be used. See the end of this handout for a discussion of how to accomplish this. Entity sync is port( ); clk: in std_logic; nreset: in std_logic; A:in std_logic; A_sync : out std_logic end sync; SIGNAL DIRECTION DESCRIPTION clk Input This is the SYSTEM CLOCK signal that is used by the design. This clock will control when the state of the design is updated. This should occur on the rising edge of the clock. This signal is periodic at 200MHz. nreset Input This is the RESET signal. When this signal is asserted (active-low), all the Flip-Flop outputs in the design are set immediately to logic-0. Thus, this is an asynchronous reset signal. A Input The unsynchronized input. A_sync Output The synchronized output. Datapath (provided in ECE337_IP Library) This block has been provided to you in a library (ECE337_IP). You can use objects from this library for both simulation and synthesis, but you do not have access to the source code. (RTL-level block diagrams have been provided for reference, however.) A datapath is a term for the computational logic in a microprocessor. This datapath 7
8 contains an ALU for arithmetic operations and a register file for storing data. There are registers available for you to use, though you will not need them all for this design. Register 0 is the output register, so any values assigned to this register will appear immediately on the output. You will use this block to implement the arithmetic functions of your averaging filter. entity Datapath is port( clk: in std_logic; nreset: in std_logic; op :in std_logic_vector(1 downto 0); A : in std_logic_vector (3 downto 0); B : in std_logic_vector(3 downto 0); C : in std_logic_vector(3 downto 0); data : in std_logic_vector(15 downto 0); out : out std_logic_vector(15 downto 0); V : out std_logic ); end Datapath; SIGNAL DIRECTION DESCRIPTION clk Input System clock. nreset Input Active low, asynchronous reset. op<1:0> Input The operation to perform: 00 NOP 01 COPY: Copy register A to register C 10 LOAD: Store data in register C. 11 ADD: register C = register A + register B A<3:0> Input Operand #1 (see description of op) B<3:0> Input Operand #2 (see description of op) C<3:0> Input Operand #3 (see description of op) data<15:0> Input Literal data to be loaded into a register (see op). outreg<15:0> Output Value currently stored in the output register (register 0). V Output Set if the current operation produces an overflow. (This signal is actually generated asynchronously and can be assumed to be valid whenever the input to op is ADD.) 8
9 RegFile C wsel reg0 outreg V B rsel2 rdata2 A ALU res A rsel1 rdata1 B data MUX wdata wen Datapath Ctrl op 2 op sel wen clk nreset alu_op 2 Figure 3 Block diagram of Datapath 9
10 ECE337 Lab Spring 2008 rsel1 wdata Reg00 Reg01 reg0 wsel wen Decoder EN00 EN01 EN02... EN Reg Mux 1 Mux rdata1 rdata2 Reg15 rsel2 nreset clk Figure Detail of Register File 10
11 Top Level (avg_four.vhd) This is the top level module which will connect all the individual components. The division by four will be performed in the top level. An external source puts an unsigned-bit word on the data input, and asserts data_ready to indicate to the design that the data is valid. (Note that data and data_ready are asynchronous signals.) At this point the design will store the contents of data in a register file. Then it will add the last four samples together and store the result in the accumulator. The samples will need to be moved to make way for the next cycle, discarding the last data point, e.g., sample is discarded, sample3 becomes sample, and so on. While the processing occurs, the modwait signal is asserted to indicate that the system is not yet ready to process a new sample. If an overflow occurs during the averaging process, err is asserted to indicate an error and remains asserted until the beginning of the next averaging operation. The data on avg_out is not valid during this time. Below is a timing diagram showing this operation. Figure 5 Example Waveform Structural VHDL model for the sliding window average. As mentioned before, after you have created the internal blocks, now you have to connect them together to make the top level design avg_four.vhd. There are three methods to do this. You can use any method you think is the most appropriate, as they are all documented below. The first option is to use HDLDP. Essentially, this method will be creating a schematic like you did in Lab 2. The second method is to create it by hand using port-mapping in VHDL. In case you have not realized, HDLDP will create a VHDL file with port-maps when you generate the code from your schematic. This is why our 3 rd option is a combination of both. You could create your initial top level code using HDLDP and then modify the generated code manually if you need to change the top level design. 1. Using HDLDP to create a top level block First, you have to invoke HDLDP and get to the block diagram drawing space for your new block diagram. You should be familiar with these procedures from Lab 2. The next 11
12 step is for you to set up HDLDP to use the datapath IP and import your newly created control unit and counter to HDLDP. To set up HDLDP to use an IP library: 1. At the design browser menu bar: File New Library 2. A dialog box will pop up. Pick Downstream Only and click next. 3. Set the library name to ECE337_IP and under DOWNSTREAM Data Directories, select ModelSim Compiler. Just below that, enter /home/ecegrid/a/ece337/ece337_ip/vsim and click Add.. Click OK. To import your VHDL designs into HDL Designer: 1. At the design browser menu bar: HDL HDL Import 2. A dialog box will pop up. Pick Specify HDL files. Make sure VHDL is the default for unrecognized extension. Click next. 3. In the next step, Directory should point to your Lab source directory. Add all the files you want to be imported from your source directory. For the purpose of creating avg_four.vhd, you will need to import all of the previous design units, except, obviously the datapath source, which you do not have access to. Click next.. Make sure My_Lib is the default target library. Click next. 5. In the next step, verify that everything is correct and make sure the Convert imported files to Graphics option is checked, then click finish. 6. A pop up then will ask you for Convert to Graphics options. Choose appropriate properties on how you want your design to be viewed. For our purpose, choose Graphical view to be block diagram. Click finish. Now, in your library browser you should be able to see the three newly imported designs. To create the structural code, open a blank block diagram drawing space (see lab 2) and in your drawing space, add the newly imported components. To do this, in your drawing space select: Add Component or F3 You should see a new dialog box as in figure 6. Make sure the library you want to add the components from is My_Lib because that is where you import your components into. Add the control unit, the counter, and the synchronizer to your drawing board. Now you need to add the datapath module. In your drawing space select: Add IP 12
13 In the dialog that comes up, set the language to VHDL and set the entity source file to /home/ecegrid/a/ece337/class0.5u/ece337_ip/ece337_ip.vhd. Set the entity name to datapath. You can leave the architecture file and name blank, as the VHDL file specified as the entity source contains only an entity declaration. Set the Downstream Library to ECE337_IP. Select OK and place the datapath unit on the drawing board. (If it asks you about adding package dependencies, select yes to automatically include the correct VHDL library.) Figure 6: Add components to the drawing board After you have added all components to your drawing board, connect them and add the input/output pins per the design specification. You will need to add an embedded component for the division code. You should be familiar with these procedures from Lab 2. One thing you have to pay attention to is that when you save the diagram you have the correct design unit name. To do this in the Block Diagram Editor, click: File Save Library: My_Lib Design Unit: avg_four View: struct.bd Once you have done drawing the block diagram, you will have something similar to figure 7. Now you want to generate some VHDL code to describe the circuit. To do this, in the Block Diagram Editor select: a Tasks Generate Run through Components This command will generate a VHDL file of the schematic, which will be stored in the ~/ece337/my_lib/hdl directory. Refer to Lab 2 for more information. 13
14 Figure 7: Completed block diagram After you generated the VHDL code for your top level avg_four, you have to move the design to your source directory. In your ~/ece337 directory, you will see a directory called My_Lib. Go to ~/ece337/my_lib/hdl/ directory. Then you can see.vhd files and you will see your generated.vhd file from your schematic (probably named avg_four_struct.vhd). Copy that file to your source directory and rename it with the appropriate name. Try to compile it in vsim. Vsim might give you errors saying no component found or no lib found etc, go back to the moved code and comment out the portion that declares these components and links them to My_Lib. If you are still having problems, inform the course staff. You should have avg_four.vhd in your directory now, so start testing and debugging your design. 2. Using port maps to create a top level block Creating a top level block using port maps is just like writing VHDL code. (It is, in fact.) You will need to declare the entity for the top level block. In this case, your entity declaration should look like this: entity avg_four is port( clk : in std_logic; data : in std_logic_vector (15 DOWNTO 0); data_ready : in std_logic; nreset : in std_logic; count_out : out std_logic_vector (15 DOWNTO 0); modwait : out std_logic; avg_out : out std_logic_vector (15 DOWNTO 0) 1
15 ); end avg_four ; Next, you need to declare all the components you want to port map. In order to access the provided components, you need to specify the library where they are located. Do this by including a library/use statement at the beginning of the file: library ECE337_IP; use ECE337_IP.all; Remember, you should declare the components inside the architecture body of the code and it should look like this: architecture structural of avg_four is... component controller is port( clk : in std_logic; nreset : in std_logic; dr : in std_logic; V : in std_logic; cnt_up : out std_logic; modwait : out std_logic; op : out std_logic_vector (1 downto 0); A : out std_logic_vector (3 downto 0); B : out std_logic_vector (3 downto 0); C : out std_logic_vector (3 downto 0); Err : out std_logic); end component;... Now after you declare the components you want to port map, you must declare any intermediate signals you want to use. An intermediate signal is any signal that does not connect directly to a top-level input or output. Most of the inputs of the datapath, for example, are intermediate signals. Declare these signals and give them appropriate names. After you declare the intermediate signals you will need, you can start connecting the components. The syntax of a port map is: Block_name: component_entity_name port map ( componentio => destination/sourceio{, componentio => destination/sourceio} ); ENTITY avg_four IS PORT( clk : IN std_logic; data : IN std_logic_vector (15 DOWNTO 0); data_ready : IN std_logic; nreset : IN std_logic; 15
16 count_out : OUT std_logic_vector (15 DOWNTO 0); modwait : OUT std_logic; avg_out : OUT STD_LOGIC_VECTOR (15 DOWNTO 0) ); END avg_four ; SIGNAL DIRECTION DESCRIPTION clk Input This is the SYSTEM CLOCK signal that is used by the design. This clock will control when the state of the design is updated. This should occur on the rising edge of the clock. This signal is periodic at 200MHz. nreset Input This is the RESET signal. When this signal is asserted (active-low), all the Flip-Flop outputs in the design are set immediately to logic-0. Thus, this is an asynchronous reset signal. data <15:0> Input This is the converted analog to digital data. This data only valid when the data ready signal is high. This data is assumed to be valid for a short amount of time after data_ready is asserted. data_ready Input This is the signal for the analog to digital converter to signify that the next converted data is ready. This signal has to be synchronized count_out <15:0> Output This signal is the stored value of how many ADC samples have been processed. modwait Output This signal is to tell the external device connected to your design that the system is still processing the new data and the external device should wait. This signal should be stable (i.e. no glitches or edges unless during transition). To achieve stability, think about the state machine style or logic devices that you could use. avg_out <15:0> Output This is the output of the average of the last for samples err Output Error flag. Asserted when an overflow from an addition is detected, and de-asserted when the next data sample is read in.
17 Simulating the design When simulating the design, you may notice that you can see the hierarchy of the datapath in you ModelSim design window even though you do not have access to the source. Can you identify the sub-blocks within the datapath? Can you identify any internal signals? For this lab you have been provided with a gold model of the top-level design, called GOLD_avg_four. If your design matches the gold model, then you know it is working correctly. You should be familiar with the process of including a gold model from Lab 3. Post-lab questions: Answer these questions in a text file called Lab3.txt in your source directory and turn them in along with the rest of your lab using the autoturnin command. Question: What is the minimum amount of time that data_ready must remain asserted to ensure correct operation? What is the minimum amount of time, in clock cycles, that data must remain valid after data_ready is asserted in order to ensure correct operation? (You may assume that all setup and hold times, as well as any propagation delays, are negligible.) Question: Assume that the datapath was extended to support a multiplication instruction defined by C = A * B. Write the pseudocode for a state machine that would calculate the dot product of the last four samples. (Remember the dot product is (sample1*sample3) + (sample2*sample). Also assume that the division code has been removed from the top level. Grading Procedure Important: Your file name and entity name must be the same as specified in this handout or you will fail the automated grading script (i.e. your top level file name should be avg_four.vhd and the entity name should be avg_four. Your control unit must be named controller.vhd and the entity name should be controller, etc.). The grading of Lab will be different from the previous three labs. For this lab an automatic grading script will be used. The command for this is: autoturnin 17
18 The automatic grading script itself is a FIFO queue and will be running every 5 minutes or so. As you can imagine the queue will be large closer to the deadline, so it is suggested not to procrastinate on this lab. Your results will be ed to your mg account - you can check your mg account mail with such programs as pine or mailx, to name a few. If an error ever happens, do not worry, there is a back up copy of your design, so just contact your TA. You can check the status of your submission using: askqueue This will tell your position in the queue and how long you will have to wait to get your results back. The automatic grading script will do two things. First it will test the SOURCE version of your design. Second it will test the MAPPED version of your design. For this lab, 30/5 of your grade will be determined 100% from your MAPPED version grade (the last 15/5 comes from the prelab and teamwork report). This is to reinforce the importance of getting your mapped version working. The source version score is included just as a reference. In order to have completed this lab, you have to score 90% (27/30) or better on your mapped version test. COMMENTS: You will need to use the g option with scriptgen to create the synthesis script for avg_four. This will give you a warning that it can t find datapath.vhd. This is expected and is not a problem. Your design is required to run at at least 200 MHz or it will fail the autoturnin script. You may need to optimize the circuit as in Lab 3. (You can use the s option with scriptgen to help you set constraints.) The code for the grading testbench used by the grading script will not be disclosed to the student nor will the test cases be told to the student. The majority of the points come from successfully passing the synthesized design portion of the grading testbench, therefore it is highly recommended to make sure you have an error-free run through Synopsys. You will be allowed a maximum of 10 passes through the Lab grading testbench (i.e. 10 autoturnin submissions) note: this number will decrease in future labs. Only the last submission will count! So use RCS! If a previous submission is better than your most recent submission, restore it from RCS and submit again. RCS is your friend. For the blocks of code required for this lab you must name the source files with the name provided. Failure to do so will cause you to fail the grading script. 18
19 For the blocks of code required for this lab you must use the entity names provided along with the signal names. Failure to do so will cause you to fail the grading script. Make sure that your avg_four.scr file is located in your scripts directory. Failure to do so will cause you to fail a large majority of the grading script. 19
20 Appendix: Synchronizing Asynchronous Signals Whenever a design has input signals which are asynchronous to the system clock, these input signals need to be synchronized. Assuming the inputs are read on the rising edge of the system clock, synchronization will prevent reading a transition in the input signal. In order to synchronize a signal, the input must go through TWO flip-flops clocked on the system clock. Figure 8 shows how a synchronizer circuit would look for passing data between two different clock domains (same concept, the data in one clock domain is asynchronous to the other clock domain). Figure 8: Synchronizer Circuit for two clock domains In general the synchronizer circuit has two purposes: (1) to synchronize the input signal to the system clock domain and (2) to reduce the metastability of the signal. Metastability (the unknown value of a signal) is an issue when synchronizing an asynchronous signal into a flip-flop device. If the incoming asynchronous signal happens to change its state (logic value) at the same time the flip-flop device is capturing the data, an indeterminate value on the output of the flip-flop may be seen. Now we ask, How does this affect the functionality of the circuit? It can adversely affect the circuit if the captured data is fanned out to multiple places within the circuit. The indeterminate value of the captured signal can be interpreted differently (either a logic 1 or 0 ) by different logic gates within the receiving circuit. Thus leading to a possible malfunction of the circuit. To try to reduce the possibly of this occurring, a second flip-flop is attached in series to the data capturing flip-flop. It will be the output of this second flip-flop that is used inside the receiving circuit (see Figure 8). Please note that adding the second flipflop does not guarantee the output of the second flip flop to be stable but the chances of the output being metastable are greatly reduced (note: In some modern designs, three flipflops in series are used to synchronize asynchronous signals to a clock domain). 20
HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer
1 P a g e HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer Objectives: Develop the behavioural style VHDL code for D-Flip Flop using gated,
More informationECSE-323 Digital System Design. Datapath/Controller Lecture #1
1 ECSE-323 Digital System Design Datapath/Controller Lecture #1 2 Synchronous Digital Systems are often designed in a modular hierarchical fashion. The system consists of modular subsystems, each of which
More information2.6 Reset Design Strategy
2.6 Reset esign Strategy Many design issues must be considered before choosing a reset strategy for an ASIC design, such as whether to use synchronous or asynchronous resets, will every flipflop receive
More informationCSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8
CSCB58 - Lab 4 Clocks and Counters Learning Objectives The purpose of this lab is to learn how to create counters and to be able to control when operations occur when the actual clock rate is much faster.
More informationFPGA TechNote: Asynchronous signals and Metastability
FPGA TechNote: Asynchronous signals and Metastability This Doulos FPGA TechNote gives a brief overview of metastability as it applies to the design of FPGAs. The first section introduces metastability
More informationObjectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath
Objectives Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath In the previous chapters we have studied how to develop a specification from a given application, and
More informationTSIU03, SYSTEM DESIGN. How to Describe a HW Circuit
TSIU03 TSIU03, SYSTEM DESIGN How to Describe a HW Circuit Sometimes it is difficult for students to describe a hardware circuit. This document shows how to do it in order to present all the relevant information
More informationAltera s Max+plus II Tutorial
Altera s Max+plus II Tutorial Written by Kris Schindler To accompany Digital Principles and Design (by Donald D. Givone) 8/30/02 1 About Max+plus II Altera s Max+plus II is a powerful simulation package
More informationACS College of Engineering. Department of Biomedical Engineering. HDL pre lab questions ( ) Cycle-1
ACS College of Engineering Department of Biomedical Engineering HDL pre lab questions (2015-2016) Cycle-1 1. What is truth table? 2. Which gates are called universal gates? 3. Define HDL? 4. What is the
More informationDesign Problem 4 Solutions
CSE 260 Digital Computers: Organization and Logical Design Jon Turner Design Problem 4 Solutions In this problem, you are to design, simulate and implement a maze game on the S3 board, using VHDL. This
More informationLaboratory Exercise 7
Laboratory Exercise 7 Finite State Machines This is an exercise in using finite state machines. Part I We wish to implement a finite state machine (FSM) that recognizes two specific sequences of applied
More informationFlip-flop and Registers
ECE 322 Digital Design with VHDL Flip-flop and Registers Lecture Textbook References n Sequential Logic Review Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design, 2 nd or
More informationTSIU03: Lab 3 - VGA. Petter Källström, Mario Garrido. September 10, 2018
Petter Källström, Mario Garrido September 10, 2018 Abstract In the initialization of the DE2-115 (after you restart it), an image is copied into the SRAM memory. What you have to do in this lab is to read
More informationMidterm Exam 15 points total. March 28, 2011
Midterm Exam 15 points total March 28, 2011 Part I Analytical Problems 1. (1.5 points) A. Convert to decimal, compare, and arrange in ascending order the following numbers encoded using various binary
More informationhttps://daffy1108.wordpress.com/2014/06/08/synchronizers-for-asynchronous-signals/
https://daffy1108.wordpress.com/2014/06/08/synchronizers-for-asynchronous-signals/ Synchronizers for Asynchronous Signals Asynchronous signals causes the big issue with clock domains, namely metastability.
More informationRyerson University Department of Electrical and Computer Engineering EES508 Digital Systems
1 P a g e Ryerson University Department of Electrical and Computer Engineering EES508 Digital Systems Lab 5 - VHDL for Sequential Circuits: Implementing a customized State Machine 15 Marks ( 2 weeks) Due
More informationSynchronous Sequential Logic
Synchronous Sequential Logic Ranga Rodrigo August 2, 2009 1 Behavioral Modeling Behavioral modeling represents digital circuits at a functional and algorithmic level. It is used mostly to describe sequential
More informationECE 263 Digital Systems, Fall 2015
ECE 263 Digital Systems, Fall 2015 REVIEW: FINALS MEMORY ROM, PROM, EPROM, EEPROM, FLASH RAM, DRAM, SRAM Design of a memory cell 1. Draw circuits and write 2 differences and 2 similarities between DRAM
More informationEE178 Spring 2018 Lecture Module 5. Eric Crabill
EE178 Spring 2018 Lecture Module 5 Eric Crabill Goals Considerations for synchronizing signals Clocks Resets Considerations for asynchronous inputs Methods for crossing clock domains Clocks The academic
More informationDEDICATED TO EMBEDDED SOLUTIONS
DEDICATED TO EMBEDDED SOLUTIONS DESIGN SAFE FPGA INTERNAL CLOCK DOMAIN CROSSINGS ESPEN TALLAKSEN DATA RESPONS SCOPE Clock domain crossings (CDC) is probably the worst source for serious FPGA-bugs that
More informationEE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005
EE178 Lecture Module 4 Eric Crabill SJSU / Xilinx Fall 2005 Lecture #9 Agenda Considerations for synchronizing signals. Clocks. Resets. Considerations for asynchronous inputs. Methods for crossing clock
More informationLab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift Register. Fall 2017
University of Texas at El Paso Electrical and Computer Engineering Department EE 2169 Laboratory for Digital Systems Design I Lab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift
More informationMicroprocessor Design
Microprocessor Design Principles and Practices With VHDL Enoch O. Hwang Brooks / Cole 2004 To my wife and children Windy, Jonathan and Michelle Contents 1. Designing a Microprocessor... 2 1.1 Overview
More informationMASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences
MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences Introductory Digital Systems Lab (6.111) Quiz #2 - Spring 2003 Prof. Anantha Chandrakasan and Prof. Don
More informationDigital Systems Laboratory 1 IE5 / WS 2001
Digital Systems Laboratory 1 IE5 / WS 2001 university of applied sciences fachhochschule hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK digital and microprocessor systems laboratory In this course you
More informationCHAPTER 6 DESIGN OF HIGH SPEED COUNTER USING PIPELINING
149 CHAPTER 6 DESIGN OF HIGH SPEED COUNTER USING PIPELINING 6.1 INTRODUCTION Counters act as important building blocks of fast arithmetic circuits used for frequency division, shifting operation, digital
More informationEng. Mohammed Samara. Fall The Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department
Fall 2011 The Islamic University of Gaza Faculty of Engineering Computer Engineering Department ECOM 4111 - Digital Systems Design Lab Lab 7: Prepared By: Eng. Mohammed Samara Introduction: A counter is
More informationDigital Logic. ECE 206, Fall 2001: Lab 1. Learning Objectives. The Logic Simulator
Learning Objectives ECE 206, : Lab 1 Digital Logic This lab will give you practice in building and analyzing digital logic circuits. You will use a logic simulator to implement circuits and see how they
More informationCS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.
CS 110 Computer Architecture Finite State Machines, Functional Units Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University
More informationLaboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6. - Introductory Digital Systems Laboratory (Spring 006) Laboratory - Introduction to Digital Electronics
More informationLab 3: VGA Bouncing Ball I
CpE 487 Digital Design Lab Lab 3: VGA Bouncing Ball I 1. Introduction In this lab, we will program the FPGA on the Nexys2 board to display a bouncing ball on a 640 x 480 VGA monitor connected to the VGA
More informationOutline. CPE/EE 422/522 Advanced Logic Design L04. Review: 8421 BCD to Excess3 BCD Code Converter. Review: Mealy Sequential Networks
Outline PE/EE 422/522 Advanced Logic Design L4 Electrical and omputer Engineering University of Alabama in Huntsville What we know ombinational Networks Analysis, Synthesis, Simplification, Hazards, Building
More informationSequential Circuit Design: Principle
Sequential Circuit Design: Principle modified by L.Aamodt 1 Outline 1. 2. 3. 4. 5. 6. 7. 8. Overview on sequential circuits Synchronous circuits Danger of synthesizing asynchronous circuit Inference of
More informationLab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)
Nate Pihlstrom, npihlstr@uccs.edu Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Objective The objective of lab assignments 5 through 9 are to systematically design and implement
More informationUsing on-chip Test Pattern Compression for Full Scan SoC Designs
Using on-chip Test Pattern Compression for Full Scan SoC Designs Helmut Lang Senior Staff Engineer Jens Pfeiffer CAD Engineer Jeff Maguire Principal Staff Engineer Motorola SPS, System-on-a-Chip Design
More informationCalifornia State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 3220: Digital Design with VHDL Laboratory 7
California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 322: Digital Design with VHDL Laboratory 7 Rational: The purpose of this lab is to become familiar in using
More informationUniversity of Pennsylvania Department of Electrical and Systems Engineering. Digital Design Laboratory. Lab8 Calculator
University of Pennsylvania Department of Electrical and Systems Engineering Digital Design Laboratory Purpose Lab Calculator The purpose of this lab is: 1. To get familiar with the use of shift registers
More informationLaboratory Exercise 7
Laboratory Exercise 7 Finite State Machines This is an exercise in using finite state machines. Part I We wish to implement a finite state machine (FSM) that recognizes two specific sequences of applied
More informationAsynchronous & Synchronous Reset Design Techniques - Part Deux
Clifford E. Cummings Don Mills Steve Golson Sunburst Design, Inc. LCDM Engineering Trilobyte Systems cliffc@sunburst-design.com mills@lcdm-eng.com sgolson@trilobyte.com ABSTRACT This paper will investigate
More informationMassachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory
Problem Set Issued: March 3, 2006 Problem Set Due: March 15, 2006 Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.111 Introductory Digital Systems Laboratory
More informationElectrical and Telecommunications Engineering Technology_TCET3122/TC520. NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York
NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York DEPARTMENT: SUBJECT CODE AND TITLE: COURSE DESCRIPTION: REQUIRED: Electrical and Telecommunications Engineering Technology TCET 3122/TC
More informationEITF35: Introduction to Structured VLSI Design
EITF35: Introduction to Structured VLSI Design Part 4.2.1: Learn More Liang Liu liang.liu@eit.lth.se 1 Outline Crossing clock domain Reset, synchronous or asynchronous? 2 Why two DFFs? 3 Crossing clock
More informationDebugging of VHDL Hardware Designs on Altera s DE2 Boards
Debugging of VHDL Hardware Designs on Altera s DE2 Boards This tutorial presents some basic debugging concepts that can be helpful in creating VHDL designs for implementation on Altera s DE2 boards. It
More informationASYNCHRONOUS COUNTER CIRCUITS
ASYNCHRONOUS COUNTER CIRCUITS Asynchronous counters do not have a common clock that controls all the Hipflop stages. The control clock is input into the first stage, or the LSB stage of the counter. The
More informationChapter 6. Flip-Flops and Simple Flip-Flop Applications
Chapter 6 Flip-Flops and Simple Flip-Flop Applications Basic bistable element It is a circuit having two stable conditions (states). It can be used to store binary symbols. J. C. Huang, 2004 Digital Logic
More informationMore Digital Circuits
More Digital Circuits 1 Signals and Waveforms: Showing Time & Grouping 2 Signals and Waveforms: Circuit Delay 2 3 4 5 3 10 0 1 5 13 4 6 3 Sample Debugging Waveform 4 Type of Circuits Synchronous Digital
More informationLAB 3 Verilog for Combinatorial Circuits
Goals LAB 3 Verilog for Combinatorial Circuits Learn how to design combinatorial circuits using Verilog. Design a simple circuit that takes a 4-bit binary number and drives the 7-segment display so that
More informationModeling Latches and Flip-flops
Lab Workbook Introduction Sequential circuits are digital circuits in which the output depends not only on the present input (like combinatorial circuits), but also on the past sequence of inputs. In effect,
More informationSerial FIR Filter. A Brief Study in DSP. ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 GEORGE MASON UNIVERSITY.
GEORGE MASON UNIVERSITY Serial FIR Filter A Brief Study in DSP ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 Instructions: Zip all your deliverables into an archive .zip and submit it
More informationCSE115: Digital Design Lecture 23: Latches & Flip-Flops
Faculty of Engineering CSE115: Digital Design Lecture 23: Latches & Flip-Flops Sections 7.1-7.2 Suggested Reading A Generic Digital Processor Building Blocks for Digital Architectures INPUT - OUTPUT Interconnect:
More informationFigure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.
1. CLOCK MUXING: With more and more multi-frequency clocks being used in today's chips, especially in the communications field, it is often necessary to switch the source of a clock line while the chip
More informationMassachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory
Problem Set Issued: March 2, 2007 Problem Set Due: March 14, 2007 Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.111 Introductory Digital Systems Laboratory
More informationSequential circuits. Same input can produce different output. Logic circuit. William Sandqvist
Sequential circuits Same input can produce different output Logic circuit If the same input may produce different output signal, we have a sequential logic circuit. It must then have an internal memory
More informationCOE328 Course Outline. Fall 2007
COE28 Course Outline Fall 2007 1 Objectives This course covers the basics of digital logic circuits and design. Through the basic understanding of Boolean algebra and number systems it introduces the student
More informationCHAPTER 4: Logic Circuits
CHAPTER 4: Logic Circuits II. Sequential Circuits Combinational circuits o The outputs depend only on the current input values o It uses only logic gates, decoders, multiplexers, ALUs Sequential circuits
More informationYou will be first asked to demonstrate regular operation with default values. You will be asked to reprogram your time values and continue operation
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.111 - Introductory Digital Systems Laboratory (Spring 2006) Laboratory 2 (Traffic Light Controller) Check
More informationECE 3401 Lecture 12. Sequential Circuits (II)
EE 34 Lecture 2 Sequential ircuits (II) Overview of Sequential ircuits Storage Elements Sequential circuits Storage elements: Latches & Flip-flops Registers and counters ircuit and System Timing Sequential
More informationLAB 3 Verilog for Combinational Circuits
Goals To Do LAB 3 Verilog for Combinational Circuits Learn how to implement combinational circuits using Verilog. Design and implement a simple circuit that controls the 7-segment display to show a 4-bit
More informationDigital Fundamentals: A Systems Approach
Digital Fundamentals: A Systems Approach Counters Chapter 8 A System: Digital Clock Digital Clock: Counter Logic Diagram Digital Clock: Hours Counter & Decoders Finite State Machines Moore machine: One
More informationUNIT 1 NUMBER SYSTEMS AND DIGITAL LOGIC FAMILIES 1. Briefly explain the stream lined method of converting binary to decimal number with example. 2. Give the Gray code for the binary number (111) 2. 3.
More informationMain Design Project. The Counter. Introduction. Macros. Procedure
Main Design Project Introduction In order to gain some experience with using macros we will exploit some of the features of our boards to construct a counter that will count from 0 to 59 with the counts
More informationT1 Deframer. LogiCORE Facts. Features. Applications. General Description. Core Specifics
November 10, 2000 Xilinx Inc. 2100 Logic Drive San Jose, CA 95124 Phone: +1 408-559-7778 Fax: +1 408-559-7114 E-mail: support@xilinx.com URL: www.xilinx.com/ipcenter Features Supports T1-D4 and T1-ESF
More informationLogic Design II (17.342) Spring Lecture Outline
Logic Design II (17.342) Spring 2012 Lecture Outline Class # 05 February 23, 2012 Dohn Bowden 1 Today s Lecture Analysis of Clocked Sequential Circuits Chapter 13 2 Course Admin 3 Administrative Admin
More informationAdvanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20
Advanced Devices Using a combination of gates and flip-flops, we can construct more sophisticated logical devices. These devices, while more complex, are still considered fundamental to basic logic design.
More informationFPGA Laboratory Assignment 4. Due Date: 06/11/2012
FPGA Laboratory Assignment 4 Due Date: 06/11/2012 Aim The purpose of this lab is to help you understanding the fundamentals of designing and testing memory-based processing systems. In this lab, you will
More informationFigure 1 Block diagram of a 4-bit binary counter
Lab 3: Four-Bit Binary Counter EE-459/500 HDL Based Digital Design with Programmable Logic Electrical Engineering Department, University at Buffalo Last update: Cristinel Ababei, August 2012 1. Objective
More informationLevel and edge-sensitive behaviour
Level and edge-sensitive behaviour Asynchronous set/reset is level-sensitive Include set/reset in sensitivity list Put level-sensitive behaviour first: process (clock, reset) is begin if reset = '0' then
More informationFeedback Sequential Circuits
Feedback Sequential Circuits sequential circuit output depends on 1. current inputs 2. past sequence of inputs current state feedback sequential circuit uses ordinary gates and feedback loops to create
More informationCOE758 Xilinx ISE 9.2 Tutorial 2. Integrating ChipScope Pro into a project
COE758 Xilinx ISE 9.2 Tutorial 2 ChipScope Overview Integrating ChipScope Pro into a project Conventional Signal Sampling Xilinx Spartan 3E FPGA JTAG 2 ChipScope Pro Signal Sampling Xilinx Spartan 3E FPGA
More informationMain Design Project. The Counter. Introduction. Macros. Procedure
Main Design Project Introduction In order to gain some experience with using macros we will exploit some of the features of our boards to construct a counter that will count from 0 to 59 with the counts
More informationSynchronous Sequential Design
Synchronous Sequential Design SMD098 Computation Structures Lecture 4 1 Synchronous sequential systems Almost all digital systems have some concept of state the outputs of a system depends on the past
More informationCS3350B Computer Architecture Winter 2015
CS3350B Computer Architecture Winter 2015 Lecture 5.2: State Circuits: Circuits that Remember Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design,
More informationEE 367 Lab Part 1: Sequential Logic
EE367: Introduction to Microprocessors Section 1.0 EE 367 Lab Part 1: Sequential Logic Contents 1 Preface 1 1.1 Things you need to do before arriving in the Laboratory............... 2 1.2 Summary of material
More informationLab 4: Hex Calculator
CpE 487 Digital Design Lab Lab 4: Hex Calculator 1. Introduction In this lab, we will program the FPGA on the Nexys2 board to function as a simple hexadecimal calculator capable of adding and subtracting
More informationCPE300: Digital System Architecture and Design
CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 1-Bus Architecture and Datapath 10262011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline 1-Bus Microarchitecture and
More informationPerformance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques
Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques Madhavi Anupoju 1, M. Sunil Prakash 2 1 M.Tech (VLSI) Student, Department of Electronics & Communication Engineering, MVGR
More informationGood afternoon! My name is Swetha Mettala Gilla you can call me Swetha.
Good afternoon! My name is Swetha Mettala Gilla you can call me Swetha. I m a student at the Electrical and Computer Engineering Department and at the Asynchronous Research Center. This talk is about the
More informationproblem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2002 4/5/02 Midterm Exam II Name: Solutions ID number:
More informationCOMPUTER ENGINEERING PROGRAM
COMPUTER ENGINEERING PROGRAM California Polytechnic State University CPE 169 Experiment 6 Introduction to Digital System Design: Combinational Building Blocks Learning Objectives 1. Digital Design To understand
More informationLow Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 29 Minimizing Switched Capacitance-III. (Refer
More informationCHAPTER 4: Logic Circuits
CHAPTER 4: Logic Circuits II. Sequential Circuits Combinational circuits o The outputs depend only on the current input values o It uses only logic gates, decoders, multiplexers, ALUs Sequential circuits
More informationCS/EE Homework 6
CS/EE 260 - Homework 6 Due 3/16/2000 1. Use VHDL to design the 4 bit arithmetic unit specified in problem 4 of homework 5 (you may borrow from the posted solution, if you wish). Use a dataflow description
More informationLab #12: 4-Bit Arithmetic Logic Unit (ALU)
Lab #12: 4-Bit Arithmetic Logic Unit (ALU) ECE/COE 0501 Date of Experiment: 4/3/2017 Report Written: 4/5/2017 Submission Date: 4/10/2017 Nicholas Haver nicholas.haver@pitt.edu 1 H a v e r PURPOSE The purpose
More informationDigital Electronics II 2016 Imperial College London Page 1 of 8
Information for Candidates: The following notation is used in this paper: 1. Unless explicitly indicated otherwise, digital circuits are drawn with their inputs on the left and their outputs on the right.
More informationChapter 5 Synchronous Sequential Logic
Chapter 5 Synchronous Sequential Logic Chih-Tsun Huang ( 黃稚存 ) http://nthucad.cs.nthu.edu.tw/~cthuang/ Department of Computer Science National Tsing Hua University Outline Introduction Storage Elements:
More informationLaboratory 4. Figure 1: Serdes Transceiver
Laboratory 4 The purpose of this laboratory exercise is to design a digital Serdes In the first part of the lab, you will design all the required subblocks for the digital Serdes and simulate them In part
More informationLogic and Computer Design Fundamentals. Chapter 7. Registers and Counters
Logic and Computer Design Fundamentals Chapter 7 Registers and Counters Registers Register a collection of binary storage elements In theory, a register is sequential logic which can be defined by a state
More informationRegisters and Counters
Registers and Counters A register is a group of flip-flops which share a common clock An n-bit register consists of a group of n flip-flops capable of storing n bits of binary information May have combinational
More informationRyerson University Department of Electrical and Computer Engineering COE/BME 328 Digital Systems
1 P a g e Ryerson University Department of Electrical and Computer Engineering COE/BME 328 Digital Systems Lab 6 35 Marks (3 weeks) Design of a Simple General-Purpose Processor Due Date: Week 12 Objective:
More informationAdministrative issues. Sequential logic
Administrative issues Midterm #1 will be given Tuesday, October 29, at 9:30am. The entire class period (75 minutes) will be used. Open book, open notes. DDPP sections: 2.1 2.6, 2.10 2.13, 3.1 3.4, 3.7,
More informationDesign of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit:
Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: This lab gives you more exercise in schematic entry, state machine design using the one-hot state method, further understanding
More informationdownload instant at
Chapter 4: Modeling Behavior 1. Construct a VHDL model of a parity generator for 7-bit words. The parity bit is generated to create an even number of bits in the word with a value of 1. Do not prescribe
More informationBUSES IN COMPUTER ARCHITECTURE
BUSES IN COMPUTER ARCHITECTURE The processor, main memory, and I/O devices can be interconnected by means of a common bus whose primary function is to provide a communication path for the transfer of data.
More informationSwitching Circuits & Logic Design, Fall Final Examination (1/13/2012, 3:30pm~5:20pm)
Switching Circuits & Logic Design, Fall 2011 Final Examination (1/13/2012, 3:30pm~5:20pm) Problem 1: (15 points) Consider a new FF with three inputs, S, R, and T. No more than one of these inputs can be
More informationClock Domain Crossing. Presented by Abramov B. 1
Clock Domain Crossing Presented by Abramov B. 1 Register Transfer Logic Logic R E G I S T E R Transfer Logic R E G I S T E R Presented by Abramov B. 2 RTL (cont) An RTL circuit is a digital circuit composed
More informationTask 4_B. Decoder for DCF-77 Radio Clock Receiver
Embedded Processor Lab (EIT-EMS-546-L-4) Task 4_B FB Elektrotechnik und Informationstechnik Prof. Dr.-Ing. Norbert Wehn Dozent: Uwe Wasenmüller Raum 12-213, wa@eit.uni-kl.de Task 4_B Decoder for DCF-77
More informationSlide Set 6. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng
Slide Set 6 for ENCM 369 Winter 2018 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary February 2018 ENCM 369 Winter 2018 Section
More informationEEC 116 Fall 2011 Lab #5: Pipelined 32b Adder
EEC 116 Fall 2011 Lab #5: Pipelined 32b Adder Dept. of Electrical and Computer Engineering University of California, Davis Issued: November 2, 2011 Due: November 16, 2011, 4PM Reading: Rabaey Sections
More informationContents Slide Set 6. Introduction to Chapter 7 of the textbook. Outline of Slide Set 6. An outline of the first part of Chapter 7
CM 69 W4 Section Slide Set 6 slide 2/9 Contents Slide Set 6 for CM 69 Winter 24 Lecture Section Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary
More informationChapter 3 Unit Combinational
EE 200: Digital Logic Circuit Design Dr Radwan E Abdel-Aal, COE Logic and Computer Design Fundamentals Chapter 3 Unit Combinational 5 Registers Logic and Design Counters Part Implementation Technology
More information