Lesson 2: Design an address decoder for 64 KB memory from 16KB memory ICs, knowing that the memory base address is 94000H and the address decoder is designed using circuits combinatorial logic.
I don't understand how to do this Lesson :'(
115 Views Asked by Tờ Ân At
1
There are 1 best solutions below
Related Questions in CPU-ARCHITECTURE
- Real-world analog to TIS-100
- What is faster: equal check or sign check
- Multicore clock counter consistency
- How do MemReq and MemResp exactly work in RoccIO - RISCV
- What is the simplest Turing complete CPU instruction set which can execute code from ROM?
- Had 16-bit DOS a memory access limitation of 1 MB? If yes, how?
- Are correct branch predictions free?
- Assembly: why some x86 opcodes are invalid in x64?
- Memory barriers force cache coherency?
- FreeRTOS : How to measure context switching time?
- HACK Machines and its assembler
- Peak FLOPs per cycle for ARM11 and Cortex-A7 cores in Raspberry Pi 1 and 2
- Computer Architecture/Assembly, Amdahl's Law
- How the heap and stack size is decided in process image
- How can I get the virtual address of a shared library by the use of computer architecture state?
Related Questions in CIRCUIT
- How to add a hand-layout custom circuit as a new std cell and refer to it in verilog?
- Is there any possibility to recover A in "A & B = C" with given B and C?
- What will be the circuit for the counter with oscillating 1s (1000, 0100, 0010, 0001, 0010, 0100)?
- Can't get simple Bit Sequence Recognizer circuit to work (FSM)
- Writing a circuit (wire) using akka
- Programming a simple button LED circuit with Arduino
- Android: How to send and receive signals from a phone
- Probabilistic logic vs. analog
- Matlab Undefined function or method 'C' for input arguments of type 'double'
- How can I send a signal to LEDs from my Android 4.2.2 device? (Eclipse & USB cable)
- An ArrowCircuit instance for stream processors which could block
- How to find node voltage by VDR
- How to code GUI for logic design in Java?
- Designing a combinational circuit for a vending machine
- Java: assert (boolean-expression)
Related Questions in DIGITAL-LOGIC
- Assembly language, don't understand the instruction codes and memory locations
- What is the component for if-clause in digital logic?
- Time complexity in n bit array multiplication
- Design does not fit ispLEVER
- A program that would test two input gates (AND, OR, NAND, NOR, and XOR)
- Is it possible to avoid specifying a default in order to get an X in Chisel?
- Verilog: Store counter value when reset is asserted
- Chisel runtime error in test harness
- Why K-map has states in sequence of 00,01,11,10 instead of 00,01,10,11?
- Does modeling digital circuits in C have any practical benefits as opposed using the language's standard operations?
- Digital Logic Fundamentals Binary Division Hardware Designing
- Non Restoring Division in Iverilog
- Digital logic - mealy state machines?
- Digital Logic - Karnaugh Map
- How to simplify circuits
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
64KB is four times 16KB, so you will need four 16KB memory chips. Addressing 64 KB = 216 bytes of memory requires 16 wires between CPU and the memory chips. Let's enumerate those wires as 0..15:
Your 16KB chips use only addressing pins 0..13, connect them all in parallel to the address bus. The remaining pins 14..15 need to be decoded to four chip-select (CS) signals, connected each to their corresponding 16KB chip and causing the chip idle when CS is not 1.
Combinatorial logic of the decoder is straightforward:
Construction of the decoder depends on available logical gates, for instance CS0 should be 1 if and only if both pins 14 and 15 area 0, so you may need two input invertors and one AND gate.
Remapping the address space to 94000H
affects only address bit 14 of 64KB memory, so you should invert this bit on input of your four CS decoders and you can ignore addressing pins 16..19.