URL
https://opencores.org/ocsvn/mod_sim_exp/mod_sim_exp/trunk
Subversion Repositories mod_sim_exp
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 16 to Rev 15
- ↔ Reverse comparison
Rev 16 → Rev 15
/mod_sim_exp/trunk/rtl/vhdl/core/mod_sim_exp_pkg.vhd
50,11 → 50,7
|
package mod_sim_exp_pkg is |
|
-------------------------------------------------------------------- |
-- d_flip_flop |
-------------------------------------------------------------------- |
-- 1-bit D flip-flop with asynchronous active high reset |
-- |
-- 1-bit D flip-flop with asynchronous active high reset |
component d_flip_flop is |
port( |
core_clk : in std_logic; -- clock signal |
64,11 → 60,7
); |
end component d_flip_flop; |
|
-------------------------------------------------------------------- |
-- register_1b |
-------------------------------------------------------------------- |
-- 1-bit register with asynchronous reset and clock enable |
-- |
-- 1-bit register with asynchronous reset and clock enable |
component register_1b is |
port( |
core_clk : in std_logic; -- clock input |
79,29 → 71,21
); |
end component register_1b; |
|
-------------------------------------------------------------------- |
-- register_n |
-------------------------------------------------------------------- |
-- n-bit register with asynchronous reset and clock enable |
-- |
-- n-bit register with asynchronous reset and clock enable |
component register_n is |
generic( |
width : integer := 4 |
n : integer := 4 |
); |
port( |
core_clk : in std_logic; -- clock input |
ce : in std_logic; -- clock enable (active high) |
reset : in std_logic; -- reset (active high) |
din : in std_logic_vector((width-1) downto 0); -- data in (width)-bit |
dout : out std_logic_vector((width-1) downto 0) -- data out (width)-bit |
din : in std_logic_vector((n-1) downto 0); -- data in (n-bit) |
dout : out std_logic_vector((n-1) downto 0) -- data out (n-bit) |
); |
end component register_n; |
|
-------------------------------------------------------------------- |
-- cell_1b_adder |
-------------------------------------------------------------------- |
-- 1-bit full adder cell using combinatorial logic |
-- |
-- 1-bit full adder cell |
component cell_1b_adder is |
port ( |
-- input operands a, b |
115,12 → 99,7
); |
end component cell_1b_adder; |
|
-------------------------------------------------------------------- |
-- cell_1b_mux |
-------------------------------------------------------------------- |
-- 1-bit mux for a standard cell in the montgommery multiplier |
-- systolic array |
-- |
-- 1-bit mux for a standard cell in the montgommery multiplier systolic array |
component cell_1b_mux is |
port ( |
-- input bits |
135,11 → 114,7
); |
end component cell_1b_mux; |
|
-------------------------------------------------------------------- |
-- cell_1b |
-------------------------------------------------------------------- |
-- 1-bit cell for the systolic array |
-- |
-- 1-bit cell for the systolic array |
component cell_1b is |
port ( |
-- operand input bits (m+y, y and m) |
146,7 → 121,7
my : in std_logic; |
y : in std_logic; |
m : in std_logic; |
-- operand x input bit and q |
-- operand x input bit and q (serial) |
x : in std_logic; |
q : in std_logic; |
-- previous result input bit |
159,12 → 134,8
); |
end component cell_1b; |
|
-------------------------------------------------------------------- |
-- adder_block |
-------------------------------------------------------------------- |
-- (width)-bit full adder block using cell_1b_adders with buffered |
-- carry out |
-- |
-- (width)-bit full adder block using cell_1b_adders |
-- with buffered carry out |
component adder_block is |
generic ( |
width : integer := 32 --adder operand widths |
183,13 → 154,8
); |
end component adder_block; |
|
-------------------------------------------------------------------- |
-- adder_n |
-------------------------------------------------------------------- |
-- n-bit adder using adder blocks. works in stages, to prevent |
-- large carry propagation. |
-- Result avaiable after (width/block_width) clock cycles |
-- |
-- n-bit adder using adder blocks. works in stages, to prevent large |
-- carry propagation |
component adder_n is |
generic ( |
width : integer := 1536; -- adder operands width |