DE2 实验练习解答—lab 1(Digital Logic)(DE2)(Quartus II)(2)

2019-04-14 16:37

50

51//Last Multiplexer 52

53assign M[0] = (~S[2]&m2[0])|(S[2]&Y[0]); 54

55assign M[1] = (~S[2]&m2[1])|(S[2]&Y[1]); 56

57assign M[2] = (~S[2]&m2[2])|(S[2]&Y[2]); 58

59endmodule 60 61

part IV:设计一个7segment 显示“HELLO”

这部分要求用一个7segment显示H、E、L、O。需要注意DE2上的七段码数码管是共阴极,对应的真值表见表 1 7-segment 译码真值表: c2c1c0 000 001 010 011 100 101 110 111 表1 7-segment 译码真值表

表达式化简,用卡诺图,比如seg[6](上表7-segment的最右边的一列),化简过程如下图所示:

character H E L O blank 7_segment 1001000 0110000 1110001 0000001 1111111

Part IV:代码

1/* 2

3(C) yf.x 2010 http://halflife.cnblogs.com/ 4

5Filename : part4.v 6

7Compiler : Quartus II 9.1 Web Edition 8

9Description : Demo how to use 7segment display 10

11Release : 03/12/2010 1.0 12 13 */ 14

15//use a 7segment display H、E、L、O 16

17module part4(SW,LEDR,HEX0); 18

19input [2:0] SW; 20

21output [2:0] LEDR; 22

23output [0:6] HEX0; 24

25assign LEDR=SW; 26

27//Seven Segment Decoder for \28

29assign HEX0[0] = SW[2]|~SW[0]; 30

31 assign HEX0[1]=SW[2]|(SW[1]&~SW[0])|(~SW[1]&SW[0]); 32

33 assign HEX0[2]=SW[2]|(SW[1]&~SW[0])|(~SW[1]&SW[0]); 34

35assign HEX0[3] = SW[2]|(~SW[1]&~SW[0]); 36

37assign HEX0[4] = SW[2]; 38

39assign HEX0[5] = SW[2]; 40

41assign HEX0[6] = SW[2]|SW[1]; 42

43endmodule 44 45

注:因为要求用连续赋值语句和布尔逻辑实现,对于七段码的每一段的表达式都可以根据真值表先化简(当然综合工具会自动化简,但是如果考综合工具化简,每个表达式就会很长)。化简就会用到我们学过的卡诺图图(以前一直觉得卡诺图用不上L)。

Part V:用5个7segment循环显示HELLO

这部分要求用5个数码管循环显示HELLO,涉及part III和part IV的引用。5个数码管循环显示如图2.

图 2 数码管循环显示HELLO

Part V 代码:

1/* 2

3(C) yf.x 2010 http://halflife.cnblogs.com/ 4

5Filename : part5.v 6

7Compiler : Quartus II 9.1 Web Edition 8

9Description : Demo how to rotating display 10

11Release : 03/12/2010 1.0 12 13 */ 14

15//Top level file 16

17module part5(SW,HEX4,HEX3,HEX2,HEX1,HEX0); 18

19input [17:0]SW; 20

21output [0:6] HEX4,HEX3,HEX2,HEX1,HEX0; 22

23wire [2:0] M4,M3,M2,M1,M0; 24

25 mux_3bit_5to1 N4(SW[17:15],SW[14:12],SW[11:9], 26

27SW[8:6],SW[5:3],SW[2:0],M4); 28

29 mux_3bit_5to1 N3(SW[17:15],SW[11:9],SW[8:6], 30

31SW[5:3],SW[2:0],SW[14:12],M3); 32

33 mux_3bit_5to1 N2(SW[17:15],SW[8:6],SW[5:3], 34

35SW[2:0],SW[14:12],SW[11:9],M2); 36

37 mux_3bit_5to1 N1(SW[17:15],SW[5:3],SW[2:0], 38

39SW[14:12],SW[11:9],SW[8:6],M1); 40

41 mux_3bit_5to1 N0(SW[17:15],SW[2:0],SW[14:12], 42

43SW[11:9],SW[8:6],SW[5:3],M0);

44

45 char_7seg H4(M4,HEX4); 46

47 char_7seg H3(M3,HEX3); 48

49 char_7seg H2(M2,HEX2); 50

51 char_7seg H1(M1,HEX1); 52

53 char_7seg H0(M0,HEX0); 54

55endmodule 56

57//implements a 7_segment decoder for H,E,L,O,and blank 58

59module char_7seg(c,display); 60

61input [2:0]c; 62

63output [0:6]display; 64

65//Seven Segment Decoder for \ 66

67assign display[0] = c[2]|~c[0]; 68

69assign display[1] = c[2]|(c[0]&~c[1])|(c[1]&~c[2]&~c[0]); 70

71assign display[2] = c[2]|(c[0]&~c[1])|(~c[0]&c[1]&~c[2]); 72

73assign display[3] = c[2]|(~c[1]&~c[0]); 74

75assign display[4] = c[2]; 76

77assign display[5] = c[2]; 78

79assign display[6] = c[2]|c[1]; 80

81endmodule 82

83//3BIT 5 to 1 Multiplexer Module 84

85module mux_3bit_5to1(S,U,V,W,X,Y,M); 86

87input[2:0]S,U,V,W,X,Y;


DE2 实验练习解答—lab 1(Digital Logic)(DE2)(Quartus II)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:玻璃幕墙施工组织设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: