OpenCores
URL https://opencores.org/ocsvn/socgen/socgen/trunk

Subversion Repositories socgen

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /socgen/trunk/common/opencores.org/cde/ip/sram/doc
    from Rev 131 to Rev 133
    Reverse comparison

Rev 131 → Rev 133

/Geda/html/cde_sram_byte.html
0,0 → 1,215
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
<title>start</title>
<meta name="GENERATOR" content="OpenOffice.org 3.0 (Linux)">
<meta name="CREATED" content="0;0">
<meta name="CHANGED" content="20090513;8521600">
<meta name="KEYWORDS" content="start">
<meta name="Info 3" content="">
<meta name="Info 4" content="">
<meta name="date" content="2008-01-08T12:01:41-0500">
<meta name="robots" content="index,follow">
</head>
<body dir="ltr" lang="en-US">
<h1><a name="cde_sram_byte"></a>SOCGEN Datasheet:<br>
</h1>
<div id="toc__inside" dir="ltr">
<ul>
<li>
<p style="margin-bottom: 0in;"><a href="#cde_sram_byte">cde_sram_byte<br>
</a></p>
<br>
<br>
<br>
<li>
<p><a href="../src/cde_sram_byte.v">SourceCode <br>
</a></p>
</li>
<li>
<p style="margin-bottom: 0in;"><a href="#Parameters">Parameters<br>
</a></p>
</li>
<li>
<p style="margin-bottom: 0in;"><a href="#Interface">Interface<br>
</a></p>
</li>
<li>
<p style="margin-bottom: 0in;"><a href="#Children">Children<br>
</a></p>
</li>
<li>
<p><a href="../../html/cde_sram_byte.html#TheoryofOperation">Theory of Operation<br>
</a></p>
</li>
</ul>
</li>
</ul>
</div>
<img style="width: 603px; height: 278px;" alt="" src="../png/cde_sram_byte_sym.png"><br>
<b><br>
<h2><b><a name="Parameters"></a>Parameters<br></b></h2>
<b><br>
<br>
</b>
<table style="text-align: left; width: 640px; height: 120px;" border="8" cellpadding="4" cellspacing="4">
<tbody>
<tr>
<td style="vertical-align: top;">Name<br> </td>
<td style="vertical-align: top;">default <br> </td>
<td style="vertical-align: top;">Description<br></td>
</tr>
<tr>
<td style="vertical-align: top;">ADDR<br> </td>
<td style="vertical-align: top;">0<br> </td>
<td style="vertical-align: top;">Number of address bits<br></td>
</tr>
 
<tr>
<td style="vertical-align: top;">WORDS<br> </td>
<td style="vertical-align: top;">0<br> </td>
<td style="vertical-align: top;">Number of memory words. Must be fully addressable by ADDR address bits<br></td>
</tr>
 
<tr>
<td style="vertical-align: top;">WRITETHRU<br> </td>
<td style="vertical-align: top;">0<br> </td>
<td style="vertical-align: top;">If a read and write occur to the same address on the same cycle then 0 reads old data while 1 reads new<br></td>
</tr>
 
