1. Trang chủ >
  2. Kỹ Thuật - Công Nghệ >
  3. Điện - Điện tử >

FPGA Compiler II / FPGA Express with Verilog HDL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.24 MB, 307 trang )


Register Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



2-7



Asynchronous Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



2-8



3. Structural Descriptions

Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



3-2



Macromodules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



3-3



Port Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



3-4



Port Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



3-5



Renaming Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



3-6



Module Statements and Constructs . . . . . . . . . . . . . . . . . . . . . . . .



3-7



Structural Data Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

wire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

wand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

wor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

tri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

supply0 and supply1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

reg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



3-8

3-8

3-9

3-10

3-11

3-12

3-13

3-13



Port Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

inout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



3-14

3-14

3-14

3-15



Continuous Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15

Module Instantiations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17

Named and Positional Notation . . . . . . . . . . . . . . . . . . . . . . . . . 3-18

Parameterized Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19



viii



Gate-Level Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20

Three-State Buffer Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . 3-22

4. Expressions

Constant-Valued Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



4-2



Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



4-3



Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



4-4



Relational Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



4-5



Equality Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



4-6



Handling Comparisons to X or Z . . . . . . . . . . . . . . . . . . . . . . . .



4-7



Logical Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



4-8



Bitwise Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



4-9



Reduction Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10

Shift Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11

Conditional Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12

Concatenation Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13

Operator Precedence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15

Operands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16

Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16

Wires and Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17

Bit-Selects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17

Part-Selects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18

Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18

Concatenation of Operands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19

Expression Bit-Widths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19



ix



5. Functional Descriptions

Sequential Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



5-2



Function Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



5-3



Input Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



5-5



Output From a Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



5-5



Register Declarations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



5-6



Memory Declarations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



5-7



Parameter Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



5-8



Integer Declarations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



5-9



Function Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



5-9



Procedural Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10

RTL Assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11

begin...end Block Statements . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14

if...else Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15

Conditional Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18

case Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18

Full Case and Parallel Case. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20

casex Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22

casez Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25

for Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27

while Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29

forever Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30

disable Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31

task Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-32

always Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-34



x



Event Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-34

Incomplete Event Specification . . . . . . . . . . . . . . . . . . . . . . . . . 5-37

6. Register and Three-State Inference

Register Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



6-1



The Inference Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



6-2



Latch Inference Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



6-4



Controlling Register Inference . . . . . . . . . . . . . . . . . . . . . . . . . .

Attributes That Control Register Inference . . . . . . . . . . . . . .



6-4

6-4



Inferring Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7

Inferring SR Latches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7

Inferring D Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9

Understanding the Limitations of D Latch Inference . . . . . . 6-19

Inferring Master-Slave Latches. . . . . . . . . . . . . . . . . . . . . . . 6-19

Inferring Flip-Flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Inferring D Flip-Flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Understanding the Limitations of D Flip-Flop Inference . . . .

Inferring JK Flip-Flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Inferring Toggle Flip-Flops . . . . . . . . . . . . . . . . . . . . . . . . . .

Getting the Best Results. . . . . . . . . . . . . . . . . . . . . . . . . . . .



6-21

6-21

6-35

6-37

6-41

6-46



Understanding Limitations of Register Inference . . . . . . . . . . . . 6-50

Three-State Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-51

Reporting Three-State Inference . . . . . . . . . . . . . . . . . . . . . . . . 6-51

Controlling Three-State Inference . . . . . . . . . . . . . . . . . . . . . . . 6-51

Inferring Three-State Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-52

Simple Three-State Driver . . . . . . . . . . . . . . . . . . . . . . . . . . 6-52

Registered Three-State Drivers . . . . . . . . . . . . . . . . . . . . . . 6-57



xi



Xem Thêm
Tải bản đầy đủ (.pdf) (307 trang)

×