Develop and Download Open Source Software

Browse Subversion Repository

Contents of /trunk/Toriya/cmp10.v

Parent Directory Parent Directory | Revision Log Revision Log


Revision 118 - (show annotations) (download)
Wed Apr 11 04:55:06 2007 UTC (17 years, 1 month ago) by chapuni
File size: 1472 byte(s)
「本物の鳥屋」ついに公開です。
たぶん 2005/09 頃のものです。
もしかするとあと一度ほど、改良するかもね。
1 /**********************************************************-*-verilog-*-
2 *
3 * マスクつき比較スロット
4 * 元々は comparator.v という名前だった
5 *
6 * $Id$
7 *
8 */
9
10 module cmp10(regclk, rst,
11 blk,
12 matched,
13 wen, txd);
14 input regclk;
15 input rst;
16
17 input [0:65] blk;
18 output matched;
19
20 input wen; // 書き込みパルス
21 input [7:0] txd; // レジスタにセットされてる値
22
23 // 比較テキストのレジスタ
24 reg [0:65] txt;
25 reg [0:10] msk;
26
27 // この比較器は、キャラクタごとに一致マスクを持つ。
28 wire [6:0] rtxd;
29 assign rtxd = {txd[7], txd[5:0]};
30
31 always @(posedge regclk or posedge rst)
32 if (rst)
33 begin
34 // 初期状態では、幻の文字列をセットしておく
35 txt <= 66'b0; // 神のパターンを設定したいね。
36 msk <= 11'b0_1111111111;
37 end
38 else
39 begin
40 // レジスタのセット
41 if (wen)
42 begin
43 txt <= {txt[6:65], txd[5:0]};
44 msk <= {msk[1:10], txd[7]};
45 end
46 end
47
48 assign matched = (( !msk[ 1] || txt[ 6:11] == blk[ 6:11])
49 && (!msk[ 2] || txt[12:17] == blk[12:17])
50 && (!msk[ 3] || txt[18:23] == blk[18:23])
51 && (!msk[ 4] || txt[24:29] == blk[24:29])
52 && (!msk[ 5] || txt[30:35] == blk[30:35])
53 && (!msk[ 6] || txt[36:41] == blk[36:41])
54 && (!msk[ 7] || txt[42:47] == blk[42:47])
55 && (!msk[ 8] || txt[48:53] == blk[48:53])
56 && (!msk[ 9] || txt[54:59] == blk[54:59])
57 && (!msk[10] || txt[60:63] == blk[60:63]));
58 endmodule
59
60 /*
61 * Local variables:
62 * tab-width: 4
63 * End:
64 */

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Rev URL

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26