archive:nmk206
Differences
This shows you the differences between two versions of the page.
| archive:nmk206 [2025/04/09 11:38] – [Lab Session] azman | archive:nmk206 [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== NMK206 - Computer Architecture ====== | ||
| - | |||
| - | This course is //Computer Architecture//, | ||
| - | |||
| - | Download [[https:// | ||
| - | |||
| - | **Video Guide(s)** | ||
| - | |||
| - | [[https:// | ||
| - | |||
| - | | < | ||
| - | ModelSim: Installation | ||
| - | |||
| - | // | ||
| - | |||
| - | // | ||
| - | |||
| - | </ | ||
| - | | < | ||
| - | ModelSim: Create Project | ||
| - | |||
| - | // | ||
| - | |||
| - | // | ||
| - | |||
| - | </ | ||
| - | | < | ||
| - | ModelSim: Simulate Logic Cicuit | ||
| - | |||
| - | // | ||
| - | |||
| - | // | ||
| - | |||
| - | </ | ||
| - | |||
| - | ===== Announcements ===== | ||
| - | |||
| - | [202503023] Welcome to NMK206 info page (for 007 lab sessions only)! | ||
| - | |||
| - | ===== Lab Session ===== | ||
| - | |||
| - | I am using [[https:// | ||
| - | |||
| - | * Lab Briefing {{ : | ||
| - | * Intro to CAD Tools and HDL {{ : | ||
| - | * Verilog Basics {{ : | ||
| - | * [Extra] {{ : | ||
| - | * Combinational Logic {{ : | ||
| - | |||
| - | //**note**: these are from 202324s2 academic session. they should be very similar this semester, but some details may be added or removed. i usually post an updated version at the end of the week.// | ||
| - | |||
| - | * Combinational Logic {{ : | ||
| - | * Sequential Logic {{ : | ||
| - | * State Machine {{ : | ||
| - | * Simple Digital System {{ : | ||
| - | |||
| - | ==== Verilog Coding Rule ==== | ||
| - | |||
| - | This is the coding rule that I impose on my students. You will be penalized during assessments if it is not adhered to. | ||
| - | |||
| - | - One file for one module | ||
| - | * **RULE**: 1 file 1 module | ||
| - | - **File name must be the same as module name** | ||
| - | * **RULE**: file name === module name (.v) | ||
| - | - All circuit (module) must have a testbench (tb) | ||
| - | * tb is a also module (so, separate file) | ||
| - | * **RULE**: All module MUST have a testbench | ||
| - | * **RULE**: Tb name === module name + _tb | ||
| - | - Use Verilog95 module declaration | ||
| - | * Port list contain names only (separate input/ | ||
| - | * Port connection(s) MUST BE specified using ordered list | ||
| - | * **RULE**: Port connection(s) by ordered list ONLY! | ||
| - | - Modules for combinational logic should only use wire/assign statements | ||
| - | * reg/always reserved for sequential logic and testbench modules | ||
| - | * **RULE**: comb. logic use assign/wire only! | ||
| - | - Only basic logic gates are allowed | ||
| - | * Can only use AND/OR/INV in your logic implementation | ||
| - | * XOR logic is allowed for **lab project only** | ||
| - | * **RULE**: allowed operators AND, OR, INV | ||
| - | - Assign statements can only have ONE binary operator | ||
| - | * Multiple bitwise inverts (~) are ok (they are unary operators) | ||
| - | * **RULE**: 2-input logic gates ONLY | ||
| - | - ALL nets (wire/reg) MUST BE declared. | ||
| - | * some compiler may allow using without declaration | ||
| - | * for my assessments, | ||
| - | * **RULE**: All signals @wire must be declared! | ||
| - | |||
archive/nmk206.1744169935.txt.gz · Last modified: by azman
