zoukankan      html  css  js  c++  java
  • memory bist lib

     1 model NVIC_REG6T_1024x32(resetb,margin,clk,en,we,addr,d,q)
     2 (
     3      bist_definition(
     4            clock     clk    high;
     5            chip_enable   en    low;
     6            write_enable   we   high;
     7            data_in      d(array=31:0;);
     8            data_out    q(array=31:0;);
     9            address      addr(array=9:0;);
    10 
    11 
    12           dont_touch  margin(array=1:0;)high;
    13           dont_touch   resetb low;
    14 
    15           tech = smic11;
    16           vendor = mentor;
    17           version="1.0";
    18           message= "synchrous single port sram";
    19           
    20           address_size = 10;
    21           min_address = 0;
    22           max_address = 32;
    23          
    24           read_write_port(
    25                read_cycle(
    26                    change addr;
    27                    wait;
    28                    wait;
    29                    expect q;
    30                    wait; 
    31                 )
    32                write_cycle(
    33                     change addr;
    34                     change d;
    35                     wait ;
    36                     assert we;
    37                     wait;
    38                     wait;  
    39                   )
    40 
    41            )
    42   
    43       )
    44 
    45 )

    写model中,write/read timing 紧凑,很重要,比较难。有的memory model 含有sw(subword) write enable项,tessent工具可以很好的支持,另外UDA可以实现sw部分为0/1。

    以上是SRAM 的model,下面是ROM 的model 模板

     1 model NVIC_ROM_1024x32(resetb,margin,clk,en,addr,q)
     2 (
     3     bist_definition(
     4             clock  clk  high ;
     5             chip_enable en low;
     6             data_out      q(array=31:0;);
     7             address    addr(array=9:0;);
     8          
     9              dont_touch       margin high;
    10              dont_touch       resetb  low;
    11 
    12              tech = smic11;
    13              vendor = mentor;
    14              version = "1.0";
    15              message = "synchronous single port sram";
    16               
    17              address_size = 10;
    18              min_address = 0;
    19              max_address = 1023;
    20              data_size = 32;
    21 
    22               read_port(
    23                    read_cycle(
    24                        change addr;
    25                        wait;
    26                        expect q;
    27                        wait;
    28                     )
    29                )
    30 
    31       )
    32 
    33 
    34 
    35 
    36 
    37 
    38 
    39 
    40 )
  • 相关阅读:
    原生JS---2
    PHP中include和require绝对路径、相对路径问题
    魔方(小玩具)
    html5技术介绍
    苹果电脑 快捷键
    写代码的心得,怎么减少编程中的 bug?
    http状态代码含义表
    开源项目
    蓝牙 CoreBluetooth
    减小iOS应用程序的大小
  • 原文地址:https://www.cnblogs.com/chip/p/5146597.html
Copyright © 2011-2022 走看看