E1 硬件描述语言

你已经学习了数字电路的基础知识, 并已经在Logisim中设计了简单的处理器. 但你应该也多少能体会到, Logisim并不适合设计更复杂的电路. 事实上, 现代处理器都是通过硬件描述语言(HDL)来设计的. 接下来, 你将来学习如何通过HDL来设计数字电路.

需要说明的是, 虽然Logisim并不适合设计复杂的电路, 但Logisim的使用经验应该已经帮助你建立了"电路思维": 数字电路设计只做两件事, “实例化”和"连线". 你接下来使用HDL来设计数字电路时, 头脑中也需要将HDL代码和Logisim的使用经验建立关联: 你只不过是换了一种方式来设计电路, 但本质上还是在进行"实例化"和"连线"的工作, 因此你应该能根据你编写的代码想象到电路的逻辑结构. 如果你发现自己无法想象, 那你很大概率会设计出质量较低的电路(频率低, 面积大, 功耗高), 甚至是功能不符合预期的电路.

推荐一些数字电路学习资料

通过线上网站学习Verilog语言

我们给大家推荐Verilog在线学习网站HDLBits在新窗口中打开, 它提供了丰富的习题, 并通过在线仿真判断你的代码是否正确.

如果你对自己的Verilog水平很有自信, 可以尝试完成以下习题:

  • Sequential Logic
    • Finite State Machines
      • Lemmings 1
      • Lemmings 2
      • Lemmings 3
      • Lemmings 4
      • PS/2 packet parser
      • PS/2 packet parser and datapath
      • Serial receiver
      • Serial receiver and datapath
      • Serial receiver with parity checking

如果你发现上述习题非常困难, 我们建议你从基础习题开始做起. 具体地, 你需要完成以下章节对应的习题:

  • Getting Started - 建议完成, 以熟悉完成习题的流程
  • Verilog Language - 建议不熟悉Verilog的同学完成
  • Combinational Logic
    • Basic Gates
      • More logic gates
      • Truth tables
      • Simple circuit A
      • Simple circuit B
      • Thermostat
      • 3-bit population count
      • Even longer vectors
    • Multiplexers
      • 2-to-1 multiplexer
      • 9-to-1 multiplexer
      • 256-to-1 4-bits multiplexer
    • Arithmetic Circuits
      • Signed addition overflow
      • 100-bits binary adder
  • Sequential Logic
    • Latches and Flip-Flops
      • D flip-flip
      • DFF with reset value
      • DFF with asynchronous reset
      • DFF with byte enable
      • Mux and DFF
      • Create circuit from truth table
      • Detect an edge
      • Detect both edges
      • Edge capture register
      • Dual-edge triggered flip-flop
    • Counters
      • Decade counter again
      • Slow decade counter
      • Counter 1000
      • 12-hour clock
    • Shift Registers
      • Left/right rotator
      • Left/right arithmetic shift by 1 or 8
      • 5-bits LFSR
      • Shift register
      • 3-input LUT
    • More Circuits - 全部完成
    • Finite State Machines - 全部完成

Verilog和电路图之间的关联

尝试在Logisim中生成对应电路的Verilog代码, 然后阅读这些代码, 理解Verilog代码如何对应到相应的Logisim电路.

最近更新时间:
贡献者: Zihao Yu