gupl 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/sig/gupl.rbs ADDED
@@ -0,0 +1,4 @@
1
+ module Gupl
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
@@ -0,0 +1,57 @@
1
+ library ieee;
2
+ use ieee.std_logic_1164.all;
3
+ use ieee.numeric_std.all;
4
+
5
+ entity simple_dualportram is
6
+
7
+ generic (
8
+ DEPTH : integer := 10;
9
+ WIDTH : integer := 32;
10
+ WORDS : integer := 1024
11
+ );
12
+
13
+ port (
14
+ clk : in std_logic;
15
+ reset : in std_logic;
16
+ we : in std_logic_vector(0 downto 0);
17
+ raddr : in std_logic_vector(31 downto 0);
18
+ waddr : in std_logic_vector(31 downto 0);
19
+ dout : out std_logic_vector(WIDTH-1 downto 0);
20
+ din : in std_logic_vector(WIDTH-1 downto 0);
21
+ length : out std_logic_vector(31 downto 0)
22
+ );
23
+
24
+ end simple_dualportram;
25
+
26
+ architecture RTL of simple_dualportram is
27
+
28
+ type ram_type is array (WORDS-1 downto 0) of std_logic_vector (WIDTH-1 downto 0);
29
+ signal RAM: ram_type := (others => (others => '0'));
30
+
31
+ attribute ram_style : string;
32
+ attribute ram_style of RAM : signal is "block";
33
+
34
+ signal q : std_logic_vector(WIDTH-1 downto 0) := (others => '0');
35
+
36
+ begin -- RTL
37
+
38
+ length <= std_logic_vector(to_signed(WORDS, length'length));
39
+ dout <= q;
40
+
41
+ process (clk)
42
+ begin -- process
43
+ if rising_edge(clk) then
44
+ if we(0) = '1' then
45
+ RAM(to_integer(unsigned(waddr(DEPTH-1 downto 0)))) <= din;
46
+ end if;
47
+ end if;
48
+ end process;
49
+
50
+ process (clk)
51
+ begin -- process
52
+ if rising_edge(clk) then
53
+ q <= RAM(to_integer(unsigned(raddr(DEPTH-1 downto 0))));
54
+ end if;
55
+ end process;
56
+
57
+ end RTL;
metadata ADDED
@@ -0,0 +1,64 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gupl
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Takefumi MIYOSHI
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2022-06-05 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: gupl makes UPL modules, which is a VHDL generator.
14
+ email:
15
+ - miyo@wasamon.net
16
+ executables:
17
+ - gupl
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - CHANGELOG.md
22
+ - CODE_OF_CONDUCT.md
23
+ - Gemfile
24
+ - LICENSE
25
+ - README.md
26
+ - Rakefile
27
+ - example/command_parser.gupl
28
+ - example/command_parser_tb.vhd
29
+ - example/sendrecv.gupl
30
+ - example/sendrecv_tb.vhd
31
+ - example/udpled.gupl
32
+ - exe/gupl
33
+ - gupl.gemspec
34
+ - lib/gupl.rb
35
+ - lib/gupl/version.rb
36
+ - sig/gupl.rbs
37
+ - vhdl_lib/simple_dualportram.vhd
38
+ homepage: https://github.com/e-trees/gupl
39
+ licenses: []
40
+ metadata:
41
+ allowed_push_host: https://rubygems.org
42
+ homepage_uri: https://github.com/e-trees/gupl
43
+ source_code_uri: https://github.com/e-trees/gupl
44
+ changelog_uri: https://github.com/e-trees/gupl/CHANGELOG.md
45
+ post_install_message:
46
+ rdoc_options: []
47
+ require_paths:
48
+ - lib
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 2.6.0
54
+ required_rubygems_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ requirements: []
60
+ rubygems_version: 3.1.2
61
+ signing_key:
62
+ specification_version: 4
63
+ summary: gupl makes UPL module.
64
+ test_files: []