Browse Subversion Repository
Contents of /trunk/Toriya/leddrv4.v
Parent Directory
| Revision Log
Revision 118 -
( show annotations)
( download)
Wed Apr 11 04:55:06 2007 UTC
(17 years ago)
by chapuni
File size: 1641 byte(s)
「本物の鳥屋」ついに公開です。
たぶん 2005/09 頃のものです。
もしかするとあと一度ほど、改良するかもね。
| 1 |
/**********************************************************-*-verilog-*- |
| 2 |
* |
| 3 |
* 7seg専用 LED ドライバ |
| 4 |
* $Id$ |
| 5 |
* |
| 6 |
*/ |
| 7 |
|
| 8 |
module leddrv4(clk, rst, |
| 9 |
db, oe, |
| 10 |
n0, n1, n2, n3, |
| 11 |
d0, d1, d2, d3); |
| 12 |
input clk; // 300Hz あたりを与えるとよい |
| 13 |
input rst; |
| 14 |
output [7:0] db; |
| 15 |
output [4:0] oe; |
| 16 |
input [3:0] n0, n1, n2, n3; // 7-seg LED (to be encoded) |
| 17 |
input d0, d1, d2, d3; // 7-seg LED dot |
| 18 |
|
| 19 |
// 出力制御 |
| 20 |
reg [4:0] oe; |
| 21 |
|
| 22 |
// エンコード前のもの |
| 23 |
reg [4:0] n; |
| 24 |
|
| 25 |
// ステート |
| 26 |
reg [1:0] st; |
| 27 |
|
| 28 |
assign db = {~n[4], encode(n[3:0])}; |
| 29 |
|
| 30 |
always @(posedge clk or posedge rst) |
| 31 |
if (rst) |
| 32 |
begin |
| 33 |
oe <= 5'b00000; |
| 34 |
st <= 0; |
| 35 |
end |
| 36 |
else |
| 37 |
case (st) |
| 38 |
0: |
| 39 |
begin |
| 40 |
oe <= 5'b11110; |
| 41 |
n <= {d0, n0}; |
| 42 |
st <= 1; |
| 43 |
end |
| 44 |
1: |
| 45 |
begin |
| 46 |
oe <= 5'b11101; |
| 47 |
n <= {d1, n1}; |
| 48 |
st <= 2; |
| 49 |
end |
| 50 |
2: |
| 51 |
begin |
| 52 |
oe <= 5'b11011; |
| 53 |
n <= {d2, n2}; |
| 54 |
st <= 3; |
| 55 |
end |
| 56 |
3: |
| 57 |
begin |
| 58 |
oe <= 5'b10111; |
| 59 |
n <= {d3, n3}; |
| 60 |
st <= 0; |
| 61 |
end |
| 62 |
endcase |
| 63 |
|
| 64 |
// 7-LED Encoder |
| 65 |
function [6:0] encode; |
| 66 |
input [3:0] n; |
| 67 |
case (n) |
| 68 |
4'h0: encode = 7'b1000000; |
| 69 |
4'h1: encode = 7'b1111001; |
| 70 |
4'h2: encode = 7'b0100100; |
| 71 |
4'h3: encode = 7'b0110000; |
| 72 |
|
| 73 |
4'h4: encode = 7'b0011001; |
| 74 |
4'h5: encode = 7'b0010010; |
| 75 |
4'h6: encode = 7'b0000010; |
| 76 |
4'h7: encode = 7'b1011000; |
| 77 |
|
| 78 |
4'h8: encode = 7'b0000000; |
| 79 |
4'h9: encode = 7'b0010000; |
| 80 |
4'hA: encode = 7'b0001000; |
| 81 |
4'hB: encode = 7'b0000011; |
| 82 |
|
| 83 |
4'hC: encode = 7'b0100111; |
| 84 |
4'hD: encode = 7'b0100001; |
| 85 |
4'hE: encode = 7'b0000110; |
| 86 |
4'hF: encode = 7'b0001110; |
| 87 |
endcase |
| 88 |
endfunction |
| 89 |
|
| 90 |
endmodule // leddrv4 |
| 91 |
|
| 92 |
/* |
| 93 |
* Local variables: |
| 94 |
* tab-width: 4 |
| 95 |
* End: |
| 96 |
*/ |
Properties
| svn:eol-style |
native
|
| svn:keywords |
Author Date Id Rev URL
|
| |