User Tools

Site Tools


verilog_modules

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
verilog_modules [2007/11/16 01:17] roumaniverilog_modules [2007/11/16 01:29] (current) roumani
Line 2: Line 2:
  
 So far we have been writing Verilog top-level modules that test components. In this lecture we learn how to write te components themselves.  So far we have been writing Verilog top-level modules that test components. In this lecture we learn how to write te components themselves. 
 +
  
 ===== Outline ===== ===== Outline =====
  
-  * Performing PC+4 using the main ALU +A Verilog top-level (i.e. ''main'') module consists of the following section: 
-  * Performing PC+4 + 4*Label using the main ALU + 
-  * Adding registers to hold intermediate data +  * A ''module'' header 
-  * Combining the two memory units +  * A //declaration// block 
-  * Issuing the control signals for State #0 +  * A //circuit// block where all the needed components are instantiated and connected via ''assign''. 
-  * Doing something useful in State #1 +  * One ''initial'' block 
-  * Instruction-dependent states+  * One or more ''always'' blocks. 
 + 
 +A Verilog component (i.e. reusable in other modules) differs slightly from a top-level module as indicated below: 
 + 
 +  * The ''module'' headers is followed by //ports//, the names of the wires that connect this component to the outside world. 
 +  * The declaration section indicates which wire is incoming (by using ''input'') and which is outgoing (using ''output''). 
 + 
 +The functionality of the component can be implemented procedurally (in an ''always'' block) or structurally (in the circuit instantiation section).   
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
  
  
Line 17: Line 35:
 ===== To Do ===== ===== To Do =====
  
-   * Look at the program ''alu1b'' and its tester ''alu1bClient'' in the //Resource Directory//. ''alu1b' is a 1-bit adder component made up of basic gates.+  * Look at the program ''alu1b'' and its tester ''alu1bClient'' in the //Resource Directory//. ''alu1b'' is a 1-bit adder component made up of basic gates
 + 
 +  * Look at the program ''alu2b'' and its tester ''alu2bClient'' in the //Resource Directory//. ''alu2b'' is a 2-bit adder component made up of two ''alu1b'' adders.
  
-  * Look at the program ''alu2b'' and its tester ''alu2bClient'' in the //Resource Directory//. ''alu2b' is a 2-bit adder component made up of two ''alu1b'' adders. 
verilog_modules.1195175843.txt.gz · Last modified: 2007/11/16 01:17 by roumani