]> rtime.felk.cvut.cz Git - fpga/virtex2/blink.git/commitdiff
+Coregen with memories used by softcore
authorVladimir Burian <buriavl2@fel.cvut.cz>
Sat, 8 Jan 2011 23:15:28 +0000 (00:15 +0100)
committerVladimir Burian <buriavl2@fel.cvut.cz>
Sat, 8 Jan 2011 23:15:28 +0000 (00:15 +0100)
19 files changed:
coregen/coregen.cgp [new file with mode: 0644]
coregen/ram_8x512.asy [new file with mode: 0644]
coregen/ram_8x512.ngc [new file with mode: 0644]
coregen/ram_8x512.sym [new file with mode: 0644]
coregen/ram_8x512.vhd [new file with mode: 0644]
coregen/ram_8x512.vho [new file with mode: 0644]
coregen/ram_8x512.xco [new file with mode: 0644]
coregen/ram_8x512_flist.txt [new file with mode: 0644]
coregen/ram_8x512_readme.txt [new file with mode: 0644]
coregen/ram_8x512_xmdf.tcl [new file with mode: 0644]
coregen/rom_8x2k.asy [new file with mode: 0644]
coregen/rom_8x2k.ngc [new file with mode: 0644]
coregen/rom_8x2k.sym [new file with mode: 0644]
coregen/rom_8x2k.vhd [new file with mode: 0644]
coregen/rom_8x2k.vho [new file with mode: 0644]
coregen/rom_8x2k.xco [new file with mode: 0644]
coregen/rom_8x2k_flist.txt [new file with mode: 0644]
coregen/rom_8x2k_readme.txt [new file with mode: 0644]
coregen/rom_8x2k_xmdf.tcl [new file with mode: 0644]

