element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum 256 x 12 RAM
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 13 replies
  • Answers 4 answers
  • Subscribers 393 subscribers
  • Views 1301 views
  • Users 0 members are here
  • lodgic
  • computers
  • rom
Related

256 x 12 RAM

timswift
timswift over 9 years ago

Hi

I have been designing a 4 bit computer with a 256 word program space.  But for the goto (skip to) command to work I need a 8 bit address

with a 4 bit op code.  So a 256 x 12 RAM would be needed but I cant seem to find any available.

Would a 256 x 16 work?

 

Thanks

 

Tim

  • Sign in to reply
  • Cancel

Top Replies

  • timswift
    timswift over 9 years ago in reply to johnbeetem +2
    I have finished the control logic's ruff design. I also changed the commands their are only 12 now (the ALU functions are on the same command). And the ALU has the highest chip count so far but the design…
  • dougw
    dougw over 9 years ago in reply to timswift +1 suggested
    SRAM is volatile unless it has a battery backup. Presumably you need non-volatile memory with a parallel interface. It will be tough to get modern memory chips this small so you could end up with unused…
  • DAB
    DAB over 9 years ago in reply to timswift +1
    Yes, RAM or ROM, all you need to do is provide an address bus to select the byte and a clock to latch the data inside the device to the pins on your MCU to read. In my bit slice days, we did a lot of this…
  • timswift
    0 timswift over 9 years ago in reply to johnbeetem

    Thanks for all the good feed back.

     

    I am still working on the design but I would like to build it in simpler pieces then assemble it.

     

    The control logic is the most difficult part so far.

     

    Tim

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • johnbeetem
    0 johnbeetem over 9 years ago in reply to timswift

    timswift wrote:

     

    The control logic is the most difficult part so far.

    Control logic does not need to be difficult.  Most computer design books I've seen don't cover it well, so people get the false impression that it's difficult and mysterious.

     

    The important thing is to have an instruction set that allows you to have a simple data path that's easy to control.  Basically, a computer has a data path that performs all the arithmetic and register transfers and a control unit that tells the data path what to do each clock cycle.  The data path has control points (CPs) that specify what each element of the data path should do.  For example, an ALU has an operation CP to tell it which operation to do and each multiplexer has a mux CP to select one of the mux inputs.

     

    Glen Langdon's Computer Design (1982) has a nice analogy: the data path is like a piano and the keys are the control points.  The human playing the piano is the control unit that activates those control points.

     

    If your instruction set allows a simple data path with a relatively small number of CPs your life will be much easier.  For example, a classic RISC implementation usually allows fields of instructions to map directly to control points.  The register fields connect directly to the CPs that select registers from register files and the opcode field can connect directly to the ALU's operation CP.  If the instruction format allows an immediate operand the bit that selects immediate mode drives a mux CP that selects a register value or the immediate field from the instruction register.

     

    RISC instruction sets usually have simple controllers if not pipelined.  If you do add pipelining, it gets more complex but nowhere as bad as it would be if you try to pipeline a CISC.

     

    If you're not designing a RISC, I suggest looking into Hardware Flowcharts also known as Algorithmic State Machines.  ASMs basically combine finite-state machines with register transfers and are a clean way of looking at and designing control logic.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • timswift
    0 timswift over 9 years ago in reply to johnbeetem

    I have finished the control logic's ruff design. I also changed the commands their are only 12 now (the ALU functions are on the same command).  And the ALU has the highest chip count so far but the design is

    relatively strait-forwards.   

     

     

     

    Tim

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
<
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube