zoukankan      html  css  js  c++  java
  • 【原创】The solutional manual of the Verilog HDL: A Guide to Digital Design and Synthesis (2nd)—ch07III

    12. Using a case statement, design an 8-function ALU that takes 4-bit inputs a and b and a 3-bit input signal select, and gives a 5-bit output out. The ALU implements the following functions based on a 3-bit input signal select. Ignore any overflow or underflow bits.

    Select Signal

    Function

    3’b000

    Out=a

    3’b001

    Out=a+b

    3’b010

    Out=a-b

    3’b011

    Out=a/b

    3’b100

    Out=a%b(remainder)

    3’b101

    Out=a<<1

    3’b110

    Out=a>>1

    3’b111

    Out=(a>b)(magnitude compare)

    my answer:

    clip_image002

    clip_image004

    clip_image006

    13. Using a while loop, design a clock generator. Initial value of clock is 0. Time period for the clock is 10.

    my answer:

    clip_image008

    clip_image010

    14. Using the for loop, initialize locations 0 to 1023 of a 4-bit register array cache_var to 0.

    my answer:

    clip_image012

    clip_image014

    15. Using forever statement, design a clock with time period =10 and duty cycl = 40%. Initial value of clock is 0.

    my answer:

    clip_image016

    clip_image018

    16. Using the repeat loop, delay the statement a= a+1 by 20 positive edges of clock.

    my answer:

    clip_image020

    clip_image022

    17. Below is a block with nested sequential and parallel blocks. When does the block finish and what is the order of execution of events? At what simulation times does each statement finish execution?

    clip_image024

    my answer:

    clip_image026

    (p.s, I made a change at line 19).

    clip_image028

    18. Design an 8-bit counter by using forever loop, named block, and disabling of named block. The counter starts counting at count=5 and finishes at count=67. The count is incremented at positive edge of clock. The clock has a time period of 10. The counter counts through the loop only once and then is disabled.(Hint: Use the disable statement).

    my answer:

    clip_image030

    0 count= 5

    # 5 count= 6

    # 15 count= 7

    # 25 count= 8

    # 35 count= 9

    # 45 count= 10

    # 55 count= 11

    # 65 count= 12

    # 75 count= 13

    # 85 count= 14

    # 95 count= 15

    # 105 count= 16

    # 115 count= 17

    # 125 count= 18

    # 135 count= 19

    # 145 count= 20

    # 155 count= 21

    # 165 count= 22

    # 175 count= 23

    # 185 count= 24

    # 195 count= 25

    # 205 count= 26

    # 215 count= 27

    # 225 count= 28

    # 235 count= 29

    # 245 count= 30

    # 255 count= 31

    # 265 count= 32

    # 275 count= 33

    # 285 count= 34

    # 295 count= 35

    # 305 count= 36

    # 315 count= 37

    # 325 count= 38

    # 335 count= 39

    # 345 count= 40

    # 355 count= 41

    # 365 count= 42

    # 375 count= 43

    # 385 count= 44

    # 395 count= 45

    # 405 count= 46

    # 415 count= 47

    # 425 count= 48

    # 435 count= 49

    # 445 count= 50

    # 455 count= 51

    # 465 count= 52

    # 475 count= 53

    # 485 count= 54

    # 495 count= 55

    # 505 count= 56

    # 515 count= 57

    # 525 count= 58

    # 535 count= 59

    # 545 count= 60

    # 555 count= 61

    # 565 count= 62

    # 575 count= 63

    # 585 count= 64

    # 595 count= 65

    # 605 count= 66

    # 615 count= 67

    Reference

    Smair Palnitkar, <Verilog HDL: A Guide to Digital Design and Synthesis (2nd) >

  • 相关阅读:
    基于ArcGIS10.0和Oracle10g的空间数据管理平台十一(C#开发)空间数据字段检查
    IT技术人生路之我的大学网站开发技术团队
    分布式日志收集系统: Facebook Scribe
    基于ArcGIS10.0和Oracle10g的空间数据管理平台十(C#开发)空间数据导入RDBMS上MDB格式
    IT技术人生路之我的大学初入大学及军训
    IT技术人生路之我的大学我技术方向的转变
    基于ArcGIS10.0和Oracle10g的空间数据管理平台十三(C#开发)空间数据导出
    基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)系统需求分析
    web服务
    js数据转换
  • 原文地址:https://www.cnblogs.com/halflife/p/1988209.html
Copyright © 2011-2022 走看看