<tr>
<td style="vertical-align: top;">DEFAULT<br> </td>
<td style="vertical-align: top;">{8'bxxxxxxxx}<br> </td>
<td style="vertical-align: top;">Output read value if cs and rd are not both active <br></td>
</tr>
 
</tbody>
</table>
<p><b><b><br>
</b></b></p>
<p><br>
</p>
<p><b><b><br>
</b></b></p>
<p><b><b><br>
<br>
</b></b></p>
<h2><b><b><a name="Interface"></a>Interface</b><b>&nbsp;<br>
</b></b></h2>
<p style="margin-bottom: 0in;"></p>
<br>
<br>
<br>
<table style="text-align: left; width: 640px; height: 120px;" border="8"
cellpadding="4" cellspacing="4">
<tbody>
<tr>
<td style="vertical-align: top;">NAME<br> </td>
<td style="vertical-align: top;">Type<br> </td>
<td style="vertical-align: top;">Description<br> </td>
</tr>
<tr>
<td style="vertical-align: top;">addr[ADDR-1:0 ]<br> </td>
<td style="vertical-align: top;">input<br> </td>
<td style="vertical-align: top;">Memory address bits<br> </td>
</tr>
 
<tr>
<td style="vertical-align: top;">be<br> </td>
<td style="vertical-align: top;">input<br> </td>
<td style="vertical-align: top;">Active high byte enable<br> </td>
</tr>
 
<tr>
<td style="vertical-align: top;">clk<br> </td>
<td style="vertical-align: top;">input<br> </td>
<td style="vertical-align: top;">Active high clock<br> </td>
</tr>
 
<tr>
<td style="vertical-align: top;">cs<br> </td>
<td style="vertical-align: top;">input<br> </td>
<td style="vertical-align: top;">Active high chip select<br> </td>
</tr>
 
<tr>
<td style="vertical-align: top;">rd<br> </td>
<td style="vertical-align: top;">input<br> </td>
<td style="vertical-align: top;">Active high read enable<br> </td>
</tr>
 
<tr>
<td style="vertical-align: top;">rdata[7:0 ]<br> </td>
<td style="vertical-align: top;">output<br> </td>
<td style="vertical-align: top;">read data out<br> </td>
</tr>
 
<tr>
<td style="vertical-align: top;">wdata[7:0 ]<br> </td>
<td style="vertical-align: top;">input<br> </td>
<td style="vertical-align: top;">write data in<br> </td>
</tr>
 
<tr>
<td style="vertical-align: top;">wr<br> </td>
<td style="vertical-align: top;">input<br> </td>
<td style="vertical-align: top;">Active high write enable<br> </td>
</tr>
 
</tbody>
</table>
<p><b><b><br>
</b></b></p>
<h2><b><a name="Children"></a>Children<br></b></h2>
<b><br>
</b>
<table style="text-align: left; width: 640px; height: 120px;" border="8" cellpadding="4" cellspacing="4">
<tbody>
<tr>
<td style="vertical-align: top;">Instance<br> </td>
<td style="vertical-align: top;">Vendor<br> </td>
<td style="vertical-align: top;">Library<br></td>
<td style="vertical-align: top;">Component<br></td>
<td style="vertical-align: top;">Version<br></td>
</tr>
</tbody>
</table>
<p><b><b><br>
</b></b></p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<img style="width: 603px; height: 278px;" alt="" src="../png/cde_sram_byte_sch.png"><br>
<b><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>
/Geda/src/cde_sram_byte.v
0,0 → 1,81
/**********************************************************************/
/* */
/* */
/* Copyright (c) 2012-2015 Ouabache Design Works */
/* */
/* All Rights Reserved Worldwide */
/* */
/* Licensed under the Apache License,Version2.0 (the'License'); */
/* you may not use this file except in compliance with the License. */
/* You may obtain a copy of the License at */
/* */
/* http://www.apache.org/licenses/LICENSE-2.0 */
/* */
/* Unless required by applicable law or agreed to in */
/* writing, software distributed under the License is */
/* distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES */
/* OR CONDITIONS OF ANY KIND, either express or implied. */
/* See the License for the specific language governing */
/* permissions and limitations under the License. */
/**********************************************************************/
module
cde_sram_byte
#( parameter
ADDR=10,
WORDS=1024,
WRITETHRU=0,
DEFAULT=8'bxxxxxxxx
)
(
 
input wire clk,
input wire cs,
input wire rd,
input wire wr,
input wire be,
input wire [ ADDR-1 : 0] addr,
input wire [ 7 : 0] wdata,
output reg [ 7 : 0] rdata);
// Memory Array
reg [7:0] mem[0:WORDS-1];
 
initial
begin
$display("SRAM byte %m.mem");
$display(" AddrBits=%d DataBits = 8 Words = %d ",ADDR,WORDS);
end
 
// Write function
always@(posedge clk)
if( wr && cs && be ) mem[addr[ADDR-1:0]] <= wdata[7:0];
generate
if( WRITETHRU)
begin
// Read function gets new data if also a write cycle
// latch the read addr for next cycle
reg [ADDR-1:0] l_raddr;
reg l_cycle;
 
