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

Subversion Repositories myblaze

[/] [myblaze/] [trunk/] [rtl/] [dsram.py] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 rockee
# -*- coding: utf-8 -*-
2
"""
3
    dsram.py
4
    ========
5
 
6
    Dual port synchronous ram
7
 
8 5 rockee
    :copyright: Copyright (c) 2010 Jian Luo
9
    :author-email: jian.luo.cn(at_)gmail.com
10
    :license: LGPL, see LICENSE for details
11 2 rockee
    :revision: $Id: dsram.py 6 2010-11-21 23:18:44Z rockee $
12
"""
13
 
14
from myhdl import *
15
from defines import *
16
from functions import *
17
 
18
def DSRAM(dat_o, adr_i, ena_i, dat_w_i, adr_w_i, wre_i, clock,
19
           width=32, size=8):
20
    """
21
    Dual port synchronous RAM with New Data Read-During-Write Behavior
22
    """
23
    ram = [Signal(intbv(0)[width:]) for i in range(2**size)]
24
    @always(clock.posedge)
25
    def logic():
26
        if ena_i:
27
            if wre_i:
28
                ram[int(adr_w_i)].next = dat_w_i
29
            dat_o.next = ram[int(adr_i)]
30
 
31
    return instances()
32
 
33
### EOF ###
34
# vim:smarttab:sts=4:ts=4:sw=4:et:ai:tw=80:
35
 

powered by: WebSVN 2.1.0

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