diff --git a/coregen/coregen.cgp b/coregen/coregen.cgp
new file mode 100644 (file)
index 0000000..010dcf3
--- /dev/null
@@ -0,0 +1,20 @@
+# Date: Sat Jan  8 21:37:24 2011
+SET addpads = False
+SET asysymbol = True
+SET busformat = BusFormatAngleBracketNotRipped
+SET createndf = False
+SET designentry = VHDL
+SET device = xc2v1000
+SET devicefamily = virtex2
+SET flowvendor = Foundation_iSE
+SET formalverification = False
+SET foundationsym = False
+SET implementationfiletype = Ngc
+SET package = fg456
+SET removerpms = False
+SET simulationfiles = Behavioral
+SET speedgrade = -6
+SET verilogsim = False
+SET vhdlsim = True
+SET workingdirectory = /home/vladimir/xilinx/leds_v/coregen/tmp/
+
diff --git a/coregen/ram_8x512.asy b/coregen/ram_8x512.asy
new file mode 100644 (file)
index 0000000..1d168d3
--- /dev/null
@@ -0,0 +1,27 @@
+Version 4
+SymbolType BLOCK
+RECTANGLE Normal 32 0 320 272
+PIN 0 48  LEFT 36
+PINATTR PinName addr[8:0]
+PINATTR Polarity IN
+LINE Wide 0 48 32 48
+PIN 0 80  LEFT 36
+PINATTR PinName din[7:0]
+PINATTR Polarity IN
+LINE Wide 0 80 32 80
+PIN 0 112  LEFT 36
+PINATTR PinName we
+PINATTR Polarity IN
+LINE Normal 0 112 32 112
+PIN 0 144  LEFT 36
+PINATTR PinName en
+PINATTR Polarity IN
+LINE Normal 0 144 32 144
+PIN 0 240  LEFT 36
+PINATTR PinName clk
+PINATTR Polarity IN
+LINE Normal 0 240 32 240
+PIN 352 48  RIGHT 36
+PINATTR PinName dout[7:0]
+PINATTR Polarity OUT
+LINE Wide 320 48 352 48
diff --git a/coregen/ram_8x512.ngc b/coregen/ram_8x512.ngc
new file mode 100644 (file)
index 0000000..3f79b5d
--- /dev/null
@@ -0,0 +1,3 @@
+XILINX-XDB 0.1 STUB 0.1 ASCII
+XILINX-XDM V1.4e
+$g1x52=#Zl|b\7fdaa:!3-576):9$9,)=401274>6789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123455<9':o7?x>012ec131%?;;754FNQWW>aoi4>0;2<<48;MVPUSS2me~x1950?32?<<NFY__6ljkr=:94;1<IMNY0=07;@FGV9776>1JHI\31?58EABU4;4<7LJKR=1=3>GCL[6?2:5NDEP?1;1<IMNY0;08;@FGV919?2KOH_27>69B@AT;1780N5=4BT10?GS302H^_RGAFN18GIM>3JEFADZ[EE58GWCF\LN>7IG30?78@L:66<1OE1<15:FJ86823MC783;4DH>6:0=CA5<596JF<6<5?AOW494>7IA30?78@J:66<1OC1<15:FL86823ME783;4DN>6:0=CG5<596J@<6<5?AIW49497H@>;F18CKB63@20ECG[P^23<>OIA]ZT<<64IOKWTZ6502CEEY^P02:8MKOSXV:?46GAIUR\40><AGC_\R>98:KMMQVX8>30ECG[SUCWA2=NF@^T<=94IOKW[5703@DBXR>=7:KMMQY7;>1BBDZP0558MKOSW9?<7D@FT^253>OIA]U;;:5FNHV\4=1<AGC_S=78;HLJPZ6F?2CEEYQ?B69JJLRX8J=0ECG[_1F4?LHN\V:N;6GAIU]3B2=NF@^T==94IOKW[4703@DBXR?=7:KMMQY6;>1BBDZP1558MKOSW8?<7D@FT^353>OIA]U:;:5FNHV\5=1<AGC_S<78;HLJPZ7F?2CEEYQ>B69JJLRX9J=0ECG[_0F4?LHN\V;N;6GAIU]2B2=NF@^T>=94IOKW[7703@DBXR<=7:KMMQY5;>1BBDZP2558MKOSW;?<7D@FT^053>OIA]U9;:5FNHV\6=1<AGC_S?78;HLJPZ4F?2CEEYQ=B69JJLRX:J=0ECG[_3F4?LHN\V8N;6GAIU]1B2=NF@^T?=94IOKW[6703@DBXR==7:KMMQY4;>1BBDZP3558MKOSW:?<7D@FT^153>OIA]U8;:5FNHV\7=1<AGC_S>78;HLJPZ5F?2CEEYQ<B69JJLRX;J=0ECG[_2F4?LHN\V9N;6GAIU]0B6=NF_<0@BOKEE58HJANKHFh7@oeosTfvvohfj1Feca}Vdppmjh53G:87C??3:L256=I9;90B<=<;O377>H6=:1E=;=4N050?K7?;2D:5?5A229M655<F;;87C<=3:L176=I:=90B?;<;O057>H5?:1E>5<4N218J6553G>97C;<;O727>H2=;1E:?5A739M<7=I1>1EIYY@RJ38K4=W<2ZJ^Yo4PHL\FPUNLQh0\D@PBTQMEHC>3[KFN<8PS848WJSUKL?0__XNL29PWW2<\PZNm6[\ES]BHLGTk2_XI_QYIRKAH@5<^JI27[GJW^VZT@4<_Lh0[_G[E^DJVVRf3^XBXHQBOEG2`>^ND@DS!UJM 1,2$VRRJ):%=-O\CHKa?]YDG[OTECH@119[[FIUMVCEJBQCIRV5?]beW@nm7Ujg_QpjiScu{`ee==5Wdl]Neoiu^lxxeb`>0:ZgiZKnffx]i\7f}foo58eabu 9#<7ljkr)3*3>gcl{"9%:5ndep+7,1<imny$9'8;`fgv-3.?2koh\7f&9)69b`at/? =0mij}(9+4?dbcz5:5;6okds>2:2=flmx7>394aefq86803hno~1:17:cg`w:26>1jhi|36?58eabu4>427ljkr=:94;1<imny050>b:`oohcj{yU}:R<# Bmqabci(0$9e>5llj3g?fiumnoe#yc\7f/^ad+wgjW1r>=? agn48`lh/8 <0hd`'1(48`lh/: <0hd`'3(48`lh/< <0hd`'5(48`lh/> <0hd`'7(48`lh;87<0hd`31?48`lh;:7<0hd`33?48`lh;<7<0hd`35?48`lh;>720hd`37;2=2>bnf5=5;6j`uu*3-2=cg|~#=$94dnww,7/03me~x%=&7:flqq.3!>1ocxz'5(58`jss ?#<7iazt)5*3>bh}}6;2:5kotv?5;1<lf\7f\7f0?08;emvp959?2ndyy2;>69gkpr;=7=0hb{{<7<:?air|5=1<394dnww828?3lnbj?`hd39fj==iojh~eaj6;scn[=~29;80{hsO@q;2?EF\7fkk0M694>{R3:>`c=;3;8>il>c;16`5g|fk>1=6`m5;68 g4=io1v_<65ed80>455lk;h6>;k0`9P3d<a83:1=><kb0a970b7j2Y:47h?:18277be9j089i>m;ed2>5<628qX=44je;19564cj8i1?8j?a:&a4?e>3\7f^j87>51;395c}T900ni7=5120gf4e=;<n;m6*nb;5a?Sd42;q~;n4>;t5g>5=z,h:186li1;295f<228lpDl74Z0497~0==3=1q)o8:g38 g6=k01Qn<4>{b;9ylca2900eno50;9la1<72-k96hm4n`394>=hm:0;6)o=:da8jd7=921di?4?:%c1>`e<fh;1>65`e083>!g52li0bl?53:9la5<72-k96hm4n`390>=hlo0;6)o=:da8jd7==21dhh4?:%c1>`e<fh;1:65`de83>!g52li0bl?57:9j`6<72-k96il4n`394>=nl;0;6)o=:e`8jd7=921bh<4?:%c1>ad<fh;1>65fd183>!g52mh0bl?53:9jgc<72-k96il4n`390>=nkl0;6)o=:e`8jd7==21boi4?:%c1>ad<fh;1:65fcb83>!g52mh0bl?57:9jb7<722cii7>5$`09g2=ii80;76gmd;29 d4=k>1em<4>;:kag?6=,h81o:5aa081?>oej3:1(l<5c69me4<432cim7>5$`09g2=ii80?76gm9;29 d4=k>1em<4:;:ka<?6=,h81o:5aa085?>oe?3:1(l<5c69me4<032ci:7>5$`09g2=ii80376lna;295?6=8rBj56*n7;cb?j?a2900qo<j:182>5<7sAk27)o8:3g8k7b=831vn<:50;094?6|@h30(l95789j6c<722e2i7>5;|`21?6=:3:1<vFn9:&b3?1>3`8m6=44o8g94?=zj891<7<>:183\7fMg>3-k<6l=4$2;96>"4i380(>l52:&0g?4<,:n1>6*<e;08 6`=:2.?<7<4$5396>"3:380(9=52:&70?4<,=?1>6*;6;08 11=:2.?47<4$5;96>"3i380(9l52:&7g?4<,=n1>6*;e;08 1`=:2.><7<4$4396>"2:380(8=52:&60?4<,<?1>6*:6;08 01=:2.>47<4$4;96>"2i380(8l52:&6g?4<,<n1>6*:e;08 0`=:2.=<7<4$7396>"1:380(;=52:&50?4<,??1>6*96;08 31=:2.=47<4$7;96>"1i380(;l52:&5g?4<,?n1>6*9e;08 3`=:2.<<7<4$6396>"0:380(:=52:&40?4<,>?1>6*86;08 21=:2.<47<4$2296>"49380(><52:&07?4<,:>1>6*<5;08 60=:2.8;7<4$`g9ea=#;10:7)o::09j5d<722c:n7>5;h;94?=n9j0;66g>d;29?l7b2900e<h50;9j65<722c9o7>5;h02>5<<g;h1<75f8;29?l702900el4?::ka>5<<g;91<75fc;29?j432900ei4?::m11?6=3`o1<75`2783>>oa2900c?950;9j55<722cjo7>5;n0;>5<<a8;1<75`2883>>o6:3:17b<n:188m74=831bm;4?::\7fp3`<72<q6>h4=d:?27?g134;86<<4=019=>;6;3897p}l8;296~Xem27:?7?>;%c;>=?<uzi=6=4={_`g?87428:0(l65929~wf3=838pRom4=019b>"f033>7p}l4;296~Xej27:?7k4$`:9=3=z{j91<7<t^cc8945=l2.j4776;|q`6?6=:rTi563>3;a8 d>=1h1v\7fn?50;0xZg><5891n6*n8;;a?xud83:1>vPm7:?27?g<,h215n5rscd94?4|Vk<01<=58:&b<?1a3tyhm7>52z\`e>;6;3;<7)o7:928yvbd2909wSj<;<30>77<,h214<5rsec94?4|Vm801<=5219'e=<?:2wxh44?:3y]`4=:9:0:j6*n8;:0?xuc03:1>vPk0:?27?7b3-k365:4}rf4>5<5sWim70?<:0f8 d>=0<1v\7fi850;0xZfc<5891=n5+a98;2>{tl<0;6?uQce9>56<6j2.j4768;|qg0?6=:rTho63>3;3b?!g?2120q~kk:181\7f[c334;86?o4$`:9<d=z{lh1<7<t^d18945=:01/m547b:\7fpad<72;qUi?521281<>"f032h7p}j9;296~Xb927:?7<8;%c;>=b<uzo36=4={_g3?8742;<0(l658d9~w`1=838pRih4=01960=#i103j6s|e783>7}Yll16=>4=4:&b<??73tyn97>52z\g`>;6;3887)o7:838yvca2909wSki;<37>7`<,h215?5rsg094?4|Vo801<;52g9'e=<><2wx5:4?:3y>51<>m27:?7<l;|q:<?6=:r7:977j;<30>de<utd>?7>51zJb=>{i==0;6<uGa89~j03=83;pDl74}o75>5<6sAk27p`:7;295~Nf12we954?:0yKe<=zf<31<7?tH`;8yk3f290:wEo6;|l6f?6=9rBj56sa5b83>4}Oi01vb8j50;3xLd?<ug?n6=4>{Ic:?xh2n3:1=vFn9:\7fm25<728qCm45rn7394?7|@h30qc8=:182\7fMg>3td=?7>51zJb=>{i>=0;6<uGa89~j33=83;pDl74}o45>5<6sAk27p`97;295~Nf12we:54?:0yKe<=zf?31<7?tH`;8yk0f290:wEo6;|l5f?6=9rBj56sa6b83>4}Oi01vb;j50;3xLd?<ug<n6=4>{Ic:?xh1n3:1=vFn9:\7fm35<728qCm45rn6394?7|@h30qpsr@AAx=4<fmlo=mnkr@A@x4xFGXrwKL
\ No newline at end of file
diff --git a/coregen/ram_8x512.sym b/coregen/ram_8x512.sym
new file mode 100644 (file)
index 0000000..8a5ac71
--- /dev/null
@@ -0,0 +1,40 @@
+VERSION 5
+BEGIN SYMBOL ram_8x512
+SYMBOLTYPE BLOCK
+TIMESTAMP 2011 1 8 22 4 20
+SYMPIN 0 48 Input addr[8:0]
+SYMPIN 0 80 Input din[7:0]
+SYMPIN 0 112 Input we
+SYMPIN 0 144 Input en
+SYMPIN 0 240 Input clk
+SYMPIN 352 48 Output dout[7:0]
+RECTANGLE N 32 0 320 272 
+BEGIN DISPLAY 36 48 PIN addr[8:0] ATTR PinName
+    FONT 24 "Arial"
+END DISPLAY
+BEGIN LINE W 0 48 32 48 
+END LINE
+BEGIN DISPLAY 36 80 PIN din[7:0] ATTR PinName
+    FONT 24 "Arial"
+END DISPLAY
+BEGIN LINE W 0 80 32 80 
+END LINE
+BEGIN DISPLAY 36 112 PIN we ATTR PinName
+    FONT 24 "Arial"
+END DISPLAY
+LINE N 0 112 32 112 
+BEGIN DISPLAY 36 144 PIN en ATTR PinName
+    FONT 24 "Arial"
+END DISPLAY
+LINE N 0 144 32 144 
+BEGIN DISPLAY 36 240 PIN clk ATTR PinName
+    FONT 24 "Arial"
+END DISPLAY
+LINE N 0 240 32 240 
+BEGIN DISPLAY 316 48 PIN dout[7:0] ATTR PinName
+    ALIGNMENT RIGHT
+    FONT 24 "Arial"
+END DISPLAY
+BEGIN LINE W 320 48 352 48 
+END LINE
+END SYMBOL
diff --git a/coregen/ram_8x512.vhd b/coregen/ram_8x512.vhd
new file mode 100644 (file)
index 0000000..f141fb1
--- /dev/null
@@ -0,0 +1,113 @@
+--------------------------------------------------------------------------------
+--     This file is owned and controlled by Xilinx and must be used           --
+--     solely for design, simulation, implementation and creation of          --
+--     design files limited to Xilinx devices or technologies. Use            --
+--     with non-Xilinx devices or technologies is expressly prohibited        --
+--     and immediately terminates your license.                               --
+--                                                                            --
+--     XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"          --
+--     SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR                --
+--     XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION        --
+--     AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION            --
+--     OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS              --
+--     IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,                --
+--     AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE       --
+--     FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY               --
+--     WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE                --
+--     IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR         --
+--     REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF        --
+--     INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS        --
+--     FOR A PARTICULAR PURPOSE.                                              --
+--                                                                            --
+--     Xilinx products are not intended for use in life support               --
+--     appliances, devices, or systems. Use in such applications are          --
+--     expressly prohibited.                                                  --
+--                                                                            --
+--     (c) Copyright 1995-2007 Xilinx, Inc.                                   --
+--     All rights reserved.                                                   --
+--------------------------------------------------------------------------------
+-- You must compile the wrapper file ram_8x512.vhd when simulating
+-- the core, ram_8x512. When compiling the wrapper file, be sure to
+-- reference the XilinxCoreLib VHDL simulation library. For detailed
+-- instructions, please refer to the "CORE Generator Help".
+
+-- The synthesis directives "translate_off/translate_on" specified
+-- below are supported by Xilinx, Mentor Graphics and Synplicity
+-- synthesis tools. Ensure they are correct for your synthesis tool(s).
+
+LIBRARY ieee;
+USE ieee.std_logic_1164.ALL;
+-- synthesis translate_off
+Library XilinxCoreLib;
+-- synthesis translate_on
+ENTITY ram_8x512 IS
+       port (
+       addr: IN std_logic_VECTOR(8 downto 0);
+       clk: IN std_logic;
+       din: IN std_logic_VECTOR(7 downto 0);
+       dout: OUT std_logic_VECTOR(7 downto 0);
+       en: IN std_logic;
+       we: IN std_logic);
+END ram_8x512;
+
+ARCHITECTURE ram_8x512_a OF ram_8x512 IS
+-- synthesis translate_off
+component wrapped_ram_8x512
+       port (
+       addr: IN std_logic_VECTOR(8 downto 0);
+       clk: IN std_logic;
+       din: IN std_logic_VECTOR(7 downto 0);
+       dout: OUT std_logic_VECTOR(7 downto 0);
+       en: IN std_logic;
+       we: IN std_logic);
+end component;
+
+-- Configuration specification 
+       for all : wrapped_ram_8x512 use entity XilinxCoreLib.blkmemsp_v6_2(behavioral)
+               generic map(
+                       c_sinit_value => "0",
+                       c_has_en => 1,
+                       c_reg_inputs => 0,
+                       c_yclk_is_rising => 1,
+                       c_ysinit_is_high => 1,
+                       c_ywe_is_high => 0,
+                       c_yprimitive_type => "16kx1",
+                       c_ytop_addr => "1024",
+                       c_yhierarchy => "hierarchy1",
+                       c_has_limit_data_pitch => 0,
+                       c_has_rdy => 0,
+                       c_write_mode => 0,
+                       c_width => 8,
+                       c_yuse_single_primitive => 0,
+                       c_has_nd => 0,
+                       c_has_we => 1,
+                       c_enable_rlocs => 0,
+                       c_has_rfd => 0,
+                       c_has_din => 1,
+                       c_ybottom_addr => "0",
+                       c_pipe_stages => 0,
+                       c_yen_is_high => 0,
+                       c_depth => 512,
+                       c_has_default_data => 1,
+                       c_limit_data_pitch => 18,
+                       c_has_sinit => 0,
+                       c_yydisable_warnings => 1,
+                       c_mem_init_file => "mif_file_16_1",
+                       c_default_data => "0",
+                       c_ymake_bmm => 0,
+                       c_addr_width => 9);
+-- synthesis translate_on
+BEGIN
+-- synthesis translate_off
+U0 : wrapped_ram_8x512
+               port map (
+                       addr => addr,
+                       clk => clk,
+                       din => din,
+                       dout => dout,
+                       en => en,
+                       we => we);
+-- synthesis translate_on
+
+END ram_8x512_a;
+
diff --git a/coregen/ram_8x512.vho b/coregen/ram_8x512.vho
new file mode 100644 (file)
index 0000000..1c9cc4b
--- /dev/null
@@ -0,0 +1,66 @@
+--------------------------------------------------------------------------------
+--     This file is owned and controlled by Xilinx and must be used           --
+--     solely for design, simulation, implementation and creation of          --
+--     design files limited to Xilinx devices or technologies. Use            --
+--     with non-Xilinx devices or technologies is expressly prohibited        --
+--     and immediately terminates your license.                               --
+--                                                                            --
+--     XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"          --
+--     SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR                --
+--     XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION        --
+--     AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION            --
+--     OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS              --
+--     IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,                --
+--     AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE       --
+--     FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY               --
+--     WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE                --
+--     IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR         --
+--     REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF        --
+--     INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS        --
+--     FOR A PARTICULAR PURPOSE.                                              --
+--                                                                            --
+--     Xilinx products are not intended for use in life support               --
+--     appliances, devices, or systems. Use in such applications are          --
+--     expressly prohibited.                                                  --
+--                                                                            --
+--     (c) Copyright 1995-2007 Xilinx, Inc.                                   --
+--     All rights reserved.                                                   --
+--------------------------------------------------------------------------------
+-- The following code must appear in the VHDL architecture header:
+
+------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG
+component ram_8x512
+       port (
+       addr: IN std_logic_VECTOR(8 downto 0);
+       clk: IN std_logic;
+       din: IN std_logic_VECTOR(7 downto 0);
+       dout: OUT std_logic_VECTOR(7 downto 0);
+       en: IN std_logic;
+       we: IN std_logic);
+end component;
+
+-- Synplicity black box declaration
+attribute syn_black_box : boolean;
+attribute syn_black_box of ram_8x512: component is true;
+
+-- COMP_TAG_END ------ End COMPONENT Declaration ------------
+
+-- The following code must appear in the VHDL architecture
+-- body. Substitute your own instance name and net names.
+
+------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG
+your_instance_name : ram_8x512
+               port map (
+                       addr => addr,
+                       clk => clk,
+                       din => din,
+                       dout => dout,
+                       en => en,
+                       we => we);
+-- INST_TAG_END ------ End INSTANTIATION Template ------------
+
+-- You must compile the wrapper file ram_8x512.vhd when simulating
+-- the core, ram_8x512. When compiling the wrapper file, be sure to
+-- reference the XilinxCoreLib VHDL simulation library. For detailed
+-- instructions, please refer to the "CORE Generator Help".
+
diff --git a/coregen/ram_8x512.xco b/coregen/ram_8x512.xco
new file mode 100644 (file)
index 0000000..0c99dca
--- /dev/null
@@ -0,0 +1,63 @@
+##############################################################
+#
+# Xilinx Core Generator version J.36
+# Date: Sat Jan  8 22:04:28 2011
+#
+##############################################################
+#
+#  This file contains the customisation parameters for a
+#  Xilinx CORE Generator IP GUI. It is strongly recommended
+#  that you do not manually alter this file as it may cause
+#  unexpected and unsupported behavior.
+#
+##############################################################
+#
+# BEGIN Project Options
+SET addpads = False
+SET asysymbol = True
+SET busformat = BusFormatAngleBracketNotRipped
+SET createndf = False
+SET designentry = VHDL
+SET device = xc2v1000
+SET devicefamily = virtex2
+SET flowvendor = Foundation_iSE
+SET formalverification = False
+SET foundationsym = False
+SET implementationfiletype = Ngc
+SET package = fg456
+SET removerpms = False
+SET simulationfiles = Behavioral
+SET speedgrade = -6
+SET verilogsim = False
+SET vhdlsim = True
+# END Project Options
+# BEGIN Select
+SELECT Single_Port_Block_Memory family Xilinx,_Inc. 6.2
+# END Select
+# BEGIN Parameters
+CSET active_clock_edge=Rising_Edge_Triggered
+CSET additional_output_pipe_stages=0
+CSET component_name=ram_8x512
+CSET depth=512
+CSET disable_warning_messages=true
+CSET enable_pin=true
+CSET enable_pin_polarity=Active_Low
+CSET global_init_value=0
+CSET handshaking_pins=false
+CSET has_limit_data_pitch=false
+CSET init_pin=false
+CSET init_value=0
+CSET initialization_pin_polarity=Active_High
+CSET limit_data_pitch=18
+CSET load_init_file=false
+CSET port_configuration=Read_And_Write
+CSET primitive_selection=Optimize_For_Area
+CSET register_inputs=false
+CSET select_primitive=16kx1
+CSET width=8
+CSET write_enable_polarity=Active_Low
+CSET write_mode=Read_After_Write
+# END Parameters
+GENERATE
+# CRC: 85636b95
+
diff --git a/coregen/ram_8x512_flist.txt b/coregen/ram_8x512_flist.txt
new file mode 100644 (file)
index 0000000..6368a99
--- /dev/null
@@ -0,0 +1,9 @@
+# Output products list for <ram_8x512>
+ram_8x512.vho
+ram_8x512.asy
+ram_8x512.sym
+ram_8x512_xmdf.tcl
+ram_8x512_flist.txt
+ram_8x512.vhd
+ram_8x512.ngc
+ram_8x512.xco
diff --git a/coregen/ram_8x512_readme.txt b/coregen/ram_8x512_readme.txt
new file mode 100644 (file)
index 0000000..208d940
--- /dev/null
@@ -0,0 +1,41 @@
+The following files were generated for 'ram_8x512' in directory 
+coregen/:
+
+ram_8x512.vho:
+   VHO template file containing code that can be used as a model for
+   instantiating a CORE Generator module in a VHDL design.
+
+ram_8x512.asy:
+   Graphical symbol information file. Used by the ISE tools and some
+   third party tools to create a symbol representing the core.
+
+ram_8x512.sym:
+   Please see the core data sheet.
+
+ram_8x512_xmdf.tcl:
+   Please see the core data sheet.
+
+ram_8x512_flist.txt:
+   Text file listing all of the output files produced when a customized
+   core was generated in the CORE Generator.
+
+ram_8x512.vhd:
+   VHDL wrapper file provided to support functional simulation. This
+   file contains simulation model customization data that is passed to
+   a parameterized simulation model for the core.
+
+ram_8x512.ngc:
+   Binary Xilinx implementation netlist file containing the information
+   required to implement the module in a Xilinx (R) FPGA.
+
+ram_8x512_readme.txt:
+   Text file indicating the files generated and how they are used.
+
+ram_8x512.xco:
+   CORE Generator input file containing the parameters used to
+   regenerate a core.
+
+
+Please see the Xilinx CORE Generator online help for further details on
+generated files and how to use them.
+
diff --git a/coregen/ram_8x512_xmdf.tcl b/coregen/ram_8x512_xmdf.tcl
new file mode 100644 (file)
index 0000000..80166dd
--- /dev/null
@@ -0,0 +1,72 @@
+# The package naming convention is <core_name>_xmdf
+package provide ram_8x512_xmdf 1.0
+
+# This includes some utilities that support common XMDF operations
+package require utilities_xmdf
+
+# Define a namespace for this package. The name of the name space
+# is <core_name>_xmdf
+namespace eval ::ram_8x512_xmdf {
+# Use this to define any statics
+}
+
+# Function called by client to rebuild the params and port arrays
+# Optional when the use context does not require the param or ports
+# arrays to be available.
+proc ::ram_8x512_xmdf::xmdfInit { instance } {
+# Variable containg name of library into which module is compiled
+# Recommendation: <module_name>
+# Required
+utilities_xmdf::xmdfSetData $instance Module Attributes Name ram_8x512
+}
+# ::ram_8x512_xmdf::xmdfInit
+
+# Function called by client to fill in all the xmdf* data variables
+# based on the current settings of the parameters
+proc ::ram_8x512_xmdf::xmdfApplyParams { instance } {
+
+set fcount 0
+# Array containing libraries that are assumed to exist
+# Examples include unisim and xilinxcorelib
+# Optional
+# In this example, we assume that the unisim library will
+# be magically
+# available to the simulation and synthesis tool
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type logical_library
+utilities_xmdf::xmdfSetData $instance FileSet $fcount logical_library unisim
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path ram_8x512.vho
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type vhdl_template
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path ram_8x512.asy
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type asy
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path ram_8x512.sym
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type symbol
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path ram_8x512_xmdf.tcl
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path ram_8x512.vhd
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type vhdl
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path ram_8x512.ngc
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type ngc
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path ram_8x512.xco
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type coregen_ip
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount associated_module ram_8x512
+incr fcount
+
+}
+
+# ::gen_comp_name_xmdf::xmdfApplyParams
diff --git a/coregen/rom_8x2k.asy b/coregen/rom_8x2k.asy
new file mode 100644 (file)
index 0000000..1a316f9
--- /dev/null
@@ -0,0 +1,27 @@
+Version 4
+SymbolType BLOCK
+RECTANGLE Normal 32 0 320 272
+PIN 0 48  LEFT 36
+PINATTR PinName addr[10:0]
+PINATTR Polarity IN
+LINE Wide 0 48 32 48
+PIN 0 80  LEFT 36
+PINATTR PinName din[7:0]
+PINATTR Polarity IN
+LINE Wide 0 80 32 80
+PIN 0 112  LEFT 36
+PINATTR PinName we
+PINATTR Polarity IN
+LINE Normal 0 112 32 112
+PIN 0 144  LEFT 36
+PINATTR PinName en
+PINATTR Polarity IN
+LINE Normal 0 144 32 144
+PIN 0 240  LEFT 36
+PINATTR PinName clk
+PINATTR Polarity IN
+LINE Normal 0 240 32 240
+PIN 352 48  RIGHT 36
+PINATTR PinName dout[7:0]
+PINATTR Polarity OUT
+LINE Wide 320 48 352 48
diff --git a/coregen/rom_8x2k.ngc b/coregen/rom_8x2k.ngc
new file mode 100644 (file)
index 0000000..bd620f0
--- /dev/null
@@ -0,0 +1,3 @@
+XILINX-XDB 0.1 STUB 0.1 ASCII
+XILINX-XDM V1.4e
+$g;x52=#Zl|b\7fdaa:!3-576):9$9,)=401274>6789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123455<9'::?6?>:HLSQQ<flmx7==4?>e91r4678om?9;#9119;>LHW]]0oec28:1<26>>=G\^[YY4kotv?3?69?2KOH_2?>99B@AT;994<7LJKR=3=3>GCL[692:5NDEP?7;1<IMNY0908;@FGV939?2KOH_29>69B@AT;?7=0MIJ]<9<4?DBCZ535>6L73:@V76=E]=20NX]PIODL7>EKC01HC@CFTUGG3>EUMH^NH85KI=2=1>BN484>7IG32?78@L:46<1OE1:15:FJ80823MC7:3;4DH>4:3=CAY6;285KO=2=1>BH484>7IA32?78@J:46<1OC1:15:FL80823ME7:3;4DN>4:3=CGY6;2?5JN09D7>AIL81B46GAIUR\45><AGC_\R>>8:KMMQVX8;20ECG[P^20<>OIA]ZT<964IOKWTZ6202CEEY^P07:8MKOSXV:<56GAIUQWEQC03@DBXR>?7:KMMQY79>1BBDZP0358MKOSW99<7D@FT^273>OIA]U;9:5FNHV\431<AGC_S=98;HLJPZ6??2CEEYQ?969JJLRX8H=0ECG[_1@4?LHN\V:H;6GAIU]3@2=NF@^T<H94IOKW[5@03@DBXR??7:KMMQY69>1BBDZP1358MKOSW89<7D@FT^373>OIA]U:9:5FNHV\531<AGC_S<98;HLJPZ7??2CEEYQ>969JJLRX9H=0ECG[_0@4?LHN\V;H;6GAIU]2@2=NF@^T=H94IOKW[4@03@DBXR<?7:KMMQY59>1BBDZP2358MKOSW;9<7D@FT^073>OIA]U99:5FNHV\631<AGC_S?98;HLJPZ4??2CEEYQ=969JJLRX:H=0ECG[_3@4?LHN\V8H;6GAIU]1@2=NF@^T>H94IOKW[7@03@DBXR=?7:KMMQY49>1BBDZP3358MKOSW:9<7D@FT^173>OIA]U89:5FNHV\731<AGC_S>98;HLJPZ5??2CEEYQ<969JJLRX;H=0ECG[_2@4?LHN\V9H;6GAIU]0@2=NF@^T?H94IOKW[6@43@D]:6B@AEGG3>JHO@IJ@n5BakmqR`ttafdh7@gaosTfvvohf;1E<>5A1118J4743G;9?6@>329M515<F8?87C?93:L236=I9190B<7=;O00?K47;2D9=>5A2318J7543G8??6@=529M635<F;=87C<73:L1=7=I;:1E?==4N271?K253G?87C;:3:L6=7=I>;1E;?5A839M=2=IM]]D^F?4O09S0>VFZ]k0\D@PBTQJ@]d<X@DTNX]AALG:?WGJJ8<T_484SNWQG@3<[[\J@>5\SS68P\VBi2_XI_QNLHCPg>STM[U]E^GMLD18RFE>3_CN[RZVPD08S@d<_[C_IRHFRRVb?RTN\LUFCIK>d:ZJHLH_%QNI,= > RVVF%6)9)KXODGm;Y]@KWCXAGLD==5W_BMQAZOINFUGE^Z9;Yfa[Lba3QncS]|fmWgqwlii991Sh`QBakmqR`ttafd:<6Vkm^OjjjtQm{ybcc94aefq,5/03hno~%?&8:cg`w.68 =0mij}(3+4?dbcz!9";6okds*7-2=flmx#9$94aefq,3/03hno~%9&7:cg`w.?!>1jhi|'9(58eabu494j7ljkr=33>58?3hno~1??>69b`at;97=0mij}<3<4?dbcz595;6okds>7:2=flmx79394aefq83803hno~1917:cg`w:?6>1jhi|39?3a?gjlelgx|Rx9_3.#Gjtbold+5#<f3:aoo4e<kfxnkh` tlr,[fa(zfgT4u<d.oel2>bnf!:":6jfn)3*2>bnf!8":6jfn)1*2>bnf!>":6jfn)7*2>bnf!<":6jfn)5*2>bnf5:5:6jfn=3=2>bnf585:6jfn=1=2>bnf5>5:6jfn=7=2>bnf5<546jfn=594;0<l`d7;394dnww,5/03me~x%?&7:flqq.5!>1ocxz'3(58`jss =#<7iazt)7*3>bh}}"=%:5kotv+3,1<lf\7f\7f0=08;emvp979?2ndyy2=>69gkpr;;7=0hb{{<5<4?air|5?5;6j`uu>5:<=cg|~7;7>17:flqq:0611nhdh=nff1?`h?3gmhnxgcd99qkhY?p;a97zkr@Ar:3>FGpm;1J7:51zQ2=?`32:0:??jm1b801a7fsgh=6<5ab687?!d32k;0q^?7:g697?74:mh:o7=:d0c8W2g=n?0;6<==dc3`>63c9k1X=54i6;29564cj8i1?8j>b:fe3?6=93;p_<75f580>455lk;h6>;k1`9'f7<dn2|_m;4?:082>77|[831j94<:011`g7d2:?o=l5+ae84f>Pe=38py:m51:w4`?6<u-k9685mf683>4c==38:wEom;[35>6}02?0?6p*n9;d4?!d52jl0Vo=51zae>xoa=3:17dj?:188k`g=83.j87h=;oc0>5=<gl31<7*n4;d1?kg42810ch650;&b0?`53gk86?54od594?"f<3l97co<:298k`0=83.j87h=;oc0>1=<gl?1<7*n4;d1?kg42<10ch:50;&b0?`53gk86;54od194?"f<3l97co<:698ma?=83.j87k>;oc0>5=<am21<7*n4;g2?kg42810ei950;&b0?c63gk86?54ie494?"f<3o:7co<:298ma3=83.j87k>;oc0>1=<am>1<7*n4;g2?kg42<10ei=50;&b0?c63gk86;54ie094?"f<3o:7co<:698mc>=831bnl4?:%c7>f2<fh91<65fc383>!g32j>0bl=51:9jg4<72-k?6n:4n`196>=nk90;6)o;:b68jd5=;21bnk4?:%c7>f2<fh91865fbd83>!g32j>0bl=55:9jfa<72-k?6n:4n`192>=njj0;6)o;:b68jd5=?21bno4?:%c7>f2<fh91465fb883>!g32j>0bl=59:9jf=<72-k?6n:4n`19e>=eij0;6<4?:1yKeg=#i00jo6an1;29?xd5m3:1=7>50zJbf>"f138n7b<k:188yg7329096=4?{Ica?!g>2>30e?h50;9le5<722wi=84?:383>5}Oik1/m4489:k1b?6=3fk;6=44}c30>5<593:1<vFnb:&b=?g23-926?5+3`81?!5e2;1/?n4=;%1g>7=#;l097)=i:39'05<53->:6?5+4381?!242;1/894=;%66>7=#<?097):8:39'0=<53->26?5+4`81?!2e2;1/8n4=;%6g>7=#<l097):i:39'15<53-?:6?5+5381?!342;1/994=;%76>7=#=?097);8:39'1=<53-?26?5+5`81?!3e2;1/9n4=;%7g>7=#=l097);i:39'25<53-<:6?5+6381?!042;1/:94=;%46>7=#>?097)88:39'2=<53-<26?5+6`81?!0e2;1/:n4=;%4g>7=#>l097)8i:39'35<53-=:6?5+7381?!142;1/;94=;%56>7=#??097)98:39'3=<53-9;6?5+3081?!552;1/?>4=;%17>7=#;<097)=9:39'72<53-h;6lh4$2:95>"f?3;0e<o50;9j5g<722c26=44i0a94?=n9m0;66g>e;29?l7a2900e?>50;9j6f<722c9=7>5;n0a>5<<a10;66g>7;29?lg=831bn7>5;n00>5<<aj0;66a=4;29?lb=831d>84?::kf>5<<g;<1<75ff;29?j402900e<>50;9je`<722e947>5;h32>5<<g;31<75f1383>>i5i3:17d<=:188md>=831v\7f:k50;1x97c=:m16=>4n8:?27?453tyh97>52z\ae>;6;330(lo5889~wfc=838pRn<4=01957=#ih0286s|ce83>7}Yk816=>4>1:&be??03tyho7>52z\`4>;6;3;;7)on:8:8yvee2909wSli;<30>c=#ih02n6s|c`83>7}Yjl16=>4j;%cb><e<uzi26=4={_`g?8742m1/ml46d:\7fpg=<72;qUnn52128`?!gf20o0q~m8:181\7f[de34;86o5+a`84b>{tk?0;6?uQb89>56<f3-kj65>4}ra0>5<5sWh370?<:99'ed<?92wxh=4?:3y]`5=:9:0:;6*na;:1?xub:3:1>vPk9:?27?463-kj65=4}rg3>5<5sWn370?<:328 dg=0=1v\7fih50;0xZa1<5891=k5+a`8;1>{tll0;6?uQd79>56<6m2.jm769;|qg`?6=:rTo963>3;3g?!gf21=0q~jl:181\7f[b334;86<m4$`c9<==z{mh1<7<t^e18945=9k1/ml47a:\7fp`d<72;qUh?521282e>"fi32i7p}i3;296~Xbi27:?7<n;%cb>=e<uzl:6=4={_g:?8742;30(lo58e9~wc6=838pRh64=0196==#ih03i6s|eg83>7}Ym>16=>4=7:&be?>a3tyni7>52z\f2>;6;38=7)on:828yvcc2909wSk:;<30>73<,hk15<5rsda94?4|Vl>01<=5259'ed<>:2wxio4?:3y]a6=:9:09?6*na;;0?xua=3:1>vPi5:?20?4a3-kj64;4}rd;>5<5sWl370?::3d8 dg=1?1v\7f4750;0x942=i916=>4=c:\7fp=d<72;q6=84n0:?27?gb3twe984?:0yKeg=zf<<1<7?tH``8yk30290:wEom;|l6<?6=9rBjn6sa5883>4}Oik1vb8o50;3xLdd<ug?i6=4>{Ica?xh2k3:1=vFnb:\7fm1a<728qCmo5rn4g94?7|@hh0qc;i:182\7fMge3td=<7>51zJbf>{i>80;6<uGac9~j34=83;pDll4}o40>5<6sAki7p`94;295~Nfj2we:84?:0yKeg=zf?<1<7?tH``8yk00290:wEom;|l5<?6=9rBjn6sa6883>4}Oik1vb;o50;3xLdd<ug<i6=4>{Ica?xh1k3:1=vFnb:\7fm2a<728qCmo5rn7g94?7|@hh0qc8i:182\7fMge3td<<7>51zJbf>{i?80;6<uGac9~j24=83;pDll4}o50>5<6sAki7p`84;295~Nfj2we;84?:0yKeg=zutwKLNu67;f75=eaj1wKLOu?}ABS\7fxFG
\ No newline at end of file
diff --git a/coregen/rom_8x2k.sym b/coregen/rom_8x2k.sym
new file mode 100644 (file)
index 0000000..48f2d56
--- /dev/null
@@ -0,0 +1,40 @@
+VERSION 5
+BEGIN SYMBOL rom_8x2k
+SYMBOLTYPE BLOCK
+TIMESTAMP 2011 1 8 22 4 37
+SYMPIN 0 48 Input addr[10:0]
+SYMPIN 0 80 Input din[7:0]
+SYMPIN 0 112 Input we
+SYMPIN 0 144 Input en
+SYMPIN 0 240 Input clk
+SYMPIN 352 48 Output dout[7:0]
+RECTANGLE N 32 0 320 272 
+BEGIN DISPLAY 36 48 PIN addr[10:0] ATTR PinName
+    FONT 24 "Arial"
+END DISPLAY
+BEGIN LINE W 0 48 32 48 
+END LINE
+BEGIN DISPLAY 36 80 PIN din[7:0] ATTR PinName
+    FONT 24 "Arial"
+END DISPLAY
+BEGIN LINE W 0 80 32 80 
+END LINE
+BEGIN DISPLAY 36 112 PIN we ATTR PinName
+    FONT 24 "Arial"
+END DISPLAY
+LINE N 0 112 32 112 
+BEGIN DISPLAY 36 144 PIN en ATTR PinName
+    FONT 24 "Arial"
+END DISPLAY
+LINE N 0 144 32 144 
+BEGIN DISPLAY 36 240 PIN clk ATTR PinName
+    FONT 24 "Arial"
+END DISPLAY
+LINE N 0 240 32 240 
+BEGIN DISPLAY 316 48 PIN dout[7:0] ATTR PinName
+    ALIGNMENT RIGHT
+    FONT 24 "Arial"
+END DISPLAY
+BEGIN LINE W 320 48 352 48 
+END LINE
+END SYMBOL
diff --git a/coregen/rom_8x2k.vhd b/coregen/rom_8x2k.vhd
new file mode 100644 (file)
index 0000000..07cc8aa
--- /dev/null
@@ -0,0 +1,113 @@
+--------------------------------------------------------------------------------
+--     This file is owned and controlled by Xilinx and must be used           --
+--     solely for design, simulation, implementation and creation of          --
+--     design files limited to Xilinx devices or technologies. Use            --
+--     with non-Xilinx devices or technologies is expressly prohibited        --
+--     and immediately terminates your license.                               --
+--                                                                            --
+--     XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"          --
+--     SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR                --
+--     XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION        --
+--     AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION            --
+--     OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS              --
+--     IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,                --
+--     AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE       --
+--     FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY               --
+--     WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE                --
+--     IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR         --
+--     REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF        --
+--     INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS        --
+--     FOR A PARTICULAR PURPOSE.                                              --
+--                                                                            --
+--     Xilinx products are not intended for use in life support               --
+--     appliances, devices, or systems. Use in such applications are          --
+--     expressly prohibited.                                                  --
+--                                                                            --
+--     (c) Copyright 1995-2007 Xilinx, Inc.                                   --
+--     All rights reserved.                                                   --
+--------------------------------------------------------------------------------
+-- You must compile the wrapper file rom_8x2k.vhd when simulating
+-- the core, rom_8x2k. When compiling the wrapper file, be sure to
+-- reference the XilinxCoreLib VHDL simulation library. For detailed
+-- instructions, please refer to the "CORE Generator Help".
+
+-- The synthesis directives "translate_off/translate_on" specified
+-- below are supported by Xilinx, Mentor Graphics and Synplicity
+-- synthesis tools. Ensure they are correct for your synthesis tool(s).
+
+LIBRARY ieee;
+USE ieee.std_logic_1164.ALL;
+-- synthesis translate_off
+Library XilinxCoreLib;
+-- synthesis translate_on
+ENTITY rom_8x2k IS
+       port (
+       addr: IN std_logic_VECTOR(10 downto 0);
+       clk: IN std_logic;
+       din: IN std_logic_VECTOR(7 downto 0);
+       dout: OUT std_logic_VECTOR(7 downto 0);
+       en: IN std_logic;
+       we: IN std_logic);
+END rom_8x2k;
+
+ARCHITECTURE rom_8x2k_a OF rom_8x2k IS
+-- synthesis translate_off
+component wrapped_rom_8x2k
+       port (
+       addr: IN std_logic_VECTOR(10 downto 0);
+       clk: IN std_logic;
+       din: IN std_logic_VECTOR(7 downto 0);
+       dout: OUT std_logic_VECTOR(7 downto 0);
+       en: IN std_logic;
+       we: IN std_logic);
+end component;
+
+-- Configuration specification 
+       for all : wrapped_rom_8x2k use entity XilinxCoreLib.blkmemsp_v6_2(behavioral)
+               generic map(
+                       c_sinit_value => "0",
+                       c_has_en => 1,
+                       c_reg_inputs => 0,
+                       c_yclk_is_rising => 1,
+                       c_ysinit_is_high => 1,
+                       c_ywe_is_high => 0,
+                       c_yprimitive_type => "16kx1",
+                       c_ytop_addr => "1024",
+                       c_yhierarchy => "hierarchy1",
+                       c_has_limit_data_pitch => 0,
+                       c_has_rdy => 0,
+                       c_write_mode => 0,
+                       c_width => 8,
+                       c_yuse_single_primitive => 0,
+                       c_has_nd => 0,
+                       c_has_we => 1,
+                       c_enable_rlocs => 0,
+                       c_has_rfd => 0,
+                       c_has_din => 1,
+                       c_ybottom_addr => "0",
+                       c_pipe_stages => 0,
+                       c_yen_is_high => 0,
+                       c_depth => 2048,
+                       c_has_default_data => 1,
+                       c_limit_data_pitch => 18,
+                       c_has_sinit => 0,
+                       c_yydisable_warnings => 1,
+                       c_mem_init_file => "mif_file_16_1",
+                       c_default_data => "0",
+                       c_ymake_bmm => 0,
+                       c_addr_width => 11);
+-- synthesis translate_on
+BEGIN
+-- synthesis translate_off
+U0 : wrapped_rom_8x2k
+               port map (
+                       addr => addr,
+                       clk => clk,
+                       din => din,
+                       dout => dout,
+                       en => en,
+                       we => we);
+-- synthesis translate_on
+
+END rom_8x2k_a;
+
diff --git a/coregen/rom_8x2k.vho b/coregen/rom_8x2k.vho
new file mode 100644 (file)
index 0000000..787041b
--- /dev/null
@@ -0,0 +1,66 @@
+--------------------------------------------------------------------------------
+--     This file is owned and controlled by Xilinx and must be used           --
+--     solely for design, simulation, implementation and creation of          --
+--     design files limited to Xilinx devices or technologies. Use            --
+--     with non-Xilinx devices or technologies is expressly prohibited        --
+--     and immediately terminates your license.                               --
+--                                                                            --
+--     XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"          --
+--     SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR                --
+--     XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION        --
+--     AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION            --
+--     OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS              --
+--     IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,                --
+--     AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE       --
+--     FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY               --
+--     WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE                --
+--     IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR         --
+--     REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF        --
+--     INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS        --
+--     FOR A PARTICULAR PURPOSE.                                              --
+--                                                                            --
+--     Xilinx products are not intended for use in life support               --
+--     appliances, devices, or systems. Use in such applications are          --
+--     expressly prohibited.                                                  --
+--                                                                            --
+--     (c) Copyright 1995-2007 Xilinx, Inc.                                   --
+--     All rights reserved.                                                   --
+--------------------------------------------------------------------------------
+-- The following code must appear in the VHDL architecture header:
+
+------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG
+component rom_8x2k
+       port (
+       addr: IN std_logic_VECTOR(10 downto 0);
+       clk: IN std_logic;
+       din: IN std_logic_VECTOR(7 downto 0);
+       dout: OUT std_logic_VECTOR(7 downto 0);
+       en: IN std_logic;
+       we: IN std_logic);
+end component;
+
+-- Synplicity black box declaration
+attribute syn_black_box : boolean;
+attribute syn_black_box of rom_8x2k: component is true;
+
+-- COMP_TAG_END ------ End COMPONENT Declaration ------------
+
+-- The following code must appear in the VHDL architecture
+-- body. Substitute your own instance name and net names.
+
+------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG
+your_instance_name : rom_8x2k
+               port map (
+                       addr => addr,
+                       clk => clk,
+                       din => din,
+                       dout => dout,
+                       en => en,
+                       we => we);
+-- INST_TAG_END ------ End INSTANTIATION Template ------------
+
+-- You must compile the wrapper file rom_8x2k.vhd when simulating
+-- the core, rom_8x2k. When compiling the wrapper file, be sure to
+-- reference the XilinxCoreLib VHDL simulation library. For detailed
+-- instructions, please refer to the "CORE Generator Help".
+
diff --git a/coregen/rom_8x2k.xco b/coregen/rom_8x2k.xco
new file mode 100644 (file)
index 0000000..c4ed2d3
--- /dev/null
@@ -0,0 +1,63 @@
+##############################################################
+#
+# Xilinx Core Generator version J.36
+# Date: Sat Jan  8 22:04:43 2011
+#
+##############################################################
+#
+#  This file contains the customisation parameters for a
+#  Xilinx CORE Generator IP GUI. It is strongly recommended
+#  that you do not manually alter this file as it may cause
+#  unexpected and unsupported behavior.
+#
+##############################################################
+#
+# BEGIN Project Options
+SET addpads = False
+SET asysymbol = True
+SET busformat = BusFormatAngleBracketNotRipped
+SET createndf = False
+SET designentry = VHDL
+SET device = xc2v1000
+SET devicefamily = virtex2
+SET flowvendor = Foundation_iSE
+SET formalverification = False
+SET foundationsym = False
+SET implementationfiletype = Ngc
+SET package = fg456
+SET removerpms = False
+SET simulationfiles = Behavioral
+SET speedgrade = -6
+SET verilogsim = False
+SET vhdlsim = True
+# END Project Options
+# BEGIN Select
+SELECT Single_Port_Block_Memory family Xilinx,_Inc. 6.2
+# END Select
+# BEGIN Parameters
+CSET active_clock_edge=Rising_Edge_Triggered
+CSET additional_output_pipe_stages=0
+CSET component_name=rom_8x2k
+CSET depth=2048
+CSET disable_warning_messages=true
+CSET enable_pin=true
+CSET enable_pin_polarity=Active_Low
+CSET global_init_value=0
+CSET handshaking_pins=false
+CSET has_limit_data_pitch=false
+CSET init_pin=false
+CSET init_value=0
+CSET initialization_pin_polarity=Active_High
+CSET limit_data_pitch=18
+CSET load_init_file=false
+CSET port_configuration=Read_And_Write
+CSET primitive_selection=Optimize_For_Area
+CSET register_inputs=false
+CSET select_primitive=16kx1
+CSET width=8
+CSET write_enable_polarity=Active_Low
+CSET write_mode=Read_After_Write
+# END Parameters
+GENERATE
+# CRC: d4bb4e0b
+
diff --git a/coregen/rom_8x2k_flist.txt b/coregen/rom_8x2k_flist.txt
new file mode 100644 (file)
index 0000000..2323760
--- /dev/null
@@ -0,0 +1,9 @@
+# Output products list for <rom_8x2k>
+rom_8x2k_xmdf.tcl
+rom_8x2k_flist.txt
+rom_8x2k.sym
+rom_8x2k.xco
+rom_8x2k.vho
+rom_8x2k.asy
+rom_8x2k.ngc
+rom_8x2k.vhd
diff --git a/coregen/rom_8x2k_readme.txt b/coregen/rom_8x2k_readme.txt
new file mode 100644 (file)
index 0000000..a58c42f
--- /dev/null
@@ -0,0 +1,41 @@
+The following files were generated for 'rom_8x2k' in directory 
+coregen/:
+
+rom_8x2k_xmdf.tcl:
+   Please see the core data sheet.
+
+rom_8x2k_flist.txt:
+   Text file listing all of the output files produced when a customized
+   core was generated in the CORE Generator.
+
+rom_8x2k.sym:
+   Please see the core data sheet.
+
+rom_8x2k.xco:
+   CORE Generator input file containing the parameters used to
+   regenerate a core.
+
+rom_8x2k.vho:
+   VHO template file containing code that can be used as a model for
+   instantiating a CORE Generator module in a VHDL design.
+
+rom_8x2k_readme.txt:
+   Text file indicating the files generated and how they are used.
+
+rom_8x2k.asy:
+   Graphical symbol information file. Used by the ISE tools and some
+   third party tools to create a symbol representing the core.
+
+rom_8x2k.ngc:
+   Binary Xilinx implementation netlist file containing the information
+   required to implement the module in a Xilinx (R) FPGA.
+
+rom_8x2k.vhd:
+   VHDL wrapper file provided to support functional simulation. This
+   file contains simulation model customization data that is passed to
+   a parameterized simulation model for the core.
+
+
+Please see the Xilinx CORE Generator online help for further details on
+generated files and how to use them.
+
diff --git a/coregen/rom_8x2k_xmdf.tcl b/coregen/rom_8x2k_xmdf.tcl
new file mode 100644 (file)
index 0000000..9346f7f
--- /dev/null
@@ -0,0 +1,72 @@
+# The package naming convention is <core_name>_xmdf
+package provide rom_8x2k_xmdf 1.0
+
+# This includes some utilities that support common XMDF operations
+package require utilities_xmdf
+
+# Define a namespace for this package. The name of the name space
+# is <core_name>_xmdf
+namespace eval ::rom_8x2k_xmdf {
+# Use this to define any statics
+}
+
+# Function called by client to rebuild the params and port arrays
+# Optional when the use context does not require the param or ports
+# arrays to be available.
+proc ::rom_8x2k_xmdf::xmdfInit { instance } {
+# Variable containg name of library into which module is compiled
+# Recommendation: <module_name>
+# Required
+utilities_xmdf::xmdfSetData $instance Module Attributes Name rom_8x2k
+}
+# ::rom_8x2k_xmdf::xmdfInit
+
+# Function called by client to fill in all the xmdf* data variables
+# based on the current settings of the parameters
+proc ::rom_8x2k_xmdf::xmdfApplyParams { instance } {
+
+set fcount 0
+# Array containing libraries that are assumed to exist
+# Examples include unisim and xilinxcorelib
+# Optional
+# In this example, we assume that the unisim library will
+# be magically
+# available to the simulation and synthesis tool
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type logical_library
+utilities_xmdf::xmdfSetData $instance FileSet $fcount logical_library unisim
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path rom_8x2k_xmdf.tcl
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path rom_8x2k.sym
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type symbol
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path rom_8x2k.xco
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type coregen_ip
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path rom_8x2k.vho
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type vhdl_template
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path rom_8x2k.asy
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type asy
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path rom_8x2k.ngc
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type ngc
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path rom_8x2k.vhd
+utilities_xmdf::xmdfSetData $instance FileSet $fcount type vhdl
+incr fcount
+
+utilities_xmdf::xmdfSetData $instance FileSet $fcount associated_module rom_8x2k
+incr fcount
+
+}
+
+# ::gen_comp_name_xmdf::xmdfApplyParams