Documents Found!
As seen in
Less Work, Better Grades
Join
Course Hero
Access
best resources
Ace
your classes
Ace your courses with Course Hero!
|
|
|
Study Smarter, Score Higher
Here are the top 5 related documents
...Recall: symmetric setting
Public-key (asymmetric) setting
A
K K
pkR
A
skR
S
R
S
R
1
2
Asymmetric encryption schemes
A scheme AE is specified a key generation algorithm encryption algorithm
K, an E, and a decryption algorithm D. AE=(K,E,...
...1 CS 6210 - Final - Dec. 2001 Closed book and closed notes Your Name: Prof. Schwan Please make time to work on each question in this exam. Partial credit will be given whenever possible. 1) Short questions: 50 mins. (questions marked with * have more...
...Regular Expressions
Matthew Might
http:/matt.might.net/
Matthew Might
Regular Expressions
What are Regular Expressions?
Denition A regular expression is a term describing a regular pattern. Notations POSIX notation. Perl notation. Mathematical no...
...Storage Assignment Optimizations through Variable Coalescence for Embedded Processors
Xiaotong Zhuang ChokSheak Lau Santosh Pande
Georgia Institute of Technology College of Computing 801 Atlantic Drive Atlanta, GA, 30332-0280
{xt2000, chok, santosh...
Document Content (unformatted)
Course Hero has millions of student submitted documents similar to the one
below including study guides, homework solutions, papers, exam answer keys and textbook solutions.
EECS Review 150 - Components and Design Techniques for Digital Systems Lec 04 Hardware Description Languages / Verilog 9/6/2007 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~culler http://inst.eecs.berkeley.edu/~cs150 UC Berkeley 9/6/2007 Advancing technology changes the trade-offs and design techniques 2x transistors per chip every 18 months ASIC, Programmable Logic, Microprocessor Programmable logic invests chip real-estate to reduce design time & time to market Canonical Forms, Logic Minimization, PLAs, FPGA: programmable interconnect, configurable logic blocks LUT + storage Block RAM IO Blocks UC Berkeley EECS 150, Fa07, Lec 04-HDL 2 Outline Netlists Design flow What is a HDL? Verilog Announcements Structural models Behavioral models Elements of the language Lots of examples Remember: to design is to represent How do we represent digital designs? Components Logic symbol, truth table Storage symbol, timing diagram Connections Schematics Human readable or machine readable??? 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 3 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 4 Design Flow Design Entry High-level Analysis Netlist A key data structure (or representation) in the design process is the netlist : Network List Alternative format: n1 g1.in1 n2 g1.in2 n3 g2.in1 n4 g2.in2 n5 g1.out g3.in1 n6 g2.out g3.in2 n7 g3.out g1 "and" g2 "and" g3 "or" A netlist lists components and connects them with nodes: ex: n1 n2 n3 n4 g1 g2 n5 g3 n6 n7 Technology Mapping Low-level Analysis 9/6/2007 g1 "and" n1 n2 n5 g2 "and" n3 n4 n6 g3 "or" n5 n6 n7 Netlist is needed for simulation and implementation. Could be at the transistor level, gate level, ... Could be hierarchical or flat. How do we generate a netlist? EECS 150, Fa07, Lec 04-HDL 6 UC Berkeley EECS 150, Fa07, Lec 04-HDL 5 9/6/2007 UC Berkeley Design Flow Design Entry High-level Analysis Circuit is described and represented: Graphically (Schematics) Textually (HDL) Design Flow Design Entry High-level Analysis High-level Analysis is used to verify: correct function rough: timing power cost Result of circuit specification (and compilation) is a netlist of: generic primitives - logic gates, flip-flops, or technology specific primitives LUTs/CLBs, transistors, discrete gates, or higher level library elements adders, ALUs, register files, decoders, etc. 7 9/6/2007 Common tools used are: Technology Mapping Low-level Analysis 9/6/2007 Technology Mapping Low-level Analysis UC Berkeley simulator - check functional correctness, and static timing analyzer estimates circuit delays based on timing model and delay parameters for library elements (or primitives). UC Berkeley EECS 150, Fa07, Lec 04-HDL EECS 150, Fa07, Lec 04-HDL 8 Design Flow Design Entry High-level Analysis Technology Mapping: Converts netlist to implementation technology dependent details Expands library elements, performs: partitioning, placement, routing Design Flow Design Entry High-level Analysis Netlist: used between and internally for all steps. Low-level Analysis Technology Mapping Low-level Analysis 9/6/2007 Simulation and Analysis Tools perform low-level checks with: accurate timing models, wire delay For FPGAs this step could also use the actual device. Technology Mapping Low-level Analysis 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 9 UC Berkeley EECS 150, Fa07, Lec 04-HDL 10 Design Entry Schematic entry/editing used to be the standard method in industry Used in EECS150 until recently Schematics are intuitive. They match our use of gate-level or block diagrams. Somewhat physical. They imply a physical implementation. Require a special tool (editor). Unless hierarchy is carefully designed, schematics can be confusing and difficult to follow. 9/6/2007 HDLs Basic Idea: Language constructs describe circuits with two basic forms: Structural descriptions similar to hierarchical netlist. Behavioral descriptions use higherlevel constructs (similar to conventional programming). Originally designed to help in abstraction and simulation. Structural example: Decoder(output x0,x1,x2,x3; inputs a,b) { wire abar, bbar; inv(bbar, b); inv(abar, a); nand(x0, abar, bbar); nand(x1, abar, b ); nand(x2, a, bbar); nand(x3, a, b ); } Hardware Description Languages (HDLs) are the new standard except for PC board design, where schematics are still used. 11 Now logic synthesis tools exist to automatically convert from behavioral Behavioral example: descriptions to gate netlist. Decoder(output x0,x1,x2,x3; inputs a,b) Greatly improves designer productivity. { However, this may lead you to falsely case [a b] believe that hardware design can be 00: [x0 x1 x2 x3] = 0x0; reduced to writing programs! 01: [x0 x1 x2 x3] = 0x2; 10: [x0 x1 x2 x3] = 0x4; 11: [x0 x1 x2 x3] = 0x8; endcase; 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL UC Berkeley } EECS 150, Fa07, Lec 04-HDL 12 Design Methodology Structure and Function (Behavior) of a Design Quick History of HDLs ISP (circa 1977) - research project at CMU Simulation, but no synthesis HDL Specification Abel (circa 1983) - developed by Data-I/O Targeted to programmable logic devices Not good for much more than state machines Simulation Verification: Design Behave as Required? Functional: I/O Behavior Register-Level (Architectural) Logic-Level (Gates) Transistor-Level (Electrical) Timing: Waveform Behavior Verilog (circa 1985) - developed by Gateway (now Cadence) Similar to Pascal and C, originally developed for simulation Fairly efficient and easy to write 80s Berkeley develops synthesis tools IEEE standard Similar to Ada (emphasis on re-use and maintainability) Simulation semantics visible Very general but verbose IEEE standard Synthesis Generation: Map Specification to Implementation VHDL (circa 1987) - DoD sponsored standard 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 13 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 14 Verilog Supports structural and behavioral descriptions Structural Explicit structure of the circuit How a module is composed as an interconnection of more primitive modules/components E.g., each logic gate instantiated and connected to others Verilog Introduction the module describes a component in the circuit Two ways to describe: Structural Verilog List of components and how they are connected Just like schematics, but using text A net list Behavioral Program describes input/output behavior of circuit Many structural implementations could have same behavior E.g., different implementations of one Boolean function tedious to write, hard to decode Essential without integrated design tools Behavioral Verilog Describe what a component does, not how it does it Synthesized into a circuit that has this behavior Result is only as good as the tools Build up a hierarchy of modules 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 15 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 16 Structural Model - XOR module name Structural Model: 2-to1 mux port list module xor_gate ( out, a, b ); input a, b; output out; wire abar, bbar, t1, t2; Built-in gates declarations statements Notes: //2-input multiplexor in gates comments module mux2 (in0, in1, select, out); module input in0,in1,select; port list output out; declarations wire s0,w0,w1; not (s0, select); and (w0, s0, in0), (w1, select, in1); or (out, w0, w1); endmodule // mux2 t2 in1 s0 w0 18 inverter inverter and_gate and_gate or_gate endmodule Instance name invA (abar, a); invB (bbar, b); and1 (t1, a, bbar); and2 (t2, b, abar); or1 (out, t1, t2); interconnections wire type primitive gates Instance names? List per type A and1 invA t1 or1 out B and2 invB w1 out Composition of primitive gates to form more complex module Note use of wire declaration! 9/6/2007 select in0 17 9/6/2007 By default, identifiers are wires UC Berkeley EECS 150, Fa07, Lec 04-HDL UC Berkeley EECS 150, Fa07, Lec 04-HDL Simple Behavioral Model Combinational logic Describe output as a function of inputs Note use of assign keyword: continuous assignment 2-to-1 mux behavioral description // Behavioral model of 2-to-1 // multiplexor. module mux2 (in0,in1,select,out); input in0,in1,select; output out; // reg out; always @ (in0 or in1 or select) if (select) out=in1; else out=in0; endmodule // mux2 Notes: behavioral descriptions using keyword always followed by blocking procedural assignments Target output of procedural assignments must of of type reg (not a real register) Unlike wire types where the target output of an assignment may be continuously updated, a reg type retains it value until a new value is assigned (the assigning statement is executed). Optional initial statement module and_gate (out, in1, in2); input in1, in2; Output port of a primitive must output out; be first in the list of ports assign out = in1 & in2; endmodule When is this evaluated ? Restriction does not apply to modules in general Sensitivity list 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 19 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 20 Behavioral 4-to1 mux //Does not assume that we have // defined a 2-input mux. Mixed Structural/Behavioral Model Notes: Example 4-bit ripple adder module full_addr (S, Cout, A, B, Cin ); input A, B, Cin; output S, Cout; assign {Cout, S} = A + B + Cin; endmodule module adder4 (S, Cout, A, B, Cin); input [3:0] A, B; input Cin; output [3:0] S; output Cout; wire C1, C2, C3; full_addr full_addr full_addr full_addr endmodule fa0 fa1 fa2 fa3 (S[0], (S[1], (S[2], (S[3], No instantiation Case construct equivalent to nested if constructs. //4-input mux behavioral description module mux4 (in0, in1, in2, in3, select, out); Definition: A structural input in0,in1,in2,in3; description is one where the input [1:0] select; function of the module is defined output out; by the instantiation and reg out; interconnection of sub-modules. always @ (in0 in1 in2 in3 select) case (select) 2 b00: out=in0; 2 b01: out=in1; 2 b10: out=in2; 2 b11: out=in3; endcase endmodule // mux4 9/6/2007 Behavior A behavioral description uses higher level language constructs and operators. Verilog allows modules to mix both behavioral constructs and sub-module instantiation. Structural C1, A[0], B[0], Cin); C2, A[1], B[1], C1); C3, A[2], B[2], C2); Cout, A[3], B[3], C3); UC Berkeley EECS 150, Fa07, Lec 04-HDL 21 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL Order of ports? 22 Announcements Office hours will be posted on schedule.php Homework 1 due tomorrow (2 pm outside 125) Homework 2 out today Feedback on labs, Lab lectures Reading: - these notes - verilog code you see in lab Verilog Help The lecture notes only cover the basics of Verilog and mostly the conceptual issues. Lab Lectures have more detail focused on lab material Textbook has examples. Bhasker book is a good tutorial. http://www.doe.carleton.ca/~shams/97350/PetervrlK.pdf pretty good The complete language specification from the IEEE is available on the class website under Refs/Links http://toolbox.xilinx.com/docsan/xilinx4/data/docs/xst/verilog2.html 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 23 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 24 Verilog Data Types and Values Bits - value on a wire 0, 1 X - don t care/don t know Z - undriven, tri-state Verilog Numbers 14 - ordinary decimal number -14 - 2 s complement representation 12 b0000_0100_0110 - binary number with 12 bits (_ is ignored) 12 h046 - hexadecimal number with 12 bits Verilog values are unsigned e.g., C[4:0] = A[3:0] + B[3:0]; if A = 0110 (6) and B = 1010(-6) C = 10000 not 00000 i.e., B is zero-padded, not sign-extended Vectors of bits A[3:0] - vector of 4 bits: A[3], A[2], A[1], A[0] Treated as an unsigned integer value e.g. , A < 0 ?? Concatenating bits/vectors into a vector e.g., sign extend B[7:0] = {A[3], A[3], A[3], A[3], A[3:0]}; B[7:0] = {3{A[3]}, A[3:0]}; Style: Use a[7:0] = b[7:0] + c; Not: a = b + c; // need to look at declaration EECS 150, Fa07, Lec 04-HDL 25 9/6/2007 UC Berkeley 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 26 Verilog Operators Verilog Variables wire Variable used simply to connect components together reg Variable that saves a value as part of a behavioral description Usually corresponds to a wire in the circuit Is NOT necessarily a register in the circuit usage: Don t confuse reg assignments with the combinational continuous assign statement! (more soon) Reg should only be used with always blocks (sequential logic, to be presented ) 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 27 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 28 Verilog Module Corresponds to a circuit component Parameter list is the list of external connections, aka ports Ports are declared input , output or inout A B Cin inout ports used on tri-state buses Port declarations imply that the variables are wires module name ports Verilog Continuous Assignment Assignment is continuously evaluated assign corresponds to a connection or a simple component with the described function Target is NEVER a reg variable Dataflow style use of Boolean operators assign A = X | (Y & ~Z); assign B[3:0] = 4'b01XX; bits can take on four values (0, 1, X, Z) variables can be n-bits wide (MSB:LSB) (~ for bit-wise, for ! logical negation) module full_addr (A, B, Cin, S, Cout); input A, B, Cin; output S, Cout; assign {Cout, S} = A + B + Cin; endmodule Cout S inputs/outputs assign C[15:0] = 4'h00ff; assign #3 {Cout, S[3:0]} = A[3:0] + B[3:0] + Cin; use of arithmetic operator multiple assignment (concatenation) delay of performing computation, only used by simulator, not synthesis EECS 150, Fa07, Lec 04-HDL 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 29 9/6/2007 UC Berkeley 30 Comparator Example Comparator Example // Make a 4-bit comparator from 4 1-bit comparators module Compare4(A4, B4, Equal, Alarger, Blarger); input [3:0] A4, B4; output Equal, Alarger, Blarger; wire e0, e1, e2, e3, Al0, Al1, Al2, Al3, B10, Bl1, Bl2, Bl3; Compare1 Compare1 Compare1 Compare1 cp0(A4[0], cp1(A4[1], cp2(A4[2], cp3(A4[3], B4[0], B4[1], B4[2], B4[3], e0, e1, e2, e3, Al0, Al1, Al2, Al3, Bl0); Bl1); Bl2); Bl3); module Compare1 (A, B, Equal, Alarger, Blarger); input A, B; output Equal, Alarger, Blarger; assign Equal = (A & B) | (~A & ~B); assign Alarger = (A & ~B); assign Blarger = (~A & B); endmodule When evaluated? What is synthesized? assign Equal = (e0 & e1 & e2 assign Alarger = (Al3 | (Al2 (Al1 & e3 & (Al0 & e3 & assign Blarger = (~Alarger & endmodule 31 & e3); & e3) | e2) | e2 & e1)); ~Equal); What would be a better behavioral version? 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 32 Simple Behavioral Model - the always block always block Always waiting for a change to a trigger signal Then executes the body module and_gate (out, in1, in2); input in1, in2; output out; reg out; always @(in1 or in2) begin out = in1 & in2; end endmodule always Block A procedure that describes the function of a circuit Can contain many statements including if, for, while, case Statements in the always block are executed sequentially blocking assignment Continuous assignments <= are executed in parallel Non-blocking Not a real register!! A Verilog register Needed because of assignment in always block The entire block is executed at once But the meaning is established by sequential interpretation Simulation micro time vs macro time synthesis The final result describes the function of the circuit for current set of inputs intermediate assignments don t matter, only the final result Specifies when block is executed I.e., triggered by which signals 33 begin/end used to group statements 9/6/2007 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL UC Berkeley EECS 150, Fa07, Lec 04-HDL 34 What Verilog generates storage elements? Expressions produce combinational logic Map inputs to outputs State Example module shifter (in, A,B,C,clk); input in, clk; input A,B,C; reg A, B, C; always @ (posedge clk) begin C = B; B = A; A = in; end endmodule clk in A B C Storage elements carries same values forward in time Block interpreted sequentially, but action happens at once 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 35 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 36 State Example2 Non blocking module shifter (in, A,B,C,clk); input in, clk; input A,B,C; reg A, B, C; always @ (posedge clk) begin B <= A; A <= in; C <= B; end endmodule clk in A B C State Example2 interactive quiz module shifter (in, A,B,C,clk); input in, clk; input A,B,C; reg A, B, C; always @ (posedge clk) begin A = in; B = A; C = B; end endmodule clk in A B C Variable becomes a storage element if its value is preserved (carried forward in time) despite changes in variables the produce it. Not whether it is declared as a wire or a reg! Non-blocking: all statements interpreted in parallel Everything on the RHS evaluated, Then all assignments performed 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 37 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 38 Complete Assignments If an always block executes, and a variable is not assigned Variable keeps its old value (think implicit state!) NOT combinational logic latch is inserted (implied memory) This is usually not what you want: dangerous for the novice! Incomplete Triggers Leaving out an input trigger usually results in a sequential circuit Example: The output of this and gate depends on the input history module and_gate (out, in1, in2); input in1, in2; output out; reg out; always @(in1) begin out = in1 & in2; end endmodule What Hardware would this generate? Any variable assigned in an always block should be assigned for any (and every!) execution of the block. 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 39 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 40 Behavioral with Bit Vectors //Behavioral model of 32-bitwide 2-to-1 multiplexor. module mux32 (in0,in1,select,out); input [31:0] in0,in1; input select; Notes: output [31:0] out; inputs, outputs 32-bits wide // reg [31:0] out; always @ (in0 or in1 or select) if (select) out=in1; else out=in0; endmodule // Mux //Behavioral model of 32-bit adder. module add32 (S,A,B); input [31:0] A,B; output [31:0] S; reg [31:0] S; always @ (A or B) S = A + B; endmodule // Add 9/6/2007 Hierarchy & Bit Vectors //Assuming we have already // defined a 2-input mux (either // structurally or behaviorally, Notes: instantiation similar to primitives select is 2-bits wide named port assignment //4-input mux built from 3 2-input muxes module mux4 (in0, in1, in2, in3, select, out); input in0,in1,in2,in3; input [1:0] select; output out; wire w0,w1; mux2 m0 (.select(select[0]), .in0(in0), .in1(in1), .out(w0)), m1 (.select(select[0]), .in0(in2), .in1(in3), .out(w1)), m3 (.select(select[1]), .in0(w0), .in1(w1), .out(out)); endmodule // mux4 Which select? UC Berkeley EECS 150, Fa07, Lec 04-HDL 41 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 42 Verilog if Same syntax as C if statement Sequential meaning, action at once // Simple 4-1 mux module mux4 (sel, A, B, C, D, Y); input [1:0] sel; // 2-bit control signal input A, B, C, D; output Y; reg Y; // target of assignment always @(sel or A or B or C or D) if (sel == 2 b00) Y = A; else if (sel == 2 b01) Y = B; else if (sel == 2 b10) Y = C; else if (sel == 2 b11) Y = D; endmodule 9/6/2007 Verilog if // Simple 4-1 mux module mux4 (sel, A, B, C, D, Y); input [1:0] sel; // 2-bit control signal input A, B, C, D; output Y; reg Y; // target of assignment always @(sel or A or if (sel[0] == 0) if (sel[1] == 0) else else if (sel[1] == 0) else endmodule B or C or D) Y = A; Y = B; Y = C; Y = D; UC Berkeley EECS 150, Fa07, Lec 04-HDL 43 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 44 Verilog case Sequential execution of cases Only first case that matches is executed (no break) Default case can be used // Simple 4-1 mux module mux4 (sel, A, B, C, D, Y); input [1:0] sel; // 2-bit control signal input A, B, C, D; output Y; reg Y; // target of assignment always @(sel case (sel) 2 b00: Y 2 b01: Y 2 b10: Y 2 b11: Y endcase endmodule 9/6/2007 Verilog case Without the default case, this example would create a latch for Y! your generating hardware, not programming Assigning X to a variable means synthesis is free to assign any value // Simple binary encoder module encode (A, Y); input [7:0] A; output [2:0] Y; reg [2:0] Y; (input is 1-hot) // 8-bit input vector // 3-bit encoded output // target of assignment or A or B or C or D) = = = = A; B; C; D; Conditions tested in top to bottom order UC Berkeley EECS 150, Fa07, Lec 04-HDL 45 always @(A) case (A) 8 b00000001: Y 8 b00000010: Y 8 b00000100: Y 8 b00001000: Y 8 b00010000: Y 8 b00100000: Y 8 b01000000: Y 8 b10000000: Y default: Y endcase endmodule 9/6/2007 UC Berkeley = = = = = = = = = 0; 1; 2; 3; 4; 5; 6; 7; 3 bX; // Don t care when input is not 1-hot 46 EECS 150, Fa07, Lec 04-HDL Verilog case (cont) Cases are executed sequentially The following implements a priority encoder // Priority encoder module encode (A, Y); input [7:0] A; output [2:0] Y; reg [2:0] Y; always @(A) case (1 b1) A[0]: Y A[1]: Y A[2]: Y A[3]: Y A[4]: Y A[5]: Y A[6]: Y A[7]: Y default: Y endcase endmodule 9/6/2007 Parallel Case A priority encoder is more expensive than a simple encoder If we know the input is 1-hot, we can tell the synthesis tools parallel-case pragma says the order of cases does not matter // simple encoder module encode (A, Y); input [7:0] A; output [2:0] Y; reg [2:0] Y; always @(A) case (1 b1) A[0]: Y A[1]: Y A[2]: Y A[3]: Y A[4]: Y A[5]: Y A[6]: Y A[7]: Y default: Y endcase endmodule 47 9/6/2007 // 8-bit input vector // 3-bit encoded output // target of assignment // 8-bit input vector // 3-bit encoded output // target of assignment = = = = = = = = = 0; 1; 2; 3; 4; 5; 6; 7; 3 bX; // Don t care when input is all 0 s = = = = = = = = = // synthesis parallel-case 0; 1; 2; 3; 4; 5; 6; 7; 3 bX; // Don t care when input is all 0 s UC Berkeley EECS 150, Fa07, Lec 04-HDL UC Berkeley EECS 150, Fa07, Lec 04-HDL 48 Verilog casex Like case, but cases can include X X bits not used when evaluating the cases In other words, you don t care about those bits! casex Example // Priority encoder module encode (A, valid, Y); input [7:0] A; // 8-bit input vector output [2:0] Y; // 3-bit encoded output output valid; // Asserted when an input is not all 0 s reg [2:0] Y; // target of assignment reg valid; always @(A) begin valid = 1; casex (A) 8 bXXXXXXX1: Y = 8 bXXXXXX10: Y = 8 bXXXXX100: Y = 8 bXXXX1000: Y = 8 bXXX10000: Y = 8 bXX100000: Y = 8 bX1000000: Y = 8 b10000000: Y = default: begin valid = 0; Y = 3 bX; // end endcase end endmodule 0; 1; 2; 3; 4; 5; 6; 7; Don t care when input is all 0 s 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 49 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 50 Verilog for for is similar to C for statement is executed at compile time (like macro expansion) Result is all that matters, not how result is calculated Use in testbenches only! // simple encoder module encode (A, Y); input [7:0] A; output [2:0] Y; reg [2:0] Y; integer i; reg [7:0] test; Another Behavioral Example Computing Conway s Game of Life rule Cell with no neighbors or 4 neighbors dies; with 2-3 neighbors lives module life (neighbors, self, out); input self; input [7:0] neighbors; integers are temporary compiler variables output out; reg out; integer count; always block is executed instantaneously, integer i; if there are no delays only the final result is used always @(neighbors or self) begin count = 0; for (i = 0; i<8; i = i+1) count = count + neighbors[i]; out = 0; out = out | (count == 3); out = out | ((self == 1) & (count == 2)); end endmodule UC Berkeley EECS 150, Fa07, Lec 04-HDL 52 // 8-bit input vector // 3-bit encoded output // target of assignment // Temporary variables for program only always @(A) begin test = 8b 00000001; Y = 3 bX; for (i = 0; i < 8; i = i + 1) begin if (A == test) Y = N; test = test << 1; end end endmodule EECS 150, Fa07, Lec 04-HDL 9/6/2007 UC Berkeley 51 9/6/2007 Verilog while/repeat/forever while (expression) statement Execute statement while expression is true full-case and parallel-case // synthesis parallel_case Tells compiler that ordering of cases is not important That is, cases do not overlap e. g., state machine - can t be in multiple states Gives cheaper implementation repeat (expression) statement Execute statement a fixed number of times forever statement Execute statement forever // synthesis full_case Tells compiler that cases left out can be treated as don t cares Avoids incomplete specification and resulting latches 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 53 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 54 Sequential Logic //Parallel to Serial converter module ParToSer(LD, X, out, CLK); input [3:0] X; input LD, CLK; output out; reg out; reg [3:0] Q; Notes: assign out = Q[0]; always @ (posedge CLK) forces Q always @ (posedge CLK) register to be rewritten every simulation if (LD) Q=X; cycle. >> operator does right shift (shifts in a else Q = Q>>1; zero on the left). endmodule // mux2 module FF (CLK,Q,D); input D, CLK; output Q; reg Q; always @ (posedge CLK) Q=D; EECS 150, Fa07, Lec 04-HDL 9/6/2007 endmodule // FF UC Berkeley Shifts on non-reg variables can be done with concatenation: wire [3:0] A, B; assign B = {1 b0, A[3:1]} Testbench Top-level modules written specifically to test sub-modules. Generally no ports. module testmux; reg a, b, s; wire f; reg expected; Notes: initial block similar to always except only executes once (at beginning of simulation) #n s needed to advance time $monitor - prints output mux2 myMux (.select(s), .in0(a), .in1(b), .out(f)); A variety of other system functions , similar to monitor exist for displaying output and controlling the simulation. s=0; a=0; b=1; expected=0; #10 a=1; b=0; expected=1; #10 s=1; a=0; b=1; expected=1; end initial $monitor( "select=%b in0=%b in1=%b out=%b, expected out=%b time=%d", s, a, b, f, expected, $time); 56 EECS 150, Fa07, Lec 04-HDL 9/6/2007 UC testmux endmodule // Berkeley initial begin 55 Final thoughts Verilog looks like C, but it describes hardware Multiple physical elements, Parallel activities Temporal relationships Basis for simulation and synthesis figure out the circuit you want, then figure out how to express it in Verilog Understand the elements of the language Modules, ports, wires, reg, primitive, continuous assignment, blocking statements, sensitivity lists, hierarchy Best done through experience Behavioral constructs hide a lot of the circuit details but you as the designer must still manage the structure, data-communication, parallelism, and timing of your design. 9/6/2007 UC Berkeley EECS 150, Fa07, Lec 04-HDL 57
Find millions of documents here - Study Guides, Homework Solutions, Papers, Exam Answer Keys and more.
Course Hero has millions of course related materials that will enable you to learn better,
faster and get an A in all your courses.
Below is a small sample set of documents:
Below is a small sample set of documents:
Berkeley >> CS >> 164 (Fall, 2008)
Overview Why polymorphism ? Adding polymorphism to Cool Polymorphism Type checking Code generation Polymorphism in Java and C+ Lecture 25 Prof. Necula CS 164 Lecture 25 1 Prof. Necula CS 164 Lecture 25 2 Example: Lists A list of teams, ea...
Berkeley >> CS >> 164 (Fall, 2008)
Administration Midterm I Semantic Analysis Typechecking in COOL Lectures 10-13 Thursday, February 23, in class Be here on time (we start at 12:40) Including parsing, no semantic analysis 1 cheat sheet, front and back, handwritten, by you! Prof....
Berkeley >> CS >> 164 (Fall, 2008)
Administrivia Test run this evening around midnight Test is next Wednesday at 6 in 306 Soda Please let me know soon if you need an alternative time for the test. Please use bug-submit to submit problems/questions Review session Sunday in 310 Sod...
Berkeley >> CS >> 164 (Fall, 2008)
Administrivia Test is next Monday during class Please let me know soon if you need an alternative time for the test. Please use bug-submit to submit problems/questions Review session Saturday 306 Soda 3-5PM Type Checking Lecture 17 (P. N. Hilfin...
SUNY Albany >> BIO >> 432 (Fall, 2009)
Optimization Theory in Evolution Author(s): J. Maynard Smith Source: Annual Review of Ecology and Systematics, Vol. 9 (1978), pp. 31-56 Published by: Annual Reviews Stable URL: http:/www.jstor.org/stable/2096742 Accessed: 22/01/2009 18:25 Your use of...
Berkeley >> CS >> 164 (Fall, 2008)
Polymorphism Lecture 25 Prof. Necula CS 164 Lecture 25 1 Overview Why polymorphism ? Adding polymorphism to Cool Type checking Code generation Polymorphism in Java and C+ Prof. Necula CS 164 Lecture 25 2 1 Example: Lists A list of teams...
Laurentian >> MATH >> 1056 (Fall, 2009)
Nested Quantiers Discrete Mathematics I MATH/COSC 1056E Julien Dompierre Department of Mathematics and Computer Science Laurentian University Sudbury, August 30, 2008 Nested Quantiers 1 Nested Quantiers Two quantiers are nested if one is within...
Maple Springs >> ECON >> 2350 (Fall, 2009)
Chapter 12 Choice Under Uncertainty Expected Income (EI) and Expected Utility (EU) EI=p*Ig+(1-p)*Ib, where Ig=income in good state, Ib=income in bad state, p=probability that the good state occurs. Fair Game if E(x)=0 St. Peterburg Paradox: the ...
Berkeley >> CS >> 150 (Fall, 1996)
Logic Synthesis Verilog and VHDL started out as simulation languages, but quickly people wrote programs to automatically convert Verilog code into low-level circuit descriptions (netlists). EECS150 - Digital Design Lecture 6 - Synthesis February 3,...
Maple Springs >> ECON >> 2350 (Fall, 2009)
York University Midterm Exam Course Director: S.H. Chiang Course Number: ECON 2350.03A Date: March 2, 2006 Time: 11:30am-12:50pm 1. Assume that the production function Q = 2L0.5 k0.5 , where L and K are labour and capital respectively. Further assume...
Maple Springs >> ECON >> 2350 (Fall, 2009)
York University Final Examination Course Director: S.H. Chiang Course Number: ECON 2350.03A 1. The market demand for Q is given by P = 10-Q. There are two firms producing a homogeneous output, i.e., Q = Q1 + Q2 . The cost function is given by C = Q2 ...
Maple Springs >> ECON >> 3240 (Fall, 2009)
Solutions to assigned questions (Chs2-5). Ch2: Questions 4 and 5 4. We are given the formula for the marginal rate of substitution of leisure for income (or consumption, since there is a one-for-one trade-off between the two of them). The MRS is the ...
Maple Springs >> ECON >> 3240 (Fall, 2009)
...
Purdue >> PHYS >> 152 (Fall, 2008)
Page 1 of 12 Physics 152 EXAM 3 FORM A Fall 1998 will receive an automatic F in this course and will be subject to dismissal from the university. Section Number 0101 0201 0301 0401 0501 0601 0701 0801 0901 1001 RECITATION Instructor Time Miller ...
East Los Angeles College >> CHEM >> 3023 (Fall, 2009)
CHEM3023: Spins, Atoms and Molecules Lectures 3 and 4 C.-K. Skylaris After these lectures you should be able to: Show if a wavefunction is antisymmetric or not Reduce expressions involving spin orbitals to expression that involve only spatial orb...
Berkeley >> EECS >> 1440 (Fall, 2009)
Coded Boolean Circuits Michael Orshansky University of Texas at Austin GSRC Annual Symposium - September 2008 Project Status Developed coding strategy for protecting structured (LUTstyle) implementations of logic Have shown how to use Boolean stru...
Berkeley >> EECS >> 1051 (Fall, 2009)
yib gb x i g d r ui yib a a bxs d a r d di a xb d y rb q t elvepppwBRR@7eBebRewreDv i db rxi rb b s d g d ixi d s d bix d rb rii b u ixi uxbi rii lwbeQ8cpr}wr!}Rpr0prRreRQwRpBee!pex rRwrvvwiippcw ciTeipw}Rpv0c d s d y r x b ...
Berkeley >> EECS >> 763 (Fall, 2009)
...
Berkeley >> EECS >> 551 (Fall, 2009)
High-Level Power Analysis for On-Chip Networks Noel Eisley and Li-Shiuan Peh Department of Electrical Engineering Princeton University, Princeton, NJ 08544. eisley, peh @princeton.edu ABSTRACT As on-chip networks become prevalent in multiprocesso...
Berkeley >> EECS >> 172 (Spring, 2001)
...
Berkeley >> EECS >> 158 (Fall, 2008)
Self-Testing Second-Order Delta-Sigma Modulators Using Digital Stimulus Chee-Kian Ong and Kwang-Ting (Tim) Cheng Department of Electrical and Computer Engineering University of California, Santa Barbara, CA 93106, US Email: ckong@windcave.ece.ucsb.ed...
Berkeley >> EECS >> 1501 (Fall, 2009)
UNIVERSITY OF CALIFORNIA Santa Barbara Efficient Test Methodologies for High-Speed Serial Links A Dissertation submitted in partial satisfaction of the requirements for the degree Doctor of Philosophy in Electrical and Computer Engineering by Don...
East Los Angeles College >> CHEM >> 3023 (Fall, 2009)
CHEM3023: Spins, Atoms and Molecules Lecture 5 The Hartree-Fock method C.-K. Skylaris Learning outcomes Be able to use the variational principle in quantum calculations Be able to construct Fock operators for molecules Be able to explain the stage...
Berkeley >> EECS >> 1222 (Fall, 2009)
A Helper Thread Based EDP Reduction Scheme for Adapting Application Execution in CMPs Yang Ding, Mahmut Kandemir, Padma Raghavan, Mary Jane Irwin Department of Computer Science & Engineering Pennsylvania State University, University Park, PA 16802, U...
Berkeley >> EECS >> 1503 (Fall, 2009)
Design and Management of Voltage-Frequency Island Partitioned Networks-on-Chip Umit Y. Ogras, Radu Marculescu, Diana Marculescu, Eun Gu Jung Abstract The design of many core Systems-on-Chip (SoCs) has become increasingly challenging due to high leve...
East Los Angeles College >> CHEM >> 3023 (Fall, 2009)
CHEM3023: Spins, Atoms and Molecules Lecture 9 Electronic correlation / Potential energy surfaces C.-K. Skylaris Learning outcomes Be able to describe the limitations of mean-field approaches such as Hartree-Fock theory Be able to predict the stru...
East Los Angeles College >> CHEM >> 3023 (Fall, 2009)
CHEM3023: Spins, Atoms and Molecules Lecture 2 Bra-ket notation and molecular Hamiltonians C.-K. Skylaris Learning outcomes Be able to manipulate quantum chemistry expressions using bra-ket notation Be able to construct Hamiltonian operators for m...
East Los Angeles College >> CHEM >> 3023 (Fall, 2009)
CHEM3023: Spins, Atoms and Molecules Lecture 10 Normal modes and molecular structure optimisation C.-K. Skylaris Learning outcomes Be able to describe molecular vibrations and chemical reactions using the potential energy surface Be able to perform...
East Los Angeles College >> CHEM >> 3023 (Fall, 2009)
CHEM3023: Spins, Atoms and Molecules Lecture 7 Hartee-Fock calculations in practice C.-K. Skylaris Learning outcomes Be able to set up and run Hartree-Fock calculations Be able to construct formulas for the calculation of experimental observables ...
Maple Springs >> ITEC >> 2620 (Fall, 2009)
York University AS/AK/ITEC 2620 3.0 Section M INTRODUCTION TO DATA STRUCTURES Winter 2003 Midterm Test Examiner: Prof. S. Chen Duration: One Hour and 15 Minutes This exam is closed textbook(s) and closed notes. Use of any electronic device (e.g. for...
Universität St. Gallen (HSG) >> GSC >> 150 (Fall, 2009)
APA Convention, San Francisco, August 2007 Sexuality and Attachment in Dating Relationships 1 Sexuality and Attachment in Dating Relationships Audrey Brassard1, Yvan Lussier2, Carmen Lemelin2, & Phillip R. Shaver3 1 Universit de Sherbrooke, Canad...
Universität St. Gallen (HSG) >> GSC >> 150 (Fall, 2009)
ROMANTIC ATTACHMENT, COGNITIVE DISTRACTIONS, AND SEXUALITY AMONG COUPLES Sylvie Tousignant1, Audrey Brassard2, Yvan Lussier1 1 Universit du Qubec Trois-Rivires, Qubec, Canada, 2 Universit de Sherbrooke, Qubec, Canada; Abstract Romantic attachment t...
Universität St. Gallen (HSG) >> GSC >> 170 (Fall, 2009)
BULLETIN * The Canadian Research Agenda Bridging the Gap between Research and Practice in the Parks and Recreation Field VOLUME 4 NUMBER 15 JUNE 2007 DISPONIBLE EN VERSION FRANAISE By Holly Donohoe, Manager of National Initiatives Canadian Park...
Maryland >> CMSC >> 433 (Spring, 2001)
Understanding Java 2 Platform Security Permissions A Practical Approach Larry Koved Marco Pistoia Aaron Kershenbaum Java Security Team IBM T.J. Watson Research Center 651, Understanding Java Security Permissions A Practical Approach Overall Present...
East Los Angeles College >> CHEM >> 3023 (Fall, 2009)
CHEM3023: Spins, Atoms and Molecules Lecture 6 Gaussian basis sets C.-K. Skylaris Learning outcomes Be able to convert expressions involving molecular orbitals to expressions involving basis functions and expansion coefficients and vice versa Be a...
East Los Angeles College >> CHEM >> 3023 (Fall, 2009)
1 CHEM3023 Spins, Atoms and Molecules Computational quantum chemistry practical Chris-Kriton Skylaris School of Chemistry, University of Southampton, UK Copyright (c) 2007-2009 Table of Contents 1 2 3 Introduction .. 2 The Potential Energy Surface...
Universität St. Gallen (HSG) >> GSC >> 418 (Fall, 2009)
30 mins/40 mins Internal Rotation in Dimethylperoxide CH3 O O CH3 Quantum chemical calculations, in particular, Hartree-Fock molecular orbital calculations, density functional calculations and MP2 calculations, may be called on to furnish data to ...
East Los Angeles College >> CHEM >> 3023 (Fall, 2009)
CHEM3023: Spins, Atoms and Molecules CHEM3006P or similar background knowledge is required for this course. This course has two parts: Part 1: Quantum Chemistry techniques for simulations of molecular properties (Dr Chris-Kriton Skylaris) Part 2: Qua...
Universität St. Gallen (HSG) >> GSC >> 418 (Fall, 2009)
29 What Do Transition States Look Like? There is an enormous body of experimental knowledge about molecular geometry. The structures of upwards of 400,000 crystalline solids have been determined, primarily through X-ray crystallography. The diversity...
Universität St. Gallen (HSG) >> GSC >> 409 (Fall, 2009)
Schizophrenia Research 91 (2007) 97 102 www.elsevier.com/locate/schres Violent persons with schizophrenia and comorbid disorders: A functional magnetic resonance imaging study C.C. Joyal a,b,c, A. Putkonen a , A. Mancini-Mare c , S. Hodgins d , M. ...
Universität St. Gallen (HSG) >> PLS >> 861 (Fall, 2009)
The Renaissance of Place in Entrepreneurship (Research) or Entrepreneurship and Networking in a Regional Perspective Bengt Johannisson Vxj University, Sweden Inquiring into Organisational Phenomena (Morgan 1980) Paradigm positioning as regards ont...
Universität St. Gallen (HSG) >> PLS >> 861 (Fall, 2009)
ENTREPENEURSHIP AND SME RESEARCH IN EUROPE: evolution, trends and problems Jos M Veciana Professor Emeritus Universitat Autnoma de Barcelona Evolution de la Thorie en PME et en Entrepreneuriat, 10-11 Mai, 2007 Institut de Recherche sur les PME Uni...
Universität St. Gallen (HSG) >> PLS >> 861 (Fall, 2009)
Process theories in 20 years of entrepreneurship studies: A slow motion? Chris Steyaert, University of Sankt Gallen Entrepreneuring: Whats in a word? Is the concept of entrepreneuring a loosely used term or a concept with potential to address the pr...
Universität St. Gallen (HSG) >> PLS >> 861 (Fall, 2009)
Process theories in 20 years of entrepreneurship studies: A slow motion? Chris Steyaert, Research Institute for Organizational Psychology University of St Gallen, Switzerland A process theory of entrepreneurship or what we henceforth prefer to call ...
Universität St. Gallen (HSG) >> PLS >> 861 (Fall, 2009)
Research influence on policy development and decisions Presented at: 30 Years of Theory on Entrepreneurship and SMEs Seminar Universit de Qubec a Trois Rivires May 10-11, 2007 Lois Stevenson The presentation The evolution of SME/entrepreneurship res...
Universität St. Gallen (HSG) >> PLS >> 861 (Fall, 2009)
THE RENAISSANCE OF PLACE IN ENTREPRENEURSHIP RESEARCH OR ENTRPERENURSHIP AND NETWORKING IN A TERRITORIAL PERSPECTIVE Bengt Johannisson, Vxj University, Sweden bengt.johannisson@vxu.se 1. Organizations Vanish, Places Remain Any discourse on networki...
Universität St. Gallen (HSG) >> PLS >> 861 (Fall, 2009)
ENTREPRENEURSHIP AND SME RESEARCH IN EUROPE: evolution, trends and problems JOS M VECIANA Professor Emeritus UNIVERSIDAD AUTNOMA DE BARCELONA Evolution de la thorie en PME et en Entrepreneuriat, 10-11 Mai, 2007 Institut de recherche sur les PME Univ...
Minnesota >> ECKH >> 0015 (Fall, 2009)
EdHD 5001: Performance Assessment (Working draft) Brent Eckhoff Anne Scott Katrina Thomson 1. Title: Once Upon a Time. Modern Fairy Tale Writing 2. One Sentence Summary: Using elements of creative writing, students will create a new fairy tale or mod...
SUNY Albany >> JM >> 887713 (Fall, 2009)
HOW TO DEFEND SCIENTIFIC ANTI-REALISM 1. Motivating the Discussion I think that many philosophers have, at one time or another, felt some sneaky mistake lurking within the question of realism about science: should we believe that our current best sci...
BYU >> MATH >> 635 (Winter, 2000)
Lecture 2 Circle Homeomorphisms December 12, 2007 Take S 1 = [0, 1]/ where the relation identies 0 and 1 (or S 1 = R/Z). Let be the Lebesgue measure on S 1 . Let R (x) = (x + ) mod 1, so R is rotation by an angle 2. The collection of such maps is a...
Maple Springs >> ITEC >> 1620 (Fall, 2009)
What was the first use of computers? Lecture 10b Arrays Computers process data Lecture 10b - Arrays 2 A table is a large collection of data logically/sequentially ordered Want easy access to each data element Note: each data element has same dat...
Maple Springs >> ITEC >> 2620 (Fall, 2009)
York University AK/ITEC 2620 3.0 Section N INTRODUCTION TO DATA STRUCTURES Winter 2007 Assignment Prof. S. Chen Surname: _ Given Names: _ Student Number: __ Question 1 (15 marks) Short Answer (maximum 20 words): Answer all five parts below. P...
Maple Springs >> ITEC >> 1620 (Fall, 2009)
York University AS/AK/ITEC 1620 3.0 Section A OBJECT-BASED PROGRAMMING Summer 2002 Final Exam Sample Examiner: S.Y. Chen Duration: Two Hours This exam is closed textbook(s) and closed notes. Use of any electronic device (e.g. for computing and/or co...
Maple Springs >> ITEC >> 1620 (Fall, 2009)
Lecture 8a Building Classes III Simple programs (e.g. finding largest of two ints) can be written in one block Practical programs (e.g. operating systems) are too large and complex OOA defines objects and functionalities Each functionality is a meth...
Maple Springs >> COSC >> 1020 (Fall, 2009)
COSC 1020 Yves Lesperance Arrays In many applications, we need to work with large collections of similar pieces of data, e.g. the marks of a class in a test, the Student objects that contain the names and student number of students in a class, etc....
Maple Springs >> COSC >> 1020 (Fall, 2009)
COSC 1020 Inheritance Yves Lesperance Often, we need to dene a class that is similar to an existing class; it just adds a few new attributes or methods, or implements existing methods differently. Instead of having to dene the new class from scratch...
Universität St. Gallen (HSG) >> GSC >> 418 (Fall, 2009)
15 Is Azulene Aromatic? Aromatic molecules are (thermodynamically) more stable than might have been anticipated. The famous case is benzene. Here, the first step in its complete hydrogenation (to cyclohexane) is endothermic, while both of the remaini...
SUNY Albany >> CSI >> 333 (Fall, 2009)
P}2t`Pz|#vxv2zs{2zPPzgz{#Pm{#s#f~#@vx}|Cm|zgCP2z z z v } Cp!eCa } } z | {~ { {~ z z v | } z } x z |~ z | | { z } z } # 2mm#CmmXPt2#Cy2Pa22s`~ C0 | { z x { v~ | v z | | { z x z } | z | {~ z v | } z ...
Minnesota >> AREND >> 011 (Fall, 2009)
Strategic Planning and Management David Arendale, University of Minnesota-Twin Cities General College, 262 Appleby Hall, 128 Pleasant Street SE, Minneapolis, MN 55455 E-mail: David@Arendale.org; Office: 612-625-2928 Properly set up and used, strategi...
SUNY Albany >> CSI >> 201 (Fall, 2009)
CSI201 Exam 2 Name: _ Section Number: _ TA: _ Question 1: Question 2: Question 3: Question 4: Question 5: Question 6: Question 7: Question 8: _ (5) _ (12) _ (5) _ (6) _ (12) __ (20) _ (20) _ (20) Total: _ (100) 1. What will the following program...
Bryn Mawr >> ASCH >> 908 (Fall, 2009)
Conflict and Visual Culture Initiative image submission agreement Welcome to the Asch Center. The Asch Conflict and Visual Culture Initiative gives social scientists and practitioners an opportunity to become acquainted with new ways of thinking abou...
Maple Springs >> KAHS >> 5010 (Fall, 2009)
KAHS 5010 T-tests & ANOVA 1. Is there a relationship between length of hospital stay and surgery intervention? Explain. There is no relationship between length of hospital stay and surgery intervention. Accept the Null hypothesis at a non-significant...
Maple Springs >> KAHS >> 6460 (Fall, 2009)
Study Designs Two by Two table COHORT CASE CONTROL Exposure Yes No Total Outcome Cases Controls Total a c a+c b d b+d a+b c+d N Outcome Cases Controls Total a c a+c b d b+d a+b c+d N Experimental studies Observational studies Exposure Yes No Ana...
Maple Springs >> KINE >> 3635 (Fall, 2009)
Main objective of Epidemiology Inference to a population Example: Treatment of hypertension: Research question (hypothesis): Is treatment A better than treatment B for patients with hypertension? Study design: Clinical study: select a sample; 143 fem...
Maple Springs >> KAHS >> 6460 (Fall, 2009)
Study Designs Experimental studies Observational studies Analytic studies Descriptive studies Randomized Controlled trials Case control Cohort Cross sectional Cohort Study: Direction of inquiry Outcome Sample of people exposed POPULATION P...
Maple Springs >> KINE >> 3635 (Fall, 2009)
Background Tai Chi workplace program for improving musculoskeletal fitness among female computer users Tamim H, Castel ES, Jamnik V, Keir P, Grace SL, Gledhill N, Macpherson AK Work- 2008 Musculoskeletal disorders (MSDs) are a leading cause of work d...
Maple Springs >> KINE >> 3635 (Fall, 2009)
Study Designs Experimental studies Observational studies Analytic studies Descriptive studies Randomized Controlled trials Case control Cohort Case report/ case series Correlational Cross sectional Two Broad Types of Epidemiology DESCRIPTIVE...
SUNY Albany >> CSI >> 310 (Fall, 2009)
Template Functions 1 Chapter 6 introduces templates, which are a C+ feature that easily permits the reuse of existing code for new purposes. This presentation shows how to implement and use the simplest kinds of templates: template functions. C...
Maple Springs >> KAHS >> 6460 (Fall, 2009)
OUTLINE MORBIDITY AND MORTALITY DATA Descriptive epidemiology Definition of some basic terms Variable: A characteristic of the objects under observation that takes on different values for different cases, example: age, gender, diastolic blood pressu...
Maple Springs >> KAHS >> 6460 (Fall, 2009)
Study Designs Cohort Study: Two by two table Outcome Exposure Yes a c No b d Experimental studies Observational studies Yes No Analytic studies Descriptive studies Risk of outcome in exposed (RE) = a / a + b Risk of outcome in non-exposed (R) ...
What are you waiting for?