Browse Subversion Repository
Contents of /trunk/Toriya/sbrom24.v
Parent Directory
| Revision Log
Revision 118 -
( show annotations)
( download)
Wed Apr 11 04:55:06 2007 UTC
(17 years, 1 month ago)
by chapuni
File size: 2098 byte(s)
「本物の鳥屋」ついに公開です。
たぶん 2005/09 頃のものです。
もしかするとあと一度ほど、改良するかもね。
| 1 |
/**********************************************************-*-verilog-*- |
| 2 |
* |
| 3 |
* DES用SBox ROM 2段 |
| 4 |
* $Id$ |
| 5 |
* |
| 6 |
*/ |
| 7 |
|
| 8 |
module sbrom24(clk5, |
| 9 |
ea, eb, lna, lnb, |
| 10 |
qa, qb); |
| 11 |
|
| 12 |
input clk5; |
| 13 |
|
| 14 |
input [0:47] ea, eb; // 拡大転置後の入力値 |
| 15 |
input [0:31] lna, lnb; // 縮小転置後のL |
| 16 |
output [0:31] qa, qb; // 出力 |
| 17 |
|
| 18 |
`include "func_des.v" |
| 19 |
|
| 20 |
// RAM に喰わすアドレスなど |
| 21 |
wire [5:0] ea1, ea2, ea3, ea4, ea5, ea6, ea7, ea8; |
| 22 |
assign {ea1, ea2, ea3, ea4, ea5, ea6, ea7, ea8} = sae(ea); |
| 23 |
|
| 24 |
wire [5:0] eb1, eb2, eb3, eb4, eb5, eb6, eb7, eb8; |
| 25 |
assign {eb1, eb2, eb3, eb4, eb5, eb6, eb7, eb8} = sae(eb); |
| 26 |
|
| 27 |
wire [3:0] la1, la2, la3, la4, la5, la6, la7, la8; |
| 28 |
assign {la1, la2, la3, la4, la5, la6, la7, la8} = lna; |
| 29 |
wire [3:0] lb1, lb2, lb3, lb4, lb5, lb6, lb7, lb8; |
| 30 |
assign {lb1, lb2, lb3, lb4, lb5, lb6, lb7, lb8} = lnb; |
| 31 |
|
| 32 |
/* |
| 33 |
* S1-S8(x4) DPROM (M4K) |
| 34 |
*/ |
| 35 |
wire [0:3] qa1, qa2, qa3, qa4, qa5, qa6, qa7, qa8; |
| 36 |
wire [0:3] qb1, qb2, qb3, qb4, qb5, qb6, qb7, qb8; |
| 37 |
s11x4 sab1(4'b0, 1'b0, {ea1, la1}, 4'b0, {eb1, lb1}, 1'b0, clk5, qa1, qb1); |
| 38 |
//exemplar attribute sab1 NOOPT TRUE |
| 39 |
s22x4 sab2(4'b0, 1'b0, {ea2, la2}, 4'b0, {eb2, lb2}, 1'b0, clk5, qa2, qb2); |
| 40 |
//exemplar attribute sab2 NOOPT TRUE |
| 41 |
s33x4 sab3(4'b0, 1'b0, {ea3, la3}, 4'b0, {eb3, lb3}, 1'b0, clk5, qa3, qb3); |
| 42 |
//exemplar attribute sab3 NOOPT TRUE |
| 43 |
s44x4 sab4(4'b0, 1'b0, {ea4, la4}, 4'b0, {eb4, lb4}, 1'b0, clk5, qa4, qb4); |
| 44 |
//exemplar attribute sab4 NOOPT TRUE |
| 45 |
s55x4 sab5(4'b0, 1'b0, {ea5, la5}, 4'b0, {eb5, lb5}, 1'b0, clk5, qa5, qb5); |
| 46 |
//exemplar attribute sab5 NOOPT TRUE |
| 47 |
s66x4 sab6(4'b0, 1'b0, {ea6, la6}, 4'b0, {eb6, lb6}, 1'b0, clk5, qa6, qb6); |
| 48 |
//exemplar attribute sab6 NOOPT TRUE |
| 49 |
s77x4 sab7(4'b0, 1'b0, {ea7, la7}, 4'b0, {eb7, lb7}, 1'b0, clk5, qa7, qb7); |
| 50 |
//exemplar attribute sab7 NOOPT TRUE |
| 51 |
s88x4 sab8(4'b0, 1'b0, {ea8, la8}, 4'b0, {eb8, lb8}, 1'b0, clk5, qa8, qb8); |
| 52 |
//exemplar attribute sab8 NOOPT TRUE |
| 53 |
|
| 54 |
/* |
| 55 |
* 出力結果MUX |
| 56 |
*/ |
| 57 |
assign qa = {qa1, qa2, qa3, qa4, qa5, qa6, qa7, qa8}; |
| 58 |
assign qb = {qb1, qb2, qb3, qb4, qb5, qb6, qb7, qb8}; |
| 59 |
|
| 60 |
endmodule |
| 61 |
|
| 62 |
/* |
| 63 |
* Local variables: |
| 64 |
* tab-width: 4 |
| 65 |
* End: |
| 66 |
*/ |
Properties
| svn:eol-style |
native
|
| svn:keywords |
Author Date Id Rev URL
|
| |