always@(posedge clk)
begin
l_raddr <= addr;
l_cycle <= rd && cs ;
end
 
 
// Read into a wire and then pass to rdata because some synth tools can't handle a memory in a always block
wire [7:0] tmp_rdata;
assign tmp_rdata = (l_cycle )?mem[{l_raddr[ADDR-1:0]}]:DEFAULT;
always@(*) rdata = tmp_rdata;
end
else
begin
// Read function gets old data if also a write cycle
always@(posedge clk)
if( rd && cs ) rdata <= mem[{addr[ADDR-1:0]}];
else rdata <= DEFAULT;
end
endgenerate
endmodule
/Geda/sym/cde_sram_byte.sym
0,0 → 1,62
v 20100214 1
B 300 0 2800 1700 3 60 0 0 -1 -1 0 -1 -1 -1 -1 -1
T 400 1850 5 10 1 1 0 0 1 1
device=cde_sram_byte
T 400 2050 8 10 1 1 0 0 1 1
refdes=U?
P 300 200 0 200 10 1 1
{
T 400 200 5 10 1 1 0 1 1 1
pinnumber=wdata[7:0]
T 400 200 5 10 0 1 0 1 1 1
pinseq=1
}
P 300 400 0 400 10 1 1
{
T 400 400 5 10 1 1 0 1 1 1
pinnumber=addr[ADDR-1:0]
T 400 400 5 10 0 1 0 1 1 1
pinseq=2
}
P 300 600 0 600 4 0 1
{
T 400 600 5 10 1 1 0 1 1 1
pinnumber=wr
T 400 600 5 10 0 1 0 1 1 1
pinseq=3
}
P 300 800 0 800 4 0 1
{
T 400 800 5 10 1 1 0 1 1 1
pinnumber=rd
T 400 800 5 10 0 1 0 1 1 1
pinseq=4
}
P 300 1000 0 1000 4 0 1
{
T 400 1000 5 10 1 1 0 1 1 1
pinnumber=cs
T 400 1000 5 10 0 1 0 1 1 1
pinseq=5
}
P 300 1200 0 1200 4 0 1
{
T 400 1200 5 10 1 1 0 1 1 1
pinnumber=clk
T 400 1200 5 10 0 1 0 1 1 1
pinseq=6
}
P 300 1400 0 1400 4 0 1
{
T 400 1400 5 10 1 1 0 1 1 1
pinnumber=be
T 400 1400 5 10 0 1 0 1 1 1
pinseq=7
}
P 3100 200 3400 200 10 1 1
{
T 3000 200 5 10 1 1 0 7 1 1
pinnumber=rdata[7:0]
T 3000 200 5 10 0 1 0 7 1 1
pinseq=8
}
/Geda/sch/cde_sram_byte.sch
0,0 → 1,41
v 20100214 1
C 1600 300 1 0 0 in_port_v.sym
{
T 1600 300 5 10 1 1 0 6 1 1
refdes=wdata[7:0]
}
C 1600 700 1 0 0 in_port_v.sym
{
T 1600 700 5 10 1 1 0 6 1 1
refdes=addr[ADDR-1:0]
}
C 1600 1100 1 0 0 in_port.sym
{
T 1600 1100 5 10 1 1 0 6 1 1
refdes=wr
}
C 1600 1500 1 0 0 in_port.sym
{
T 1600 1500 5 10 1 1 0 6 1 1
refdes=rd
}
C 1600 1900 1 0 0 in_port.sym
{
T 1600 1900 5 10 1 1 0 6 1 1
refdes=cs
}
C 1600 2300 1 0 0 in_port.sym
{
T 1600 2300 5 10 1 1 0 6 1 1
refdes=clk
}
C 1600 2700 1 0 0 in_port.sym
{
T 1600 2700 5 10 1 1 0 6 1 1
refdes=be
}
C 3900 300 1 0 0 out_port_v.sym
{
T 4900 300 5 10 1 1 0 0 1 1
refdes=rdata[7:0]
}
/html/cde_sram_byte.html
0,0 → 1,111
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
<title>start</title>
<meta name="GENERATOR" content="OpenOffice.org 3.0 (Linux)">
<meta name="CREATED" content="0;0">
<meta name="CHANGED" content="20090513;8521600">
<meta name="KEYWORDS" content="start">
<meta name="Info 3" content="">
<meta name="Info 4" content="">
<meta name="date" content="2008-01-08T12:01:41-0500">
<meta name="robots" content="index,follow">
</head>
<body dir="ltr" lang="en-US">
<h1><a name="Datasheet"></a>SOCGEN Datasheet:<br>
</h1>
<div id="toc__inside" dir="ltr">
<ul>
<li>
<ul>
<li>
<p style="margin-bottom: 0in;"><a href="#TheoryofOperation">Theory of Operation<br>
</a></p>
</li>
</ul>
</li>
</ul>
</div>
<br>
<h2><b><a name="TheoryofOperation"></a>Theory of Operation<br></b></h2>
Add description of how it works<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>
html/cde_sram_byte.html Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.