]> AND Private Git Repository - blast.git/blob - lib/implementations/clkdomain_convert_1024x8_impl.xml
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
clkconvert OP compute done
[blast.git] / lib / implementations / clkdomain_convert_1024x8_impl.xml
1 <!DOCTYPE clkdomain_convert_1024x8>
2 <block_impl ref_name="clkdomain_convert_1024x8.xml" ref_md5="">
3   <comments>
4     <author mail="sdomas@univ-fcomte.fr" lastname="domas" firstname="stephane"/>
5     <log creation="2018-05-02">
6     </log>
7     <notes>
8     </notes>
9   </comments>
10   <libraries>
11     <library name="ieee">
12       <package use="all" name="std_logic_1164"/>
13       <package use="all" name="numeric_std"/>
14     </library>
15   </libraries>
16   <architecture comp_list="clkdconvert_1024x8">
17 component clkdconvert_1024x8
18 port (
19 rst : in std_logic;
20 wr_clk : in std_logic;
21 rd_clk : in std_logic;
22 din : in std_logic_vector(7 downto 0);
23 wr_en : in std_logic;
24 rd_en : in std_logic;
25 dout : out std_logic_vector(7 downto 0);
26 full : out std_logic;
27 empty : out std_logic
28 );
29 end component;
30
31 signal rd_en : std_logic;
32 signal full : std_logic;
33 signal empty : std_logic;
34
35 begin
36
37 clkdconvert_1024x8_1 : clkdconvert_1024x8
38 port map (
39 rst => @{reset},
40 wr_clk => @{clk_in},
41 rd_clk => @{clk_out},
42 din => @{data_in},
43 wr_en => @{data_in_enb},
44 rd_en => rd_en,
45 dout => @{data_out},
46 full => full,
47 empty => empty
48 );
49
50 rd_en &lt;= not empty;
51
52 read_fifo : process(@{clk_out}, @{reset})
53 begin
54 if @{reset} = '1' then
55 @{data_out_enb} &lt;= '0';
56 elsif rising_edge(@{clk_out}) then
57 @{data_out_enb} &lt;= '0';
58 if empty = '0' then
59 @{data_out_enb} &lt;= '1';
60 end if;
61 end if;
62 end process read_fifo;
63
64 end architecture clkdomain_convert_1024x8_1;
65 </architecture>
66   <patterns>
67     <delta value="1"/>
68     <consumption>
69       <input name="data_in_enb" pattern="1"/>
70     </consumption>
71     <production counter="1">
72       <output name="data_out_enb" pattern="01"/>
73     </production>
74   </patterns>
75 </block_impl>