1. 2 Memória (R-bit register) Circuito Combinatório D1D1 DRDR TRTR T1T1 X1X1 XLXL Y1Y1 YNYN clockreset MEF.

Slides:



Advertisements
Similar presentations
MC542 Organização de Computadores Teoria e Prática
Advertisements

Hard Instances of the Constrained Discrete Logarithm Problem Ilya MironovMicrosoft Research Anton MityaginUCSD Kobbi NissimBen Gurion University Speaker:
1.1 Line Segments, Distance and Midpoint
ECE555 Lecture 10 Nam Sung Kim University of Wisconsin – Madison
Group - E Group Members Burdukov, Ilya Igorevich Lewczyk, Tomasz Sithambaram, Sasitharan Penmatcha, Bharath Steszewski, Andrew Joseph MAE412.
time base & display mux digit display
D x D V y 1 L x D L x 1 L x 2 V y 2 V y 3 xDxD y1y1 y2y2 x1x1 x2x2 y3y3 x3x3 y4y4 z.
VHDL Introdução Paulo C. Centoducatte fevereiro de 2005
Modelagem Básica Entity –Exemplos: entity identifier is [ port (port_interface_list);] {entity_declarative_item} end [entity] [identifier]; Interface_list.
VHDL.
O A Corpo 1 Cinemática e Cinética de Partículas no Plano e no Espaço Análise Dinâmica dos Corpos O X Y X1X1 Y1Y1 X2X2 Y2Y2 X3X3 Y3Y3 A B P l = 75 mm l.
robot con 6 gradi di mobilità
Measurement of a Pond Basics of plane geometry Idea of the Coordinate Plane Confining an Area Practical skill Cooperation in the Group Lake measurement.
Doc.: IEEE Submission January 2010 Rick Roberts (Intel)Slide 1 Project: IEEE P Working Group for Wireless Personal Area Networks.
The Derivative in Graphing and Application
One-to-One Functions; Inverse Function
Instructions for using this template. Remember this is Jeopardy, so where I have written Answer this is the prompt the students will see, and where I.
Calculating Slope m = y2 – y1 x2 – x1.
Slope Problems.
This is Jeremy Miless collection of path When I want to draw a path diagram, I find the one most similar to.
Program Verification Using Hoares Logic Book: Chapter 7.
1 Program verification: flowchart programs (Book: chapter 7)
NN – cont. Alexandra I. Cristea USI intensive course Adaptive Systems April-May 2003.
Multivariate Twin Analysis
(a + b) 2 = a 2 + 2ab + b 2 a a a2a2 b ab b2b2 b b b a a a + b (a + b ) 2 = a2a2 +ab +b 2 = a 2 + 2ab + b 2.
Rule Learning – Overview Goal: learn transfer rules for a language pair where one language is resource-rich, the other is resource-poor Learning proceeds.
Linear Equations in Two Variables
State Space Representation Hany Ferdinando Dept. of Electrical Engineering Petra Christian University.
Decoding Circuits Made by Adham Barghouti
MANE 4240 & CIVL 4240 Introduction to Finite Elements
Verification Methodology Based on Algorithmic State Machines and Cycle-Accurate Contract Specifications Sergey Frenkel 1 and Alexander Kamkin 2 1 Institute.
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
Another example Max z=5x1+12x2+4x3-MR S.t. x1+2x2+x3+x4=10
Overview Functional Testing Boundary Value Testing (BVT)
Intelligent Light Control using Sensor Networks Vipul Singhvi 1,3, Andreas Krause 2, Carlos Guestrin 2,3, Jim Garrett 1, Scott Matthews 1 Carnegie Mellon.
A 2bcgskew Fused by a RHSP Veerle Desmet Hans Vandierendonck Koen De Bosschere Ghent University Member HiPEAC.
Ideal Parent Structure Learning School of Engineering & Computer Science The Hebrew University, Jerusalem, Israel Gal Elidan with Iftach Nachman and Nir.
Number Systems (1)  Positional Notation N = (a n-1 a n-2... a 1 a 0. a -1 a a -m ) r (1.1) where. = radix point r = radix or base n = number of.
Arithmetic circuits  Binary addition  Binary Subtraction  Unsigned binary numbers  Sign-magnitude numbers  2 ’ S Complement representation  2 ’
The model: Canonical form:. Matrix form: Simplex method: BPBPB XBXB A1A1 A2A2 A3A3 A4A A3A3 A4A P(x)=
SOLID GEOMETRY. (d) Projections of Right & Regular Solids like; (Prisms, Pyramids, Cylinder and Cone) SOLID GEOMETRY Following topics will be covered.
Numbers & Geometry Points and Distances. 6/3/2013 Numbers and Geometry 2 Distance d between numbers a and b d = Example: | = Points and Distances.
Roghibin's blog EQUILIBRIUM OF RIGID BODIES KESETIMBANG AN BENDA TEGAR.
Vertex cover might be hard to approximate within 2 - ε Subhash Khot, Oded Regev Slides by: Ofer Neiman.
Graphing Lines Day 0ne. Cover the concepts: Relation Function
1. – (–2) 4 3. x – 2(3x – 1) 4. 3(y 2 + 6y) –5x + 2 Simplify each expression. – y y.
On / By / With The building blocks of the Mplus language.
Boolean Satisfiability The most fundamental NP-complete problem, and now a powerful technology for solving many real world problems.
Gradient of a straight line x y 88 66 44 2 44 4 For the graph of y = 2x  4 rise run  = 8  4 = 2 8 rise = 8 4 run = 4 Gradient = y.
Efficient Algorithms via Precision Sampling Robert Krauthgamer (Weizmann Institute) joint work with: Alexandr Andoni (Microsoft Research) Krzysztof Onak.
Using k to Estimate and Test Patterns in the APIM David A. Kenny February 17, 2013.
LECTURE 25. Course: “Design of Systems: Structural Approach” Dept. “Communication Networks &Systems”, Faculty of Radioengineering & Cybernetics Moscow.
The simple built-in data types of the C language such as int, float, - are not sufficient to represent complex data such as lists, tables, vectors, and.
Map-making as Graph Drawing Alan Saalfeld Mathematical Cartographer.
5 x4. 10 x2 9 x3 10 x9 10 x4 10 x8 9 x2 9 x4.
2’s Complement 4-Bit Saturator
SATISFIABILITY Eric L. Frederich.
CMPUT429/CMPE382 Amaral 1/17/01 CMPUT429/CMPE382 Winter 2001 Topic9: Software Pipelining (Some slides from David A. Patterson’s CS252, Spring 2001 Lecture.
Shannon Expansion Given Boolean expression F = w 2 ’ + w 1 ’w 3 ’ + w 1 w 3 Shannon Expansion of F on a variable, say w 2, is to write F as two parts:
Low Power and Low Area Transform–Quant & Inverse Quant–Inverse Transform Hardware Design for H.264 Encoder.
Quiz Number 2 Group 1 – North of Newark Thamer AbuDiak Reynald Benoit Jose Lopez Rosele Lynn Dave Neal Deyanira Pena Professor Kenneth D. Lawerence New.
CSE202: Lecture 3The Ohio State University1 Assignment.
Graphics Graphics Java Vectors Java Enumeration Graphical Spreadsheets
XDI RDF Cell Graphs V This document introduces a notation for graphing XDI RDF statements called cell graphing. The motivation is to have an.
(for Prof. Oleg Shpyrko)
1 General Structural Equation (LISREL) Models Week 3 #2 A.Multiple Group Models with > 2 groups B.Relationship to ANOVA, ANCOVA models C.Introduction to.
Slide C.1 SAS MathematicalMarketing Appendix C: SAS Software Uses of SAS  CRM  datamining  data warehousing  linear programming  forecasting  econometrics.
Linear real and integer arithmetic. Fixed-size bit-vectors Uninterpreted functions Extensional arrays Quantifiers Model generation Several input formats.
Presentation stolen from the web (with changes) from the Univ of Aberta and Espen Skoglund and Thomas Richards (470 alum) and Our textbook’s authors IA-64:
T-SPaCS – A Two-Level Single-Pass Cache Simulation Methodology + Also Affiliated with NSF Center for High- Performance Reconfigurable Computing Wei Zang.
Presentation transcript:

1

2 Memória (R-bit register) Circuito Combinatório D1D1 DRDR TRTR T1T1 X1X1 XLXL Y1Y1 YNYN clockreset MEF

3

4 Para um dado vector binário BVector de N bits verificar se este vector contém M uns consecutivos: responder Sim (Yes) ou Não (No) Exemplo:BVector = ; N = 16; dado M = 3 resposta é Yes dado M = 2 resposta é Yes dado M = 4 resposta é No O próximo slide mostra o grafo de MEF

5 Count = 0 Index = 0 reset = 1 BVector(Index) = 1 BVector(Index) = 0 Count ++ Index ++ Count=0 Result: Yes count=M count M and Index=N Result: No count M and Index N and BVector(Index) = 1 count M and Index N and BVector(Index) = 0 Index=N BVector(Index) = 1 and Index N BVector(Index) = 0 and Index N BVector(Index) = 1- X1 BVector(Index) = 0- not X1 count=M- X2 count M- not x2 Index=N-1- X3 Index N-1- not X3 a0 a1 a2 a3 a4 y1: Count=0; y2: Index=0; y3: Count++; y4: Index++; y5=1: Yes y5=0: No A={ao,…,a4}; X={X1,X2,X3}; Y={y1,…,y5}.

6 Count = 0 Index = 0 y1, y2 reset = 1 X1 not X1 Count ++ Index ++ y3, y4 Index ++ Count=0 y1, y4 Result: Yes y5 X2 not X2 and X3 Result: No not X2 and not X3 and X1 not X2 and not X3 and not X1 X3 X1 not X3 not X1 not X3 BVector No or Yes Count Index FSM y1: Count=0; y2: Index=0; y3: Count++; y4: Index++; y5=1: Yes y5=0: No a0 a1 a2 a3 a4 a1 a3 X2 1 else X3 1 a4 else X1 1 a1 a2

7 Count = 0 Index = 0 y1, y2 reset = 1 X1 not X1 Count ++ Index ++ y3, y4 Index ++ Count=0 y1, y4 Result: Yes y5 X2 not X2 and X3 Result: No not X2 and not X3 and X1 not X2 and not X3 and not X1 X3 X1 not X3 not X1 not X3 BVector No or Yes Count Index FSM y1: Count=0; y2: Index=0; y3: Count++; y4: Index++; y5=1: Yes y5=0: No a0 a1 a2 a3 a4

8 Count = 0 Index = 0 reset = 1 BVector(Index) = 1 BVector(Index) = 0 Count ++ Index ++ Count=0 Result: Yes count=M count M and Index=N Result: No count M and Index N and BVector(Index) = 1 count M and Index N and BVector(Index) = 0 Index=N BVector(Index) = 1 and Index N BVector(Index) = 0 and Index N BVector(Index) = 1- X1 BVector(Index) = 0- not X1 count=M- X2 count M- not x2 Index=N-1- X3 Index N-1- not X3 a0 a1 a2 a3 a4 a1 a3 X2 1 else X3 1 a4 else X1 1 a1 a2

9 case FSMstate is when a0 => Count <= 0; Index <= 0; if BVector(0) = '1' then FSMnext_state <= a1; else FSMnext_state <= a2; end if; when a1 => Count <= Count + 1; Index <= Index + 1; if (Count = NumberOfSucOnes-1)then FSMnext_state <= a3; elsif (Index = SizeOfVector-1) then FSMnext_state <= a4; elsif (BVector(index+1) = '1') then FSMnext_state <= a1; else FSMnext_state <= a2; end if; a1 a3 X2 1 else X3 1 a4 else X1 1 a1 a2 BVector(Index) = 1- X1 BVector(Index) = 0- not X1 count=M- X2 count M- not x2 Index=N-1- X3 Index N-1- not X3 Count ++ Index ++ y3, y4 a1

10 MEF

11 entity FSM_succeeding_ones is generic (AddressBits : natural; StateMaxValue : natural; NumberOfColumns: natural; SizeOfVector : natural; NumberOfSucOnes : natural ); Port ( ASCII_in : in STD_LOGIC_VECTOR (7 downto 0); ASCII_out : out STD_LOGIC_VECTOR (7 downto 0); Address_in : in STD_LOGIC_VECTOR (AddressBits - 1 downto 0); Address_out : out STD_LOGIC_VECTOR (AddressBits - 1 downto 0); clk : in STD_LOGIC; rst : in STD_LOGIC; WE_in : in STD_LOGIC; WE_out : out STD_LOGIC); end FSM_succeeding_ones; architecture Behavioral of FSM_succeeding_ones is signal BVector: STD_LOGIC_VECTOR(SizeOfVector-1 downto 0); -- Binary Vector signal state: integer range 0 to StateMaxValue; signal line, line_local : integer range 0 to 39; signal column, column_local : integer range 0 to 79; signal ASCII_local : std_logic_vector(7 downto 0); signal ASCII_state : std_logic_vector(7 downto 0); signal YesNo: string(1 to 5) := " "; signal BVectorName: string(1 to 26) := "Given binary vector = "; constant TextOutBegin: string(1 to 11):= "Contains "; constant TextOutEnd: string(1 to 19) := " succeeding ones: "; signal count: integer range 0 to NumberOfSucOnes; signal index: integer range 0 to SizeOfVector; type state_type is (a0,a1,a2,a3,a4); signal FSMstate, FSMnext_state : state_type; begin BVector(conv_integer(Address_in(3 downto 0))) <= '0' when rst = '1' else ASCII_in(0) when ((ASCII_in >= " ") or (ASCII_in <= " ")) and (WE_in = '1'); FSM begin BVector No or Yes Count Index FSM A={ao,…,a4};

12 BVector(conv_integer(Address_in(3 downto 0))) <= '0 when rst = '1' else ASCII_in(0) when ((ASCII_in >= " ") or (ASCII_in <= " ")) and (WE_in = '1'); do teclado ou 0 ou 1 indice 0

FSM begin process(clk,rst) begin if rst = '1' then FSMstate <= a0; elsif rising_edge(clk) then FSMstate <= FSMnext_state; end if; end process; process(clk,rst) begin if rst = '1' then YesNo <= " "; elsif falling_edge(clk) then case FSMstate is when a0 => Count <= 0; Index <= 0; if BVector(0) = '1' then FSMnext_state <= a1; else FSMnext_state <= a2; end if; Count = 0 Index = 0 Count ++ Index ++ a1 a2 reset = 1 Index ++ Count=0 a0 BVector(Index) = 1 BVector(Index) = 0 0 0

14 when a1 => Count <= Count + 1; Index <= Index + 1; if (Count = NumberOfSucOnes-1)then FSMnext_state <= a3; elsif (Index = SizeOfVector-1) then FSMnext_state <= a4; elsif (BVector(index+1) = '1') then FSMnext_state <= a1; else FSMnext_state <= a2; end if; when a2 => Count <= 0; Index <= Index + 1; if (Index = SizeOfVector-1) then FSMnext_state <= a4; elsif (BVector(index+1) = '0') then FSMnext_state <= a2; else FSMnext_state <= a1; end if; when a3 => YesNo <= " Yes "; FSMnext_state <= a0; when a4 => YesNo <= " No "; FSMnext_state <= a0; when others => null; end case; else null; end if; end process; FSM end signal YesNo: string(1 to 5) := " ";

15 process(clk, rst) begin if rst = '1' then state <= 0; elsif falling_edge(clk) then If state=StateMaxValue then state<=0; else state<= state + 1; end if; end if; end process; process(clk, rst) begin if rst= '1' then null; elsif rising_edge(clk) then case state is when 1 to 26 => line_local <= 9; column_local <= 14 + state; ASCII_local <= std_logic_vector(to_unsigned(character'pos(BVectorName(state)), 8)); when 27 to 42 => line_local <= 9;column_local <= 14 + state; ASCII_local <= " " & BVector(state-27); when 43 to 53 => line_local <= 10;column_local <= 14 + state - 42; ASCII_local <= std_logic_vector(to_unsigned(character'pos(TextOutBegin(state-42)), 8)); when 54 => line_local <= 10;column_local <= ; ASCII_local <= "0011" & conv_std_logic_vector(NumberOfSucOnes,4); when 55 to 73 => line_local <= 10;column_local <= state - 54; ASCII_local <= std_logic_vector(to_unsigned(character'pos(TextOutEnd(state-54)), 8)); when 74 to 78 => line_local <= 10;column_local <= state - 54; ASCII_local <= std_logic_vector(to_unsigned(character'pos(YesNo(state-73)), 8)); when others =>null; end case; end if; end process; WE_out <= '1'; ASCII_out <= ASCII_local; column <= column_local; line <= line_local; Address_out <= conv_std_logic_vector((line*NumberOfColumns + column),AddressBits); end Behavioral;

16 Given binary vector = Contains 5 succeeding ones: Yes Given binary vector = Contains 5 succeeding ones: No