ΗΥ 232 Οργάνωση και στον Σχεδίαση Η/Y. Διάλεξη 8. Concepts of Digital Design Introduction to Verilog
|
|
- Αλκιππη Γερμανού
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΗΥ 232 Οργάνωση και στον Σχεδίαση Η/Y Διάλεξη 8 Concepts of Digital Design Introduction to Verilog Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων και Μηχανικών Η/Y Οργάνωση και Σχεδίαση Η/Υ (ΗΥ232) 1
2 The Verilog Language A hardware description language (HDL) used for modeling, simulation and synthesis of digital electronic systems One of the two most commonly-used languages in digital hardware design (VHDL is the other) Virtually every chip (FPGA, ASIC, etc.) is designed in part using one of these two languages Combines structural and behavioral modeling styles IEEE standard Verilog-2001 extends the initial Verilog-95 specification 2
3 Simulation Simulation is used to verify the functional characteristics of models at any level of abstraction One of the main uses of Verilog/VHDL is simulation To test if the RTL code meets the functional requirements of the specification, we must see if all the RTL blocks are functionally correct. To achieve this we need to write a testbench, which generates clk, reset and the required test vectors Simulation is needed after every refinement step Behavioral, zero-delay gate level, timing, post P&R simulation 3
4 How Are Simulators Used? Testbench generates stimulus and checks response Coupled to model of the system Pair is run concurrently Stimulus Testbench System Under Test Result checker Response 4
5 Learn by Example: Combinational Logic Adder: a circuit that does addition Here s an example of binary addition: Adding two N-bit numbers produces an (N+1)-bit result Ripplecarry adder 5
6 1-bit Adder Build Truth Table and use Sum of Products (SOP) Α Β Cin S Cout Sum: S A B C Carry Out: CO A'BC AB'C ABC' ABC (A' A)BC (B' B)AC AB(C' C) BC AC AB 6
7 1-bit Adder module: Basic unit of description One line comment // This is a behavioral module of 1-bit adder module fulladd (Cin, x, y, s, Cout); input Cin, x, y; output s, Cout; assign s = x ^ y ^ Cin; assign Cout = (x & y) (x & Cin) (y & Cin); I/O ports with which the module communicates externally with other modules endmodule Continuous assignment: the RHS is evaluated again every time the value of an operand changes. The LHS is assigned that value. This is an example of Behavioral Description 7
8 4-bit Adder Structural Description /* This is a structural module of 1-bit adder */ module adder4 (carryin, X, Y, S, carryout); input carryin; input [3:0] X, Y; output [3:0] S; output carryout; wire [3:1] C; Multiple lines comment Instantiation of the module fulladd Arguments correspond to formal parameters of modules fulladd stage0 (carryin, X[0], Y[0], S[0], C[1]); fulladd stage1 (C[1], X[1], Y[1], S[1], C[2]); fulladd stage2 (C[2], X[2], Y[2], S[2], C[3]); fulladd stage3 (C[3], X[3], Y[3], S[3], carryout); endmodule 8
9 Alternative N-bit Adder module addern #(parameter n=32) (carryin, X, Y, S, carryout); input carryin; input [n-1:0] X, Y; output [n-1:0] S; output carryout; reg is a data type that indicates a reg [n-1:0] S; driver that can store a value. reg carryout; If a signal is not reg, it is a wire reg [n:0] C; integer k; An always statement is only triggered at (@) the condition in the parenthesis (sensitivity list). We execute the always statement only when X or Y or carryin change Y, carryin) begin C[0] = carryin; for (k = 0; k < n; k = k+1) begin S[k] = X[k] ^ Y[k] ^ C[k]; C[k+1] = (X[k] & Y[k]) (X[k] & C[k]) (Y[k] & C[k]); end carryout = C[n]; end endmodule n=32 sets default value for parameter n Behavioral Description 9
10 module addern #(paramtere n=32) (carryin, X, Y, S, carryout, overflow); input carryin; input [n-1:0] X, Y; output [n-1:0] S; output carryout, overflow; reg [n-1:0] S; S, X, Y are arrays reg carryout, overflow; or Y or carryin) begin S = X + Y + carryin; carryout = (X[n-1] & Y[n-1]) (X[n-1] & ~S[n-1]) (Y[n-1] & ~S[n-1]); overflow = carryout ^ X[n-1] ^ Y[n-1] ^ S[n-1]; end endmodule Another one Behavioral Description 10
11 Language Elements and Expressions
12 Numbers in Verilog Integer numbers Simple decimal notation 32, -15 Base format notation : [size in bits] base value Base is one of d or D (decimal), o or O (octal), b or B (binary), h or H (hex). Use s for signed. 5 O37 // 5 bit octal number 37 4 D2 // 4 bit decimal number 2 4 B1x_01 // 4 bit binary number 1x01. 7 Hx // 7 bit hex xxxxxxx 8 shff // Signed hex equal to -1 4 d-4 // Not legal. The sign is before the size. -4 d4 // 4-bit binary number -4. The sign is before the size (2+3)d 10 // Not legal. Size cannot be an expression The underscore character (_) is legal anywhere in a number except as the first character, where it is ignored When used in a number, the question mark (?) character is the Verilog alternative for the z character. 12
13 Numbers in Verilog Real numbers Decimal notation 32.0, // Not legal. Must have a digit on either side of decimal Scientific notation 23.51e2 // _5.1e1 // E-4 13
14 Strings in Verilog A string is a sequence of chars within double quotes Verilog is cool! 14
15 Four-valued Data Verilog s nets and registers hold four-valued data 0, 1 Obvious Z (high impedance) Output of an undriven tri-state driver Models case where nothing is setting a wire s value X (unknown or undecided) Models when the simulator can t decide the value Initial state of registers When a wire is being driven to 0 and 1 simultaneously Output of a gate with Z inputs 15
16 Two Main Data Types Wires represent connections between things Do not hold their value Take their value from a driver such as a gate or other module A signal is wire by default Regs represent data storage Behave exactly like memory in a computer Hold their value until explicitly assigned in an initial or always block Can be used to model latches, flip-flops, etc., but do not correspond exactly Shared variables with all their attendant problems 16
17 Nets and Registers Wires and registers can be bits, vectors, and arrays wire a; // Simple wire wire [15:0] dbus; // 16-bit bus wire #(5,4,8) b; // Wire with rise delay 5, fall delay 4, and turn-off delay (hiz) 8 reg [-1:4] vec; // Six-bit register integer imem[0:1023]; // Array of 1024 integers reg [31:0] dcache[0:63]; // A 32-bit mem with 64 entries 17
18 Operators Arithmetic operators X = (A+B)-C // binary plus and minus X = -Y // unary minus X = Y*Z // multiplication X = A/B // division X = A%B // modulus is the remainder with // the sign of the dividend. // 7%4 = 3, -7%4 = -3, 7%-4 = 3 X = A**B // exponent (Only in Verilog 2001) 18
19 Relational operators Operators The result is 0 (false), 1 (true), or x (either operand has an x or z bit) 23 > 45 // false (value 0) 52 < 8 hxff // result is x b1000 >= b01110 // false. Smaller sized operand is zero-filled 19
20 Equality operators. Operators 2 b10 == 4 b0010 // true b11x0 == b11x0 // unknown because there is a bit in in either operand which is x (or z) b11x0 === b11x0 // true. In case equality, x and z are compared strictly as values 20
21 Logical operators. Operators A && B // logical AND A B // logical OR!A // logical NOT 21
22 Bit-wise operators ~A (unary negation) & (binary and) (binary or) ^ (binary xor) ~^ (binary XNOR) Operators AND (&) OR (I) 0 1 X Z X X X 0 X X X Z 0 X X X 0 1 X Z X X X X 1 X X Z X 1 X X 22
23 Reduction operators Operators A = b0110, B = b0100, C = b0x1 &B is 0 // logical AND of all bits B is 1 // logical OR of all bits ~&A is 1 // logical NAND of all bits ^B is 1 // logical XOR of all bits ~^B is 0 // logical XNOR of all bits &C is 0 // at least a bit is 0 C is 1 // at least a bit is 1 ^C is x // if any bit is x or z, result is x 23
24 Shift operators Operators A >> B // logical right shift A << B // logical left shift A >>> B // right shift for signed numbers (Only Verilog 2001) A <<< B // left shift for signed numbers (Only Verilog 2001) Conditional operator cond_expr? expr1 : expr2 24
25 Operators Concatenation and Replication operators wire [7:0] Dbus wire [11:0] Abus assign Dbus = {Dbus[3:0], Dbus[7:4]} // concatenation: swap nibbles Abus ={3{4 b1011}} // 12 b1011_1011_
26 Two ways to express hardware in Verilog: Structural and Behavioral Models
27 Two Main Components of Verilog Concurrent, event-triggered processes (behavioral) Initial and Always blocks Imperative code that can perform standard data manipulation tasks (assignment, if-then, case) Processes run until they delay for a period of time or wait for a triggering event Structure (structural) Verilog program built from modules with I/O interfaces Modules may contain instances of other modules Modules contain local signals, etc. Module configuration is static and all run concurrently High level modules typically structural Low level modules (leaves) typically behavioral 27
28 Structural Modeling When Verilog was first developed (1984) most logic simulators operated on netlists Netlist: list of gates and how they re connected A natural representation of a digital logic circuit Not the most convenient way to express test benches 28
29 Behavioral Modeling A much easier way to write testbenches Also good for more abstract models of circuits Easier to write Simulates faster More flexible Provides sequencing Verilog succeeded in part because it allowed both the model and the testbench to be described together 29
30 Multiplexer Built From Primitives module mux(f, a, b, sel); output f; input a, b, sel; Predefined module types and g1(f1, a, nsel), g2(f2, b, sel); or g3(f, f1, f2); not g4(nsel, sel); endmodule sel a b g4 Identifiers not explicitly defined default to wires Module may contain structure: instances of primitives and other modules nsel g1 g2 f1 f2 g3 f 30
31 Multiplexer Built With Always module mux(f, a, b, sel); output f; input a, b, sel; reg f; b, sel) if (sel) f = b; else f = a; endmodule sel a b Modules may contain one or more always blocks Sensitivity list contains signals whose change triggers the execution of the block f 31
32 Mux with Continuous Assignment module mux(f, a, b, sel); output f; input a, b, sel; LHS is always set to the value on the RHS Any change on the right causes reevaluation assign f = sel? b : a; endmodule sel a b f 32
33 Structural Modeling in more detail
34 Modules and Instances Basic structure of a Verilog module: module mymod(port1, port2, portn); output port1; output [3:0] port2; input [2:0] portn; endmodule Verilog convention lists outputs first. This is not necessary 34
35 Modules and Instances Verilog 2001 allows port direction and data type in the port list of modules as shown in the example below module mymod(output port1, output [3:0] port2, input [2:0] portn); endmodule 35
36 Instantiating a Module Instances of module mymod(y, a, b); look like mymod mm1(y1, a1, b1); // Connect-by-position mymod (y2, a1, b1), (y3, a2, b2); // Instance names omitted mymod mm2(.a(a2),.b(b2),.y(c2)); // Connect-by-name 36
37 Gate-level Primitives Verilog provides the following keywords for gate level modeling: and nand logical AND/NAND or nor logical OR/NOR xor xnor logical XOR/XNOR buf not buffer/inverter bufif0 notif0 Tristate buf with low enable bifif1 notif1 Tristate buf with high enable 37
38 Switch-level Primitives Verilog also provides mechanisms for modeling CMOS transistors that behave like switches A more detailed modeling scheme that can catch some additional electrical problems when transistors are used in this way Rarely used because circuits generally aren t built this way More seriously, model is not detailed enough to catch many of the problems These circuits are usually simulated using SPICE-like simulators based on nonlinear differential equation solvers 38
39 Behavioral Modeling in more detail
40 Types of Assignments in Verilog Continuous and Procedural Assignments Continuous assignments model combinational behavior only They assign a value to a wire (never to a reg) assign LHS_target = RHS_expression The continuous statement executes every time an event happens in the RHS expression The expression is evaluated If the result is different, the new value is assigned to the LHS target 40
41 Continuous Assignment Convenient for logical or data path specifications wire [8:0] sum; wire [7:0] a, b; wire carryin; Define bus widths Continuous assignment: permanently sets the value of sum to be a+b+carryin Recomputed when a, b, or carryin changes assign sum = a + b + carryin; 41
42 Types of Assignments in Verilog Procedural assignments model combinational and sequential behavior They appear only within an initial statement or an always statement Two different types of procedural assignments Blocking Non-blocking 42
43 Initial and Always Blocks Basic components for behavioral modeling initial begin imperative statements end always begin imperative statements end Runs when simulation starts Terminates when control reaches the end Good for providing stimulus in testbenches Runs when simulation starts Restarts when control reaches the end Good for modeling/specifying hardware 43
44 Timing Controls Two forms of timing control: Delay control Event control 44
45 Delay Controls Delay control is of the form # delay <procedural statement> It specifies the time units from the time the statement is initially encountered to the time it is executed e.g. #2 input = 4 b0101; // wait for 2 units, and then make the assignment input = #1 x // assign to input the value that x will have after 1 time unit. Different than #1 input = x 45
46 Event Controls Edge-triggered event control is of the event <procedural statement> (posedge clk) curr_state = (X or Y) A <= 0; // when X or Y change Level-triggered event control is of the form wait (condition) <procedural statement> The statement executes only if the condition is true, else it waits until the condition becomes true. e.g. wait(dataready); Data = Bus 46
47 Initial and Always Run until they encounter a delay initial begin #10 a = 1; b = 0; #10 a = 0; b = 1; end or a wait for an event clk) q = d; always begin wait(i); a = 0; wait(~i); a = 1; end 47
48 Blocking Procedural Assignment Inside an initial or always block: sum = a + b + cin; Just like in C: RHS evaluated and assigned to LHS before next statement executes RHS may contain wires and regs Two possible sources for data LHS must be a reg Primitives or cont. assignment may set wire values 48
49 Imperative Statements if (select == 1) y = a; else y = b; case (op) 2 b00: y = a + b; 2 b01: y = a b; 2 b10: y = a ^ b; default: y = hxxxx; endcase 49
50 For Loops A increasing sequence of values on an output reg [3:0] i, output; for ( i = 0 ; i <= 15 ; i = i + 1 ) begin output = i; #10; end 50
51 While Loops A increasing sequence of values on an output reg [3:0] i, output; i = 0; while (i <= 15) begin output = i; #10 i = i + 1; end 51
52 Blocking vs. Non Blocking Assignments Verilog has two types of procedural assignments Fundamental problem: In a synchronous system, all flip-flops sample simultaneously In Verilog, clk) blocks run in some undefined sequence 52
53 A Flawed Shift Register This doesn t work as you expect: reg d1, d2, d3, d4; clk) d2 = d1; clk) d3 = d2; clk) d4 = d3; These run in some order, but you don t know which 53
54 Non-blocking Assignments This version does work: Nonblocking rule: RHS evaluated when assignment runs reg d1, d2, d3, d4; clk) d2 <= d1; clk) d3 <= d2; clk) d4 <= d3; LHS updated only after all events for the current instant have run. It runs after a Delta time 54
55 Nonblocking Can Behave Oddly A sequence of nonblocking assignments don t communicate a = 1; b = a; c = b; Blocking assignment: a = b = c = 1 a <= 1; b <= a; c <= b; Nonblocking assignment after δ time: a = 1 b = old value of a c = old value of b 55
56 Nonblocking Looks Like Latches RHS of nonblocking taken from latches RHS of blocking taken from wires a = 1; b = a; c = b; 1 a b c a <= 1; b <= a; c <= b; 1 a b c 56
57 Sequential Logic and Finite State Machines in Verilog
58 Why we need sequential logic? What if you were given the following design specification: button When the button is pushed: 1)Turn on the light if it is off 2)Turn off the light if it is on The light should change state within a second of the button press light What makes this circuit different from those we ve discussed before? 1. State i.e. the circuit has memory 2.The output was changed by a input event (pushing a button) rather than an input value 58
59 Digital State One model of what we d like to build Memory Device LOAD Current State Combinational Logic New State Input Output Plan: Build a Sequential Circuit with stored digital STATE Memory stores CURRENT state Combinational Logic computes NEXT state (from input, current state) OUTPUT bit (from input, current state) State changes on LOAD control input If Output depends on Input and current state, circuit is called a Mealy machine. If Output depends only on the current state, circuit is called a Moore machine. 59
60 Our building block: the D FF The edge-triggered D register: on the rising edge of CLK, the value of D is saved in the register and then shortly afterwards appears on Q. D CLK Q 60
61 D-Register Timing t PD t CD Q CLK D t PD : maximum propagation delay, CLK Q t CD : minimum contamination delay, CLK Q t SETUP : setup time How long D must be stable before the rising edge of CLK t HOLD : hold time How long D must be stable after the rising edge of CLK t SETUP t HOLD 61
62 The Sequential always Block module dff (input D, CLK, output reg Q); clk) begin Q<=D; end endmodule; module CL(input a,b, sel, output reg out); begin if (sel) out = b; else out = a; end endmodule; module SL(input a,b, sel, output reg out); clk) begin if (sel) out <= b; else out <= a; end endmodule; 62
63 Finite State Machines and Verilog
64 Finite State Machines Finite State Machines (FSMs) are a useful abstraction for sequential circuits with centralized states of operation At each clock edge, combinational logic computes outputs and next state as a function of inputs and present state inputs + present state Combinational Logic outputs + next state n n CLK Q D Registers 64
65 Two types of Finite State Machines Moore and Mealy FSMs : different output generation Moore FSM: inputs x 0...x n Comb. Logic next state S' CLK D Q Registers n Comb. Logic Outputs y k = f k (S) present state S Mealy FSM: inputs x 0...x n Comb. Logic next state S' CLK D Q Registers n Comb. Logic Outputs y k = f k (S, x 0...x n ) present state S 65
66 Design Example: Level-to-Pulse A level-to-pulse converter produces a single- cycle pulse each time its input goes high. It s a synchronous rising-edge detector. Sample uses: Buttons and switches pressed by humans for arbitrary periods of time Single-cycle enable signals for counters Whenever input L goes from low to high... CLK L Level to Pulse P Converter...output P produces a single pulse, one clock period wide. 66
67 Step 1: State Transition Diagram Level (L) L Level to P Pulse FSM Pulse (P) CLK 67
68 Step 2: Logic Derivation + S 0 = L 68
69 Moore Level-to-Pulse Converter 69
70 Design of a Mealy Level-to-Pulse 70
71 Design of a Mealy Level-to-Pulse 71
72 Second FSM Example 72
73 Step 1A: Block Diagram 73
74 Step 1B: State transition diagram 74
75 Step 2. Verilog Implementation of the FSM module lock(input clk, reset, b0, b1, output out); wire reset; parameter S_RESET = 0; parameter S_0= 1; // state assignments parameter S_01 = 2; parameter S_010 = 3; parameter S_0101 = 4; parameter S_01011 = 5; begin // First always computes next state case (state) S_RESET: next_state = b0? S_0 : (b1? S_RESET : state); S_0: next_state = b0? S_0 : (b1? S_01 : state); S_01: next_state = b0? S_010 : (b1? S_RESET : state); S_010: next_state = b0? S_0 : (b1? S_0101 : state); S_0101: next_state = b0? S_010 : (b1? S_01011 : state); S_01011: next_state = b0? S_0 : (b1? S_RESET : state); default: next_state = S_RESET; endcase end // always 75
76 Step 2. Verilog Implementation of the FSM clk) if (reset == 1 b1) state <= S_RESET; else state <=next_state; // Second always computes next state assign out = (state == S_01011); endmodule 76
77 Modeling FSMs Behaviorally There are many ways to do it: 1. Define the next-state logic combinationally and define the state-holding latches explicitly 1. Define the behavior in a single clk) block 77
78 Testbenches
79 Writing Testbenches module test; reg a, b, sel; Inputs to device under test Device under test (DUT) mux m(y, a, b, sel); initial begin $monitor($time, a = %b, b=%b, sel=%b, y=%b, a, b, sel, y); a = 0; b= 0; sel = 0; #10 a = 1; #10 sel = 1; #10 b = 1; end endmodule $monitor is a built-in event driven printf Stimulus generated by sequence of assignments and delays 79
80 Writing Testbenches module first_counter_tb(); // Declare inputs as regs and outputs as wires reg clock, reset, enable; wire [3:0] counter_out; //Initialize all variables initial begin $display ("time\t clk reset enable counter"); $monitor ("%g\t %b %b %b %b", $time, clock, reset, enable, counter_out); clock = 1; // initial value of clock reset = 0; // initial value of reset enable = 0; // initial value of enable #5 reset = 1; // Assert the reset #10 reset = 0; // De-assert the reset #10 enable = 1; // Assert enable #100 enable = 0; // De-assert enable #5 $finish; // Terminate simulation end // Clock generator always begin #5 clock = ~clock; // Toggle clock every 5 ticks end // Connect DUT to test bench first_counter U_counter ( clock, reset, enable, counter_out ); end module 80
81 Simulating Verilog
82 Simulation Behavior Scheduled using an event queue Non-preemptive, no priorities A process must explicitly request a context switch Events at a particular time unordered Scheduler runs each event at the current time, possibly scheduling more as a result 82
83 Two Types of Events Evaluation events compute functions of inputs Update events change outputs Split necessary for delays, nonblocking assignments, etc. Update event writes new value of a and schedules any evaluation events that are sensitive to a change on a signal a <= b + c Evaluation event reads values of b and c, adds them, and schedules an update event 83
84 Simulation Behavior Concurrent processes (initial, always) run until they stop at one of the following #42 Schedule process to resume 42 time units from now wait(cf & of) Resume when expression cf & of becomes or b or y) Resume when a, b, or y clk) Resume when clk changes from 0 to 1 84
85 Simulation Behavior Infinite loops are possible and the simulator does not check for them This runs forever: no context switch allowed, so ready can never change while (~ready) count = count + 1; Instead, use wait(ready); 85
86 Simulation Behavior Race conditions abound in Verilog These can execute in either order: final value of a undefined: clk) a = 0; clk) a = 1; 86
87 Verilog and Logic Synthesis
88 Logic Synthesis Verilog is used in two ways Model for discrete-event simulation Specification for a logic synthesis system Logic synthesis converts a subset of Verilog language into an efficient netlist One of the major breakthroughs in designing logic chips in the last 20 years Most chips are designed using at least some logic synthesis 88
89 Logic Synthesis Tools Mostly commercial tools Very difficult, complicated programs to write well Limited market Commercial products in $10k - $100k price range Major vendors Synopsys Design Compiler, FPGA Express Cadence BuildGates Synplicity (FPGAs) Exemplar (FPGAs) Academic tools SIS (UC Berkeley) 89
90 Logic Synthesis Takes place in two stages: Translation of Verilog (or VHDL) source to a netlist Register inference Optimization of the resulting netlist to improve speed and area 90
91 Logic Optimization Netlist optimization the critical enabling technology Takes a slow or large netlist and transforms it into one that implements the same function more cheaply Typical operations Constant propagation Common subexpression elimination Function factoring Time-consuming operation Can take hours for large chips 91
92 Translating Verilog into Gates Parts of the language easy to translate Structural descriptions with primitives Already a netlist Continuous assignment Expressions turn into little datapaths Behavioral statements the bigger challenge 92
93 What Can Be Translated Structural definitions Everything Behavioral blocks Depends on sensitivity list Only when they have reasonable interpretation as combinational logic, edge, or level-sensitive latches Blocks sensitive to both edges of the clock, changes on unrelated signals, etc. cannot be synthesized User-defined primitives Primitives defined with truth tables Some sequential UDPs can t be translated (not latches or flip-flops) 93
94 What Isn t Translated Initial blocks Used to set up initial state or describe finite testbench stimuli Don t have obvious hardware component Delays May be in the Verilog source, but are ignored by synthesizer A variety of other obscure language features In general, things heavily dependent on discrete-event simulation semantics Certain disable statements 94
95 Register Inference The main trick reg does not always equal latch Rule: Combinational if outputs always depend exclusively on sensitivity list Sequential if outputs may also depend on previous values 95
96 Register Inference Combinational: reg y; or b or sel) if (sel) y = a; else y = b; Sensitive to changes on all of the variables it reads Y is always assigned Sequential: reg q; or clk) if (clk) q = d; q only assigned when clk is 1 96
97 Register Inference A common mistake is not completely specifying a case statement This implies a latch: or b) case ({a, b}) 2 b00 : f = 0; 2 b01 : f = 1; 2 b10 : f = 1; endcase f is not assigned when {a,b} = 2b 11 97
98 Register Inference The solution is to always have a default case or b) case ({a, b}) 2 b00: f = 0; 2 b01: f = 1; 2 b10: f = 1; default: f = 0; endcase f is always assigned 98
99 Inferring Latches with Reset Latches and Flip-flops often have reset inputs Can be synchronous or asynchronous Asynchronous positive reset: clk or posedge reset) if (reset) q <= 0; else q <= d; 99
100 Inferring Latches with Reset Synchronous positive reset: clk) if (reset) q <= 0; else q <= d; 100
101 Simulation-synthesis Mismatches Many possible sources of conflict Synthesis ignores delays (e.g., #10), but simulation behavior can be affected by them Simulator models X explicitly, synthesis doesn t Behaviors resulting from shared-variable-like behavior of regs is not synthesized clk) a = 1; New value of a may be seen by clk) statements in simulation, never in synthesis 101
ΗΥ 232 Οργάνωση και στον Σχεδίαση Η/Y. Διάλεξη 8. Concepts of Digital Design Introduction to Verilog
ΗΥ 232 Οργάνωση και στον Σχεδίαση Η/Y Διάλεξη 8 Concepts of Digital Design Introduction to Verilog Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση και Σχεδίαση Η/Υ (ΗΥ232) 1 The
Διαβάστε περισσότεραUNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS 150 Fall 2001 Prof. Subramanian Midterm II 1) You are implementing an 4:1 Multiplexer that has the following specifications:
Διαβάστε περισσότεραInstruction Execution Times
1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables
Διαβάστε περισσότεραΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Verilog: Τα βασικά ΗΥ220 - Βασίλης Παπαευσταθίου & Γιώργος Καλοκαιρινός 1 Η εξέλιξη στη σχεδίαση ψηφιακών κυκλωμάτων Μεγάλη εξέλιξη τα τελευταία
Διαβάστε περισσότεραThe Simply Typed Lambda Calculus
Type Inference Instead of writing type annotations, can we use an algorithm to infer what the type annotations should be? That depends on the type system. For simple type systems the answer is yes, and
Διαβάστε περισσότεραHomework 3 Solutions
Homework 3 Solutions Igor Yanovsky (Math 151A TA) Problem 1: Compute the absolute error and relative error in approximations of p by p. (Use calculator!) a) p π, p 22/7; b) p π, p 3.141. Solution: For
Διαβάστε περισσότεραΗΥ-225. Verilog HDL. Τα βασικά...
ΗΥ-225 Verilog HDL. Τα βασικά... Βασική Ροή Σχεδίασης Requirements RTL Model Simulate Synthesize Gate-level Model Simulate Test Bench ASIC or FPGA Place & Route Timing Model Simulate ΗΥ-225 Ιάκωβος Μαυροειδής
Διαβάστε περισσότεραΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2018-2019 Verilog: Μια πιο κοντινή ματιά ΗΥ220 - Βασίλης Παπαευσταθίου 1 Δομή της γλώσσας Μοιάζει αρκετά με τη C Preprocessor Keywords Τελεστές =
Διαβάστε περισσότεραModbus basic setup notes for IO-Link AL1xxx Master Block
n Modbus has four tables/registers where data is stored along with their associated addresses. We will be using the holding registers from address 40001 to 49999 that are R/W 16 bit/word. Two tables that
Διαβάστε περισσότεραΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Χειµερινό Εξάµηνο 2007-2008 Verilog: Τα βασικά ΗΥ220 - Βασίλης Παπαευσταθίου 1 Η εξέλιξη στη σχεδίαση ψηφιακών κυκλωµάτων Μεγάλη εξέλιξη τα τελευταία 30 χρόνια Στις
Διαβάστε περισσότεραΕργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Σχόλια: - - This is a single line comment - - There is no alternative way to write multi-line comments Αναγνωριστικά: Τα αναγνωριστικά
Διαβάστε περισσότεραΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Verilog: Μια πιο κοντινή ματιά ΗΥ220 - Βασίλης Παπαευσταθίου & Γιώργος Καλοκαιρινός 1 Δομή της γλώσσας Μοιάζει αρκετά με τη C Preprocessor
Διαβάστε περισσότεραΜικροηλεκτρονική - VLSI
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Μικροηλεκτρονική - VLSI Ενότητα 7: Ακολουθιακή Λογική Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή
Διαβάστε περισσότεραHOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:
HOMEWORK 4 Problem a For the fast loading case, we want to derive the relationship between P zz and λ z. We know that the nominal stress is expressed as: P zz = ψ λ z where λ z = λ λ z. Therefore, applying
Διαβάστε περισσότεραΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 12: Συνοπτική Παρουσίαση Ανάπτυξης Κώδικα με το Matlab Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότερα2 Composition. Invertible Mappings
Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan Composition. Invertible Mappings In this section we discuss two procedures for creating new mappings from old ones, namely,
Διαβάστε περισσότεραΕργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο
Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Procedures and Functions Stored procedures and functions are named blocks of code that enable you to group and organize a series of SQL and PL/SQL
Διαβάστε περισσότεραEE512: Error Control Coding
EE512: Error Control Coding Solution for Assignment on Finite Fields February 16, 2007 1. (a) Addition and Multiplication tables for GF (5) and GF (7) are shown in Tables 1 and 2. + 0 1 2 3 4 0 0 1 2 3
Διαβάστε περισσότεραOverview. Transition Semantics. Configurations and the transition relation. Executions and computation
Overview Transition Semantics Configurations and the transition relation Executions and computation Inference rules for small-step structural operational semantics for the simple imperative language Transition
Διαβάστε περισσότεραΠρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής
Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους
Διαβάστε περισσότεραΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Χειµερινό Εξάµηνο 2007-2008 Verilog: Μια πιο κοντινή µατιά ΗΥ220 - Βασίλης Παπαευσταθίου 1 οµή της γλώσσας Μοιάζει αρκετά µε τηc Preprocessor Keywords Τελεστές = &
Διαβάστε περισσότεραΗΥ225 Οργάνωση Υπολογιστών. Εισαγωγή στη Verilog
ΗΥ225 Οργάνωση Υπολογιστών Εισαγωγή στη Verilog Processors are everywhere ARM based products CS225: How to build your own processor University of Crete ΗΥ225 2 Intel 8086 Processor 1978 29.000 transistors
Διαβάστε περισσότεραSrednicki Chapter 55
Srednicki Chapter 55 QFT Problems & Solutions A. George August 3, 03 Srednicki 55.. Use equations 55.3-55.0 and A i, A j ] = Π i, Π j ] = 0 (at equal times) to verify equations 55.-55.3. This is our third
Διαβάστε περισσότεραΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη
Διαβάστε περισσότεραC.S. 430 Assignment 6, Sample Solutions
C.S. 430 Assignment 6, Sample Solutions Paul Liu November 15, 2007 Note that these are sample solutions only; in many cases there were many acceptable answers. 1 Reynolds Problem 10.1 1.1 Normal-order
Διαβάστε περισσότεραThe challenges of non-stable predicates
The challenges of non-stable predicates Consider a non-stable predicate Φ encoding, say, a safety property. We want to determine whether Φ holds for our program. The challenges of non-stable predicates
Διαβάστε περισσότεραΕργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Χρησιμοποιούμε τις μηχανές πεπερασμένων καταστάσεων (finite state machines FSMs) για την μοντελοποίηση της συμπεριφοράς ενός κυκλώματος, η
Διαβάστε περισσότεραΕργαστήριο Ψηφιακών Κυκλωμάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Μηχανές Πεπερασμένων Καταστάσεων Χειμερινό Εξάμηνο 2009 2010 ΗΥ220 University of Crete 1 Τι είναι οι FSMs? 10 FSM Κερματοδέκτης open Μηχανισμός Αυτόματου 20 Απελευθέρωσης
Διαβάστε περισσότεραEvery set of first-order formulas is equivalent to an independent set
Every set of first-order formulas is equivalent to an independent set May 6, 2008 Abstract A set of first-order formulas, whatever the cardinality of the set of symbols, is equivalent to an independent
Διαβάστε περισσότεραΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Γλώσσα περιγραφής υλικού: Verilog
ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Γλώσσα περιγραφής υλικού: Verilog Αρης Ευθυμίου Το σημερινό μάθημα! Η γλώσσα περιγραφής υλικού Verilog Περίληψη των αντίστοιχων μαθημάτων Ψηφιακής σχεδίασης έμφαση σε
Διαβάστε περισσότεραΕργαστήριο Ψηφιακών Κυκλωμάτων. Χειμερινό Εξάμηνο
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Verilog: Μια πιο κοντινή ματιά Χειμερινό Εξάμηνο 2009 2010 Δομή της γλώσσας Μοιάζει αρκετά με τη C Preprocessor Keywords Τελεστές = ==,!= , = &&? : & and or
Διαβάστε περισσότεραMatrices and Determinants
Matrices and Determinants SUBJECTIVE PROBLEMS: Q 1. For what value of k do the following system of equations possess a non-trivial (i.e., not all zero) solution over the set of rationals Q? x + ky + 3z
Διαβάστε περισσότεραderivation of the Laplacian from rectangular to spherical coordinates
derivation of the Laplacian from rectangular to spherical coordinates swapnizzle 03-03- :5:43 We begin by recognizing the familiar conversion from rectangular to spherical coordinates (note that φ is used
Διαβάστε περισσότεραSection 8.3 Trigonometric Equations
99 Section 8. Trigonometric Equations Objective 1: Solve Equations Involving One Trigonometric Function. In this section and the next, we will exple how to solving equations involving trigonometric functions.
Διαβάστε περισσότεραDynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Dynamic types, Lambda calculus machines Apr 21 22, 2016 1 Dynamic types and contracts (a) To make sure you understand the
Διαβάστε περισσότεραInverse trigonometric functions & General Solution of Trigonometric Equations. ------------------ ----------------------------- -----------------
Inverse trigonometric functions & General Solution of Trigonometric Equations. 1. Sin ( ) = a) b) c) d) Ans b. Solution : Method 1. Ans a: 17 > 1 a) is rejected. w.k.t Sin ( sin ) = d is rejected. If sin
Διαβάστε περισσότεραVERILOG. Γενικά περί γλώσσας
VERILOG Γενικά περί γλώσσας Χρησιµότητα της Verilog Υψηλού επιπέδου περιγραφή της συµπεριφοράς του συστήµατος µε σκοπό την εξοµοίωση. RTL περιγραφή της λειτουργίας του συστήµατος µε σκοπό τη σύνθεσή του
Διαβάστε περισσότεραLecture 2. Soundness and completeness of propositional logic
Lecture 2 Soundness and completeness of propositional logic February 9, 2004 1 Overview Review of natural deduction. Soundness and completeness. Semantics of propositional formulas. Soundness proof. Completeness
Διαβάστε περισσότερα6.1. Dirac Equation. Hamiltonian. Dirac Eq.
6.1. Dirac Equation Ref: M.Kaku, Quantum Field Theory, Oxford Univ Press (1993) η μν = η μν = diag(1, -1, -1, -1) p 0 = p 0 p = p i = -p i p μ p μ = p 0 p 0 + p i p i = E c 2 - p 2 = (m c) 2 H = c p 2
Διαβάστε περισσότεραPhys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)
Phys460.nb 81 ψ n (t) is still the (same) eigenstate of H But for tdependent H. The answer is NO. 5.5.5. Solution for the tdependent Schrodinger s equation If we assume that at time t 0, the electron starts
Διαβάστε περισσότεραCHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS
CHAPTER 5 SOLVING EQUATIONS BY ITERATIVE METHODS EXERCISE 104 Page 8 1. Find the positive root of the equation x + 3x 5 = 0, correct to 3 significant figures, using the method of bisection. Let f(x) =
Διαβάστε περισσότεραΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Μηχανές Πεπερασμένων Καταστάσεων ΗΥ220 - Βασίλης Παπαευσταθίου & Γιώργος Καλοκαιρινός 1 FSMs Οι μηχανές πεπερασμένων καταστάσεων Finite
Διαβάστε περισσότεραω ω ω ω ω ω+2 ω ω+2 + ω ω ω ω+2 + ω ω+1 ω ω+2 2 ω ω ω ω ω ω ω ω+1 ω ω2 ω ω2 + ω ω ω2 + ω ω ω ω2 + ω ω+1 ω ω2 + ω ω+1 + ω ω ω ω2 + ω
0 1 2 3 4 5 6 ω ω + 1 ω + 2 ω + 3 ω + 4 ω2 ω2 + 1 ω2 + 2 ω2 + 3 ω3 ω3 + 1 ω3 + 2 ω4 ω4 + 1 ω5 ω 2 ω 2 + 1 ω 2 + 2 ω 2 + ω ω 2 + ω + 1 ω 2 + ω2 ω 2 2 ω 2 2 + 1 ω 2 2 + ω ω 2 3 ω 3 ω 3 + 1 ω 3 + ω ω 3 +
Διαβάστε περισσότεραBlock Ciphers Modes. Ramki Thurimella
Block Ciphers Modes Ramki Thurimella Only Encryption I.e. messages could be modified Should not assume that nonsensical messages do no harm Always must be combined with authentication 2 Padding Must be
Διαβάστε περισσότεραk A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R +
Chapter 3. Fuzzy Arithmetic 3- Fuzzy arithmetic: ~Addition(+) and subtraction (-): Let A = [a and B = [b, b in R If x [a and y [b, b than x+y [a +b +b Symbolically,we write A(+)B = [a (+)[b, b = [a +b
Διαβάστε περισσότεραΑπόκριση σε Μοναδιαία Ωστική Δύναμη (Unit Impulse) Απόκριση σε Δυνάμεις Αυθαίρετα Μεταβαλλόμενες με το Χρόνο. Απόστολος Σ.
Απόκριση σε Δυνάμεις Αυθαίρετα Μεταβαλλόμενες με το Χρόνο The time integral of a force is referred to as impulse, is determined by and is obtained from: Newton s 2 nd Law of motion states that the action
Διαβάστε περισσότεραEE434 ASIC & Digital Systems Arithmetic Circuits
EE434 ASIC & Digital Systems Arithmetic Circuits Spring 25 Dae Hyun Kim daehyun@eecs.wsu.edu Arithmetic Circuits What we will learn Adders Basic High-speed 2 Adder -bit adder SSSSSS = AA BB CCCC CCCC =
Διαβάστε περισσότεραΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011
Διάρκεια Διαγωνισμού: 3 ώρες Απαντήστε όλες τις ερωτήσεις Μέγιστο Βάρος (20 Μονάδες) Δίνεται ένα σύνολο από N σφαιρίδια τα οποία δεν έχουν όλα το ίδιο βάρος μεταξύ τους και ένα κουτί που αντέχει μέχρι
Διαβάστε περισσότεραΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Χειµερινό Εξάµηνο 2007-2008 Μηχανές Πεπερασµένων Καταστάσεων ΗΥ220 - Βασίλης Παπαευσταθίου 1 FSMs Οι µηχανές πεπερασµένων καταστάσεων Finite State Machines (FSMs) πιο
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις
Διαβάστε περισσότερα3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β
3.4 SUM AND DIFFERENCE FORMULAS Page Theorem cos(αβ cos α cos β -sin α cos(α-β cos α cos β sin α NOTE: cos(αβ cos α cos β cos(α-β cos α -cos β Proof of cos(α-β cos α cos β sin α Let s use a unit circle
Διαβάστε περισσότεραTMA4115 Matematikk 3
TMA4115 Matematikk 3 Andrew Stacey Norges Teknisk-Naturvitenskapelige Universitet Trondheim Spring 2010 Lecture 12: Mathematics Marvellous Matrices Andrew Stacey Norges Teknisk-Naturvitenskapelige Universitet
Διαβάστε περισσότεραΣυστήματα Διαχείρισης Βάσεων Δεδομένων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Φροντιστήριο 9: Transactions - part 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Tutorial on Undo, Redo and Undo/Redo
Διαβάστε περισσότεραΑλγόριθμοι και πολυπλοκότητα NP-Completeness (2)
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2) Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών NP-Completeness (2) x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 11 13 21
Διαβάστε περισσότεραFinite Field Problems: Solutions
Finite Field Problems: Solutions 1. Let f = x 2 +1 Z 11 [x] and let F = Z 11 [x]/(f), a field. Let Solution: F =11 2 = 121, so F = 121 1 = 120. The possible orders are the divisors of 120. Solution: The
Διαβάστε περισσότεραANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?
Teko Classes IITJEE/AIEEE Maths by SUHAAG SIR, Bhopal, Ph (0755) 3 00 000 www.tekoclasses.com ANSWERSHEET (TOPIC DIFFERENTIAL CALCULUS) COLLECTION # Question Type A.Single Correct Type Q. (A) Sol least
Διαβάστε περισσότερα[1] P Q. Fig. 3.1
1 (a) Define resistance....... [1] (b) The smallest conductor within a computer processing chip can be represented as a rectangular block that is one atom high, four atoms wide and twenty atoms long. One
Διαβάστε περισσότεραΠΛΕ- 027 Μικροεπεξεργαστές 4ο μάθημα: γλώσσα περιγραφής υλικού Verilog
ΠΛΕ- 027 Μικροεπεξεργαστές 4ο μάθημα: γλώσσα περιγραφής υλικού Verilog Αρης Ευθυμίου Τι είναι η γλώσσα Verilog Γλώσσα περιγραφής υλικού (hardware descripjon language) Επιτρέπει τη περιγραφή (μοντελοποίηση)
Διαβάστε περισσότεραΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.3) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)
Διαβάστε περισσότεραΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Verilog: Στυλ Κώδικα και Synthesizable Verilog ΗΥ220 - Βασίλης Παπαευσταθίου & Γιώργος Καλοκαιρινός 1 Τα στυλ του κώδικα Τρεις βασικές κατηγορίες
Διαβάστε περισσότεραOther Test Constructions: Likelihood Ratio & Bayes Tests
Other Test Constructions: Likelihood Ratio & Bayes Tests Side-Note: So far we have seen a few approaches for creating tests such as Neyman-Pearson Lemma ( most powerful tests of H 0 : θ = θ 0 vs H 1 :
Διαβάστε περισσότεραMath 6 SL Probability Distributions Practice Test Mark Scheme
Math 6 SL Probability Distributions Practice Test Mark Scheme. (a) Note: Award A for vertical line to right of mean, A for shading to right of their vertical line. AA N (b) evidence of recognizing symmetry
Διαβάστε περισσότεραCapacitors - Capacitance, Charge and Potential Difference
Capacitors - Capacitance, Charge and Potential Difference Capacitors store electric charge. This ability to store electric charge is known as capacitance. A simple capacitor consists of 2 parallel metal
Διαβάστε περισσότεραΣχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 4: Σχεδιασμός Σειριακού Αθροιστή Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών
Διαβάστε περισσότεραRight Rear Door. Let's now finish the door hinge saga with the right rear door
Right Rear Door Let's now finish the door hinge saga with the right rear door You may have been already guessed my steps, so there is not much to describe in detail. Old upper one file:///c /Documents
Διαβάστε περισσότεραΚεφάλαιο 3. Αριθμητική Υπολογιστών Review. Hardware implementation of simple ALU Multiply/Divide Real Numbers
Κεφάλαιο 3 Αριθμητική Υπολογιστών Review signed numbers, 2 s complement, hex/dec/bin, add/subtract, logical Hardware implementation of simple ALU Multiply/Divide Real Numbers 1 Προσημασμένοι και Απρόσημοι
Διαβάστε περισσότεραΕισαγωγή στη Verilog
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Εισαγωγή στη Verilog Χειμερινό Εξάμηνο 2009 2010 Hardware vs Software Γιατί να σχεδιάζουμε σε Hardware? Γρήγορη εκτέλεση (~10x) Χαμηλή κατανάλωση ισχύος (~10x) αλλά
Διαβάστε περισσότεραΣχεδίαση Ψηφιακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Σχεδίαση Ψηφιακών Συστημάτων Ενότητα 2: Βασικές Μονάδες Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες
Διαβάστε περισσότεραΣχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο VHDL (revisited)
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2007 VHDL για Σχεδιασμό Συνδυαστικών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Διαβάστε περισσότερα5.4 The Poisson Distribution.
The worst thing you can do about a situation is nothing. Sr. O Shea Jackson 5.4 The Poisson Distribution. Description of the Poisson Distribution Discrete probability distribution. The random variable
Διαβάστε περισσότεραAssalamu `alaikum wr. wb.
LUMP SUM Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. LUMP SUM Lump sum lump sum lump sum. lump sum fixed price lump sum lump
Διαβάστε περισσότεραProblem Set 3: Solutions
CMPSCI 69GG Applied Information Theory Fall 006 Problem Set 3: Solutions. [Cover and Thomas 7.] a Define the following notation, C I p xx; Y max X; Y C I p xx; Ỹ max I X; Ỹ We would like to show that C
Διαβάστε περισσότεραMain source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1
Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1 A Brief History of Sampling Research 1915 - Edmund Taylor Whittaker (1873-1956) devised a
Διαβάστε περισσότεραnkavv@physics.auth.gr
Γλώσσες Περιγραφής Υλικού Εισαγωγή στην VHDL Νικόλαος Καββαδίας nkavv@physics.auth.gr 17 Μαρτίου 2009 Αντικείμενο του μαθήματος CST256: Γλώσσες Περιγραφής Υλικού Επιμέρους στόχοι του μαθήματος Σχεδιασμός
Διαβάστε περισσότεραΑρχιτεκτονική Σχεδίαση Ασαφούς Ελεγκτή σε VHDL και Υλοποίηση σε FPGA ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΗΜΑΤΩΝ, ΕΛΕΓΧΟΥ ΚΑΙ ΡΟΜΠΟΤΙΚΗΣ Αρχιτεκτονική Σχεδίαση Ασαφούς Ελεγκτή σε VHDL και Υλοποίηση σε FPGA ΙΠΛΩΜΑΤΙΚΗ
Διαβάστε περισσότεραNotes on the Open Economy
Notes on the Open Econom Ben J. Heijdra Universit of Groningen April 24 Introduction In this note we stud the two-countr model of Table.4 in more detail. restated here for convenience. The model is Table.4.
Διαβάστε περισσότεραStrain gauge and rosettes
Strain gauge and rosettes Introduction A strain gauge is a device which is used to measure strain (deformation) on an object subjected to forces. Strain can be measured using various types of devices classified
Διαβάστε περισσότεραLecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3
Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3 1 State vector space and the dual space Space of wavefunctions The space of wavefunctions is the set of all
Διαβάστε περισσότεραDESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.
DESIGN OF MACHINERY SOLUTION MANUAL -7-1! PROBLEM -7 Statement: Design a double-dwell cam to move a follower from to 25 6, dwell for 12, fall 25 and dwell for the remader The total cycle must take 4 sec
Διαβάστε περισσότεραVHDL Introduction. Subtitle
VHDL Introduction Subtitle Getting Started VHDL means Very Hard Difficult Language That s a lie!!! τα αρχικά VHDL είναι συντομογραφία του VHSIC Hardware Description Language, ενώ το VHSIC αντιπροσωπεύει
Διαβάστε περισσότερα2. THEORY OF EQUATIONS. PREVIOUS EAMCET Bits.
EAMCET-. THEORY OF EQUATIONS PREVIOUS EAMCET Bits. Each of the roots of the equation x 6x + 6x 5= are increased by k so that the new transformed equation does not contain term. Then k =... - 4. - Sol.
Διαβάστε περισσότεραHomework 8 Model Solution Section
MATH 004 Homework Solution Homework 8 Model Solution Section 14.5 14.6. 14.5. Use the Chain Rule to find dz where z cosx + 4y), x 5t 4, y 1 t. dz dx + dy y sinx + 4y)0t + 4) sinx + 4y) 1t ) 0t + 4t ) sinx
Διαβάστε περισσότερα«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας
«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Ακολουθιακός Κώδικας Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr
Διαβάστε περισσότεραApproximation of distance between locations on earth given by latitude and longitude
Approximation of distance between locations on earth given by latitude and longitude Jan Behrens 2012-12-31 In this paper we shall provide a method to approximate distances between two points on earth
Διαβάστε περισσότεραΑΝΙΧΝΕΥΣΗ ΓΕΓΟΝΟΤΩΝ ΒΗΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΕΠΙΤΑΧΥΝΣΙΟΜΕΤΡΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΙΧΝΕΥΣΗ ΓΕΓΟΝΟΤΩΝ ΒΗΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΕΠΙΤΑΧΥΝΣΙΟΜΕΤΡΩΝ
Διαβάστε περισσότεραChapter 6: Systems of Linear Differential. be continuous functions on the interval
Chapter 6: Systems of Linear Differential Equations Let a (t), a 2 (t),..., a nn (t), b (t), b 2 (t),..., b n (t) be continuous functions on the interval I. The system of n first-order differential equations
Διαβάστε περισσότεραPartial Differential Equations in Biology The boundary element method. March 26, 2013
The boundary element method March 26, 203 Introduction and notation The problem: u = f in D R d u = ϕ in Γ D u n = g on Γ N, where D = Γ D Γ N, Γ D Γ N = (possibly, Γ D = [Neumann problem] or Γ N = [Dirichlet
Διαβάστε περισσότεραΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)
Διαβάστε περισσότεραVHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων
VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών n VHDL Processes Περίληψη n Εντολές If-Then-Else και CASE
Διαβάστε περισσότεραA ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 }
A ΜΕΡΟΣ 1 program Puppy_Dog; begin 4 end. 5 6 { Result of execution 7 (There is no output from this program ) 10 } (* Κεφάλαιο - Πρόγραµµα EX0_.pas *) 1 program Kitty_Cat; begin 4 Writeln('This program');
Διαβάστε περισσότεραthe total number of electrons passing through the lamp.
1. A 12 V 36 W lamp is lit to normal brightness using a 12 V car battery of negligible internal resistance. The lamp is switched on for one hour (3600 s). For the time of 1 hour, calculate (i) the energy
Διαβάστε περισσότεραPartial Trace and Partial Transpose
Partial Trace and Partial Transpose by José Luis Gómez-Muñoz http://homepage.cem.itesm.mx/lgomez/quantum/ jose.luis.gomez@itesm.mx This document is based on suggestions by Anirban Das Introduction This
Διαβάστε περισσότεραΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL
ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL Προετοιµασία: Παπαδόπουλος Γιώργος Σούρδης Γιάννης Για το µάθηµα Οργάνωσης Υπολογιστών (ΑΡΥ301), 2002 ΕΙΣΑΓΩΓΗ ΣΤΗ STRUCTURAL VHDL Η VHDL είναι
Διαβάστε περισσότεραMath221: HW# 1 solutions
Math: HW# solutions Andy Royston October, 5 7.5.7, 3 rd Ed. We have a n = b n = a = fxdx = xdx =, x cos nxdx = x sin nx n sin nxdx n = cos nx n = n n, x sin nxdx = x cos nx n + cos nxdx n cos n = + sin
Διαβάστε περισσότεραSecond Order RLC Filters
ECEN 60 Circuits/Electronics Spring 007-0-07 P. Mathys Second Order RLC Filters RLC Lowpass Filter A passive RLC lowpass filter (LPF) circuit is shown in the following schematic. R L C v O (t) Using phasor
Διαβάστε περισσότεραPhysical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.
B-Trees Index files can become quite large for large main files Indices on index files are possible 3 rd -level index 2 nd -level index 1 st -level index Main file 1 The 1 st -level index consists of pairs
Διαβάστε περισσότεραΕργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL
Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι Εισαγωγή στη VHDL Εισαγωγή Very High Speed Integrated Circuits Hardware Description Language ιαφορές από γλώσσες προγραμματισμού: παράλληλη εκτέλεση εντολών προσδιορισμός
Διαβάστε περισσότεραAbout these lecture notes. Simply Typed λ-calculus. Types
About these lecture notes Simply Typed λ-calculus Akim Demaille akim@lrde.epita.fr EPITA École Pour l Informatique et les Techniques Avancées Many of these slides are largely inspired from Andrew D. Ker
Διαβάστε περισσότερα