?? spi_prog.vhd
字號:
--
-- Definition of a dual port ROM for KCPSM2 or KCPSM3 program defined by spi_prog.psm
-- and assmbled using KCPSM2 or KCPSM3 assembler.
--
-- Standard IEEE libraries
--
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
--
-- The Unisim Library is used to define Xilinx primitives. It is also used during
-- simulation. The source can be viewed at %XILINX%\vhdl\src\unisims\unisim_VCOMP.vhd
--
library unisim;
use unisim.vcomponents.all;
--
--
entity spi_prog is
Port ( address : in std_logic_vector(9 downto 0);
instruction : out std_logic_vector(17 downto 0);
proc_reset : out std_logic;
clk : in std_logic);
end spi_prog;
--
architecture low_level_definition of spi_prog is
--
-- Declare signals internal to this module
--
signal jaddr : std_logic_vector(10 downto 0);
signal jparity : std_logic_vector(0 downto 0);
signal jdata : std_logic_vector(7 downto 0);
signal doa : std_logic_vector(7 downto 0);
signal dopa : std_logic_vector(0 downto 0);
signal tdo1 : std_logic;
signal tdo2 : std_logic;
signal update : std_logic;
signal shift : std_logic;
signal reset : std_logic;
signal tdi : std_logic;
signal sel1 : std_logic;
signal drck1 : std_logic;
signal drck1_buf : std_logic;
signal sel2 : std_logic;
signal drck2 : std_logic;
signal capture : std_logic;
signal tap5 : std_logic;
signal tap11 : std_logic;
signal tap17 : std_logic;
--
-- Attributes to define ROM contents during implementation synthesis.
-- The information is repeated in the generic map for functional simulation
--
attribute INIT_00 : string;
attribute INIT_01 : string;
attribute INIT_02 : string;
attribute INIT_03 : string;
attribute INIT_04 : string;
attribute INIT_05 : string;
attribute INIT_06 : string;
attribute INIT_07 : string;
attribute INIT_08 : string;
attribute INIT_09 : string;
attribute INIT_0A : string;
attribute INIT_0B : string;
attribute INIT_0C : string;
attribute INIT_0D : string;
attribute INIT_0E : string;
attribute INIT_0F : string;
attribute INIT_10 : string;
attribute INIT_11 : string;
attribute INIT_12 : string;
attribute INIT_13 : string;
attribute INIT_14 : string;
attribute INIT_15 : string;
attribute INIT_16 : string;
attribute INIT_17 : string;
attribute INIT_18 : string;
attribute INIT_19 : string;
attribute INIT_1A : string;
attribute INIT_1B : string;
attribute INIT_1C : string;
attribute INIT_1D : string;
attribute INIT_1E : string;
attribute INIT_1F : string;
attribute INIT_20 : string;
attribute INIT_21 : string;
attribute INIT_22 : string;
attribute INIT_23 : string;
attribute INIT_24 : string;
attribute INIT_25 : string;
attribute INIT_26 : string;
attribute INIT_27 : string;
attribute INIT_28 : string;
attribute INIT_29 : string;
attribute INIT_2A : string;
attribute INIT_2B : string;
attribute INIT_2C : string;
attribute INIT_2D : string;
attribute INIT_2E : string;
attribute INIT_2F : string;
attribute INIT_30 : string;
attribute INIT_31 : string;
attribute INIT_32 : string;
attribute INIT_33 : string;
attribute INIT_34 : string;
attribute INIT_35 : string;
attribute INIT_36 : string;
attribute INIT_37 : string;
attribute INIT_38 : string;
attribute INIT_39 : string;
attribute INIT_3A : string;
attribute INIT_3B : string;
attribute INIT_3C : string;
attribute INIT_3D : string;
attribute INIT_3E : string;
attribute INIT_3F : string;
attribute INITP_00 : string;
attribute INITP_01 : string;
attribute INITP_02 : string;
attribute INITP_03 : string;
attribute INITP_04 : string;
attribute INITP_05 : string;
attribute INITP_06 : string;
attribute INITP_07 : string;
--
-- Attributes to define ROM contents during implementation synthesis.
--
attribute INIT_00 of ram_1024_x_18 : label is "40505040405350334045001D01C10F3E021D021D02BD0223021DC00101AA010E";
attribute INIT_01 of ram_1024_x_18 : label is "10F001C101AF400601C101C101C10F3F021D5003404850224049505940525054";
attribute INIT_02 of ram_1024_x_18 : label is "01F71070022001F71080022001F71090022001C10F3D0328013E021DA00001CE";
attribute INIT_03 of ram_1024_x_18 : label is "4006034A400602B601730293021D543E4F5901C101AF032D021D4006021D0220";
attribute INIT_04 of ram_1024_x_18 : label is "015F0903015F0902015F0901015F09000293021D543E4F5901C101AF032D021D";
attribute INIT_05 of ram_1024_x_18 : label is "006919005C594020585900690357400602B6006F026C021D400602B6015F0904";
attribute INIT_06 of ram_1024_x_18 : label is "0A00A00002041200001D1300001D400602B600C9021D17005859006918005859";
attribute INIT_07 of ram_1024_x_18 : label is "54865290620150884A008D040D2BCE0150A14B04021D01FD50A54B0100B900A9";
attribute INIT_08 of ram_1024_x_18 : label is "0200010E000871D00A010181548C4A000A00018F508852706203548652806202";
attribute INIT_09 of ram_1024_x_18 : label is "E703E802E90154885DE08D010A00018F549A4700A900A80087010112548EC001";
attribute INIT_0A of ram_1024_x_18 : label is "B0004F0D01AF54AA4F3A01AF0E2BA000018FB0004A00406F018F50704A004070";
attribute INIT_0B of ram_1024_x_18 : label is "4B0450C44B007BD08D037CD00D2B40AD8E01F0E0020412F001AF13F0B0004F0A";
attribute INIT_0C of ram_1024_x_18 : label is "014E02200510022001FD021D0610A00078D0CD0177D0CD01A00079D08D02B400";
attribute INIT_0D of ram_1024_x_18 : label is "12700181070008340912A000021D54CAC60154CEC50101F71020A900A8008701";
attribute INIT_0E of ram_1024_x_18 : label is "01C10F6640EF54E8870154EE5270014E0700083409120F70018F5CDF87010112";
attribute INIT_0F of ram_1024_x_18 : label is "0F66410054F9870154FF42FF014E0700083409120F70015F070008000912A000";
attribute INIT_10 of ram_1024_x_18 : label is "C00800AEA00001C10F66410C550B4715550B4820550B49200F70013EA00001C1";
attribute INIT_11 of ram_1024_x_18 : label is "010EA0005514C101C008E001C008E001020023804302C20460040108A000E004";
attribute INIT_12 of ram_1024_x_18 : label is "01120206E004C008E002010EA000E004C008E002011201120205E004C008E002";
attribute INIT_13 of ram_1024_x_18 : label is "E002010EA000E004C008E00201120204E004C008E002010EA000E004C008E002";
attribute INIT_14 of ram_1024_x_18 : label is "E002010EA000E004C008E0021720011218200112192001120112029FE004C008";
attribute INIT_15 of ram_1024_x_18 : label is "012AA000E004C008E002011201121270011212800112129001120203E004C008";
attribute INIT_16 of ram_1024_x_18 : label is "011FE004C008E002011212700112128001121290011202D8E004C008E002010E";
attribute INIT_17 of ram_1024_x_18 : label is "557D2201011FE004C008E002011202C7E004C008E002010E012AA000556F2201";
attribute INIT_18 of ram_1024_x_18 : label is "6004A00001121270011212800112129001120202E004C008E002010E012AA000";
attribute INIT_19 of ram_1024_x_18 : label is "A000559CC10101970128A0005598C001000BA00055932201011FE004C008E002";
attribute INIT_1A of ram_1024_x_18 : label is "C000A00055ABC40101A50414A00055A6C30101A00314A00055A1C201019B0219";
attribute INIT_1B of ram_1024_x_18 : label is "51B04F114F0141B955BD20084000A000C00151B94F134F0141B055B420084000";
attribute INIT_1C of ram_1024_x_18 : label is "B8004061A000803AC1015DC8C00A81010130A000CF1041C151C52001400041B9";
attribute INIT_1D of ram_1024_x_18 : label is "02069200020602061200B80001D47010A000C0F6B80080C6A000A0DFBC00407B";
attribute INIT_1E of ram_1024_x_18 : label is "01F2A00F1010120001F2000E000E000E000E1100A0009200B80001D470108101";
attribute INIT_1F of ram_1024_x_18 : label is "108001F71090A00001C11F1001C11F2001E6A000803A800759F5C00AA0001100";
attribute INIT_20 of ram_1024_x_18 : label is "D030B8000211102003060306030603061300B80002111030A00001F7107001F7";
attribute INIT_21 of ram_1024_x_18 : label is "A00001C10F0DA000800AA000C0F6B80080075E1BC011B800C0E9B80080B9A000";
attribute INIT_22 of ram_1024_x_18 : label is "0F6C01C10F4201C10F6F01C10F6301C10F6901C10F50021D021DA00001C10F20";
attribute INIT_23 of ram_1024_x_18 : label is "0F46022001C10F4901C10F5001C10F53022001C10F6501C10F7A01C10F6101C1";
attribute INIT_24 of ram_1024_x_18 : label is "01C10F6F01C10F7201C10F50022001C10F4801C10F5301C10F4101C10F4C01C1";
attribute INIT_25 of ram_1024_x_18 : label is "0F76022001C10F7201C10F6501C10F6D01C10F6D01C10F6101C10F7201C10F67";
attribute INIT_26 of ram_1024_x_18 : label is "01C10F6101C10F57A000021D021D01C10F3001C10F3001C10F2E01C10F3101C1";
attribute INIT_27 of ram_1024_x_18 : label is "0F7201C10F6F01C10F66022001C10F6701C10F6E01C10F6901C10F7401C10F69";
attribute INIT_28 of ram_1024_x_18 : label is "0F6501C10F6C01C10F6901C10F46022001C10F5301C10F4301C10F4D022001C1";
attribute INIT_29 of ram_1024_x_18 : label is "0F6701C10F6F01C10F7201C10F50022001C10F6E01C10F6902AAA000021D01C1";
attribute INIT_2A of ram_1024_x_18 : label is "01C10F6101C10F7201C10F45A000021D01C101C10F7301C10F6501C10F7201C1";
attribute INIT_2B of ram_1024_x_18 : label is "01C10F45021DA000021D01C10F4B01C10F4F021DA000022001C10F6501C10F73";
attribute INIT_2C of ram_1024_x_18 : label is "0F6501C10F5301C10F2D01C10F53021D01C101C10F6C01C10F6102AA01C10F2D";
attribute INIT_2D of ram_1024_x_18 : label is "01C10F2D01C10F50021D02AA022001C10F7201C10F6F01C10F7401C10F6301C1";
attribute INIT_2E of ram_1024_x_18 : label is "0F52028101C10F6D01C10F6101C10F7201C10F6701C10F6F01C10F7201C10F50";
attribute INIT_2F of ram_1024_x_18 : label is "01C10F49021D031F022001C10F6401C10F6101C10F6501C10F5201C10F2D01C1";
attribute INIT_30 of ram_1024_x_18 : label is "0328022001C10F6501C10F6301C10F6901C10F7601C10F6501C10F4401C10F2D";
attribute INIT_31 of ram_1024_x_18 : label is "0F70A000021D01C10F7001C10F6C01C10F6501C10F4801C10F2D01C10F48021D";
attribute INIT_32 of ram_1024_x_18 : label is "01C10F43021DA00001C10F4401C10F49A00001C10F6501C10F6701C10F6101C1";
attribute INIT_33 of ram_1024_x_18 : label is "01C10F2802AA022001C10F6D01C10F7201C10F6901C10F6601C10F6E01C10F6F";
attribute INIT_34 of ram_1024_x_18 : label is "0F6F01C10F6201C10F41021DA000022001C10F2901C10F6E01C10F2F01C10F59";
attribute INIT_35 of ram_1024_x_18 : label is "0F7201C101C10F6401C10F610220031F021DA000021D01C10F7401C10F7201C1";
attribute INIT_36 of ram_1024_x_18 : label is "0000000000000000000000000000A00001C10F3D01C101C10F7301C10F6501C1";
attribute INIT_37 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_38 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_39 of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3A of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3B of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3C of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3D of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3E of ram_1024_x_18 : label is "0000000000000000000000000000000000000000000000000000000000000000";
attribute INIT_3F of ram_1024_x_18 : label is "43F580016000C010001143FC001353FB20104000E00000000000000000000000";
attribute INITP_00 of ram_1024_x_18 : label is "D351DFDF2CCFFCF3CDFFFFFCCCCCFDFFFFFF7FFFCF3CF3FB3FFCF777777CFFFF";
attribute INITP_01 of ram_1024_x_18 : label is "3DDC0302CF7700F7302F7715F3F2118674436CC99F72E7F7AB53D57DA03D3D34";
attribute INITP_02 of ram_1024_x_18 : label is "DE8CA3EDE8CCCCA3EA3CCCCA3A8333CA3A8CA3A8CA3A8F28ED88920A8B3DDD3B";
attribute INITP_03 of ram_1024_x_18 : label is "32CCE5D8C0EA89B19A2C998999752BD3D3D2F4F4EDCB72DCB72D2DE82CCCCA3E";
attribute INITP_04 of ram_1024_x_18 : label is "333CCCCCCCBF33333CCCCCCCCCCF33333CCCF333333333ECB26676662CAA2CB3";
attribute INITP_05 of ram_1024_x_18 : label is "CFF333333CCCCCCCCCFF33333333F33CCEF33BCCCCCBF3333333CCEF3333CCCF";
attribute INITP_06 of ram_1024_x_18 : label is "000000000002CF333CCFEF33333BCCCCCFCCCCCCCECCB3332F333333FCCCCCCC";
attribute INITP_07 of ram_1024_x_18 : label is "F233480000000000000000000000000000000000000000000000000000000000";
--
begin
--
--Instantiate the Xilinx primitive for a block RAM
ram_1024_x_18: RAMB16_S9_S18
--synthesis translate_off
--INIT values repeated to define contents for functional simulation
generic map (INIT_00 => X"40505040405350334045001D01C10F3E021D021D02BD0223021DC00101AA010E",
INIT_01 => X"10F001C101AF400601C101C101C10F3F021D5003404850224049505940525054",
INIT_02 => X"01F71070022001F71080022001F71090022001C10F3D0328013E021DA00001CE",
INIT_03 => X"4006034A400602B601730293021D543E4F5901C101AF032D021D4006021D0220",
INIT_04 => X"015F0903015F0902015F0901015F09000293021D543E4F5901C101AF032D021D",
INIT_05 => X"006919005C594020585900690357400602B6006F026C021D400602B6015F0904",
INIT_06 => X"0A00A00002041200001D1300001D400602B600C9021D17005859006918005859",
INIT_07 => X"54865290620150884A008D040D2BCE0150A14B04021D01FD50A54B0100B900A9",
INIT_08 => X"0200010E000871D00A010181548C4A000A00018F508852706203548652806202",
INIT_09 => X"E703E802E90154885DE08D010A00018F549A4700A900A80087010112548EC001",
INIT_0A => X"B0004F0D01AF54AA4F3A01AF0E2BA000018FB0004A00406F018F50704A004070",
INIT_0B => X"4B0450C44B007BD08D037CD00D2B40AD8E01F0E0020412F001AF13F0B0004F0A",
INIT_0C => X"014E02200510022001FD021D0610A00078D0CD0177D0CD01A00079D08D02B400",
INIT_0D => X"12700181070008340912A000021D54CAC60154CEC50101F71020A900A8008701",
INIT_0E => X"01C10F6640EF54E8870154EE5270014E0700083409120F70018F5CDF87010112",
INIT_0F => X"0F66410054F9870154FF42FF014E0700083409120F70015F070008000912A000",
INIT_10 => X"C00800AEA00001C10F66410C550B4715550B4820550B49200F70013EA00001C1",
INIT_11 => X"010EA0005514C101C008E001C008E001020023804302C20460040108A000E004",
INIT_12 => X"01120206E004C008E002010EA000E004C008E002011201120205E004C008E002",
INIT_13 => X"E002010EA000E004C008E00201120204E004C008E002010EA000E004C008E002",
INIT_14 => X"E002010EA000E004C008E0021720011218200112192001120112029FE004C008",
INIT_15 => X"012AA000E004C008E002011201121270011212800112129001120203E004C008",
INIT_16 => X"011FE004C008E002011212700112128001121290011202D8E004C008E002010E",
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -