mirror of
https://github.com/Klagarge/Cursor.git
synced 2025-06-26 04:12:31 +00:00
Initial commit
This commit is contained in:
16
Libs/Sequential/hdl/DFFE_pre_sim.vhd
Normal file
16
Libs/Sequential/hdl/DFFE_pre_sim.vhd
Normal file
@ -0,0 +1,16 @@
|
||||
ARCHITECTURE sim OF DFFE_pre IS
|
||||
BEGIN
|
||||
|
||||
process(clk, pre)
|
||||
begin
|
||||
if pre = '1' then
|
||||
q <= '1' after delay;
|
||||
elsif rising_edge(clk) then
|
||||
if e = '1' then
|
||||
q <= d after delay;
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
END ARCHITECTURE sim;
|
||||
|
16
Libs/Sequential/hdl/DFFE_sim.vhd
Normal file
16
Libs/Sequential/hdl/DFFE_sim.vhd
Normal file
@ -0,0 +1,16 @@
|
||||
ARCHITECTURE sim OF DFFE IS
|
||||
BEGIN
|
||||
|
||||
process(clk, clr)
|
||||
begin
|
||||
if clr = '1' then
|
||||
q <= '0' after delay;
|
||||
elsif rising_edge(clk) then
|
||||
if e = '1' then
|
||||
q <= d after delay;
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
END ARCHITECTURE sim;
|
||||
|
16
Libs/Sequential/hdl/DFFE_sim1.vhd
Normal file
16
Libs/Sequential/hdl/DFFE_sim1.vhd
Normal file
@ -0,0 +1,16 @@
|
||||
ARCHITECTURE sim OF DFFE_pre IS
|
||||
BEGIN
|
||||
|
||||
process(clk, pre)
|
||||
begin
|
||||
if pre = '1' then
|
||||
q <= '1' after delay;
|
||||
elsif rising_edge(clk) then
|
||||
if e = '1' then
|
||||
q <= d after delay;
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
END ARCHITECTURE sim;
|
||||
|
13
Libs/Sequential/hdl/DFF_pre_sim.vhd
Normal file
13
Libs/Sequential/hdl/DFF_pre_sim.vhd
Normal file
@ -0,0 +1,13 @@
|
||||
ARCHITECTURE sim OF DFF_pre IS
|
||||
BEGIN
|
||||
|
||||
process(clk, pre)
|
||||
begin
|
||||
if pre = '1' then
|
||||
q <= '1' after delay;
|
||||
elsif rising_edge(clk) then
|
||||
q <= d after delay;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
END sim;
|
13
Libs/Sequential/hdl/DFF_sim.vhd
Normal file
13
Libs/Sequential/hdl/DFF_sim.vhd
Normal file
@ -0,0 +1,13 @@
|
||||
ARCHITECTURE sim OF DFF IS
|
||||
BEGIN
|
||||
|
||||
process(clk, clr)
|
||||
begin
|
||||
if clr = '1' then
|
||||
q <= '0' after delay;
|
||||
elsif rising_edge(clk) then
|
||||
q <= d after delay;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
END sim;
|
18
Libs/Sequential/hdl/DFF_sim1.vhd
Normal file
18
Libs/Sequential/hdl/DFF_sim1.vhd
Normal file
@ -0,0 +1,18 @@
|
||||
ARCHITECTURE sim OF TFF IS
|
||||
|
||||
signal q_int: std_ulogic;
|
||||
|
||||
BEGIN
|
||||
|
||||
process(clk, clr)
|
||||
begin
|
||||
if clr = '1' then
|
||||
q_int <= '0' after delay;
|
||||
elsif rising_edge(clk) then
|
||||
q_int <= t xor q_int after delay;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
q <= q_int;
|
||||
|
||||
END sim;
|
18
Libs/Sequential/hdl/DFF_sim11.vhd
Normal file
18
Libs/Sequential/hdl/DFF_sim11.vhd
Normal file
@ -0,0 +1,18 @@
|
||||
ARCHITECTURE sim OF TFF_pre IS
|
||||
|
||||
signal q_int: std_ulogic;
|
||||
|
||||
BEGIN
|
||||
|
||||
process(clk, pre)
|
||||
begin
|
||||
if pre = '1' then
|
||||
q_int <= '1' after delay;
|
||||
elsif rising_edge(clk) then
|
||||
q_int <= t xor q_int after delay;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
q <= q_int;
|
||||
|
||||
END sim;
|
13
Libs/Sequential/hdl/DFF_sim2.vhd
Normal file
13
Libs/Sequential/hdl/DFF_sim2.vhd
Normal file
@ -0,0 +1,13 @@
|
||||
ARCHITECTURE sim OF DFF_pre IS
|
||||
BEGIN
|
||||
|
||||
process(clk, pre)
|
||||
begin
|
||||
if pre = '1' then
|
||||
q <= '1' after delay;
|
||||
elsif rising_edge(clk) then
|
||||
q <= d after delay;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
END sim;
|
18
Libs/Sequential/hdl/TFF_pre_sim.vhd
Normal file
18
Libs/Sequential/hdl/TFF_pre_sim.vhd
Normal file
@ -0,0 +1,18 @@
|
||||
ARCHITECTURE sim OF TFF_pre IS
|
||||
|
||||
signal q_int: std_ulogic;
|
||||
|
||||
BEGIN
|
||||
|
||||
process(clk, pre)
|
||||
begin
|
||||
if pre = '1' then
|
||||
q_int <= '1' after delay;
|
||||
elsif rising_edge(clk) then
|
||||
q_int <= t xor q_int after delay;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
q <= q_int;
|
||||
|
||||
END sim;
|
18
Libs/Sequential/hdl/TFF_sim.vhd
Normal file
18
Libs/Sequential/hdl/TFF_sim.vhd
Normal file
@ -0,0 +1,18 @@
|
||||
ARCHITECTURE sim OF TFF IS
|
||||
|
||||
signal q_int: std_ulogic;
|
||||
|
||||
BEGIN
|
||||
|
||||
process(clk, clr)
|
||||
begin
|
||||
if clr = '1' then
|
||||
q_int <= '0' after delay;
|
||||
elsif rising_edge(clk) then
|
||||
q_int <= t xor q_int after delay;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
q <= q_int;
|
||||
|
||||
END sim;
|
46
Libs/Sequential/hdl/accumulator_RTL.vhd
Normal file
46
Libs/Sequential/hdl/accumulator_RTL.vhd
Normal file
@ -0,0 +1,46 @@
|
||||
--------------------------------------------------------------------------------
|
||||
-- Copyright 2013 HES-SO Valais Wallis (www.hevs.ch)
|
||||
--
|
||||
-- This program is free software: you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
-- the Free Software Foundation; either version 3 of the License, or
|
||||
-- (at your option) any later version.
|
||||
--
|
||||
-- This program IS distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-- GNU General Public License for more details.
|
||||
-- You should have received a copy of the GNU General Public License along with
|
||||
-- this program. If not, see <http://www.gnu.org/licenses/>
|
||||
--------------------------------------------------------------------------------
|
||||
-- Accumulator
|
||||
-- Accumulator with the step as signal and a synchronous clear signal.
|
||||
--
|
||||
-- Created on 2013-03-03
|
||||
--
|
||||
-- Version: 1.0
|
||||
-- Author: Oliver A. Gubler (oliver.gubler@hevs.ch)
|
||||
--------------------------------------------------------------------------------
|
||||
--
|
||||
ARCHITECTURE RTL OF accumulator IS
|
||||
signal sum_s : unsigned(bitNb-1 downto 0);
|
||||
begin
|
||||
|
||||
process (clock, reset)
|
||||
begin
|
||||
if reset = '1' then
|
||||
sum_s <= (OTHERS => '0');
|
||||
elsif rising_edge(clock) then
|
||||
if enable = '1' then
|
||||
sum_s <= unsigned(step) + sum_s;
|
||||
end if;
|
||||
if clear = '1' then
|
||||
sum_s <= (OTHERS => '0');
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
acc <= sum_s;
|
||||
|
||||
END ARCHITECTURE RTL;
|
||||
|
46
Libs/Sequential/hdl/counterEnableResetSync_rtl.vhd
Normal file
46
Libs/Sequential/hdl/counterEnableResetSync_rtl.vhd
Normal file
@ -0,0 +1,46 @@
|
||||
--------------------------------------------------------------------------------
|
||||
-- Copyright 2013 HES-SO Valais Wallis (www.hevs.ch)
|
||||
--
|
||||
-- This program is free software: you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
-- the Free Software Foundation; either version 3 of the License, or
|
||||
-- (at your option) any later version.
|
||||
--
|
||||
-- This program IS distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-- GNU General Public License for more details.
|
||||
-- You should have received a copy of the GNU General Public License along with
|
||||
-- this program. If not, see <http://www.gnu.org/licenses/>
|
||||
--------------------------------------------------------------------------------
|
||||
-- Counter
|
||||
-- Simple counter with a generic width of nbBits.
|
||||
--
|
||||
-- Created on 2013-08-10
|
||||
--
|
||||
-- Version: 1.0
|
||||
-- Author: Oliver A. Gubler (oliver.gubler@hevs.ch)
|
||||
--------------------------------------------------------------------------------
|
||||
--
|
||||
ARCHITECTURE rtl OF counterEnableResetSync IS
|
||||
|
||||
signal sCountOut: unsigned(countOut'range);
|
||||
|
||||
BEGIN
|
||||
|
||||
countEndlessly: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
sCountOut <= (others => '0');
|
||||
elsif rising_edge(clock) then
|
||||
if resetSync = '1' then
|
||||
sCountOut <= (others => '0');
|
||||
elsif enable = '1' then
|
||||
sCountOut <= sCountOut + 1;
|
||||
end if;
|
||||
end if;
|
||||
end process countEndlessly;
|
||||
|
||||
countOut <= sCountOut after delay;
|
||||
|
||||
END ARCHITECTURE RTL;
|
44
Libs/Sequential/hdl/counterEnable_rtl.vhd
Normal file
44
Libs/Sequential/hdl/counterEnable_rtl.vhd
Normal file
@ -0,0 +1,44 @@
|
||||
--------------------------------------------------------------------------------
|
||||
-- Copyright 2013 HES-SO Valais Wallis (www.hevs.ch)
|
||||
--
|
||||
-- This program is free software: you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
-- the Free Software Foundation; either version 3 of the License, or
|
||||
-- (at your option) any later version.
|
||||
--
|
||||
-- This program IS distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-- GNU General Public License for more details.
|
||||
-- You should have received a copy of the GNU General Public License along with
|
||||
-- this program. If not, see <http://www.gnu.org/licenses/>
|
||||
--------------------------------------------------------------------------------
|
||||
-- Counter
|
||||
-- Simple counter with a generic width of nbBits.
|
||||
--
|
||||
-- Created on 2013-08-10
|
||||
--
|
||||
-- Version: 1.0
|
||||
-- Author: Oliver A. Gubler (oliver.gubler@hevs.ch)
|
||||
--------------------------------------------------------------------------------
|
||||
--
|
||||
ARCHITECTURE rtl OF counterEnable IS
|
||||
|
||||
signal sCountOut: unsigned(countOut'range);
|
||||
|
||||
BEGIN
|
||||
|
||||
countEndlessly: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
sCountOut <= (others => '0');
|
||||
elsif rising_edge(clock) then
|
||||
if enable = '1' then
|
||||
sCountOut <= sCountOut + 1;
|
||||
end if;
|
||||
end if;
|
||||
end process countEndlessly;
|
||||
|
||||
countOut <= sCountOut after delay;
|
||||
|
||||
END ARCHITECTURE RTL;
|
22
Libs/Sequential/hdl/counterRestart_RTL.vhd
Normal file
22
Libs/Sequential/hdl/counterRestart_RTL.vhd
Normal file
@ -0,0 +1,22 @@
|
||||
ARCHITECTURE RTL OF counterRestart IS
|
||||
|
||||
signal count: unsigned(countOut'range);
|
||||
|
||||
BEGIN
|
||||
|
||||
countWithRestart: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
count <= (others => '0');
|
||||
elsif rising_edge(clock) then
|
||||
if restart = '1' then
|
||||
count <= (others => '0');
|
||||
else
|
||||
count <= count+1;
|
||||
end if;
|
||||
end if;
|
||||
end process countWithRestart;
|
||||
|
||||
countOut <= count after delay;
|
||||
|
||||
END ARCHITECTURE RTL;
|
24
Libs/Sequential/hdl/counterUpDownEnable_RTL.vhd
Normal file
24
Libs/Sequential/hdl/counterUpDownEnable_RTL.vhd
Normal file
@ -0,0 +1,24 @@
|
||||
ARCHITECTURE RTL OF counterUpDownEnable IS
|
||||
|
||||
signal sCountOut: unsigned(countOut'range);
|
||||
|
||||
BEGIN
|
||||
|
||||
count: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
sCountOut <= (others => '0');
|
||||
elsif rising_edge(clock) then
|
||||
if enable = '1' then
|
||||
if up = '1' then
|
||||
sCountOut <= sCountOut + 1;
|
||||
elsif down = '1' then
|
||||
sCountOut <= sCountOut - 1;
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
end process count;
|
||||
|
||||
countOut <= sCountOut after delay;
|
||||
|
||||
END ARCHITECTURE RTL;
|
22
Libs/Sequential/hdl/counterUpDown_RTL.vhd
Normal file
22
Libs/Sequential/hdl/counterUpDown_RTL.vhd
Normal file
@ -0,0 +1,22 @@
|
||||
ARCHITECTURE RTL OF counterUpDown IS
|
||||
|
||||
signal sCountOut: unsigned(countOut'range);
|
||||
|
||||
BEGIN
|
||||
|
||||
count: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
sCountOut <= (others => '0');
|
||||
elsif rising_edge(clock) then
|
||||
if up = '1' then
|
||||
sCountOut <= sCountOut + 1;
|
||||
elsif down = '1' then
|
||||
sCountOut <= sCountOut - 1;
|
||||
end if;
|
||||
end if;
|
||||
end process count;
|
||||
|
||||
countOut <= sCountOut after delay;
|
||||
|
||||
END ARCHITECTURE RTL;
|
18
Libs/Sequential/hdl/counter_rtl.vhd
Normal file
18
Libs/Sequential/hdl/counter_rtl.vhd
Normal file
@ -0,0 +1,18 @@
|
||||
ARCHITECTURE RTL OF counter IS
|
||||
|
||||
signal count: unsigned(countOut'range);
|
||||
|
||||
BEGIN
|
||||
|
||||
countEndlessly: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
count <= (others => '0');
|
||||
elsif rising_edge(clock) then
|
||||
count <= count+1;
|
||||
end if;
|
||||
end process countEndlessly;
|
||||
|
||||
countOut <= count after delay;
|
||||
|
||||
END ARCHITECTURE RTL;
|
50
Libs/Sequential/hdl/edgeDetector_arch.vhd
Normal file
50
Libs/Sequential/hdl/edgeDetector_arch.vhd
Normal file
@ -0,0 +1,50 @@
|
||||
--------------------------------------------------------------------------------
|
||||
-- Copyright 2014 HES-SO Valais Wallis (www.hevs.ch)
|
||||
--
|
||||
-- This program is free software: you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
-- the Free Software Foundation; either version 3 of the License, or
|
||||
-- (at your option) any later version.
|
||||
--
|
||||
-- This program IS distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-- GNU General Public License for more details.
|
||||
-- You should have received a copy of the GNU General Public License along with
|
||||
-- this program. If not, see <http://www.gnu.org/licenses/>
|
||||
--------------------------------------------------------------------------------
|
||||
-- EdgeDetector
|
||||
-- Detect rising and falling edges of a signal.
|
||||
--
|
||||
-- Created on 2014-04-02
|
||||
--
|
||||
-- Version: 1.0
|
||||
-- Author: Oliver A. Gubler (oliver.gubler@hevs.ch)
|
||||
--------------------------------------------------------------------------------
|
||||
ARCHITECTURE arch OF edgeDetector IS
|
||||
|
||||
SIGNAL signal_s : std_ulogic;
|
||||
SIGNAL rising_detected_s : std_ulogic;
|
||||
SIGNAL falling_detected_s : std_ulogic;
|
||||
|
||||
BEGIN
|
||||
|
||||
-- sync
|
||||
reg : PROCESS (reset,clock)
|
||||
BEGIN
|
||||
IF reset = '1' THEN
|
||||
signal_s <= '0';
|
||||
ELSIF rising_edge(clock) THEN
|
||||
signal_s <= input;
|
||||
END IF;
|
||||
END PROCESS reg ;
|
||||
|
||||
-- edge detection
|
||||
rising_detected_s <= input AND NOT signal_s;
|
||||
falling_detected_s <= NOT input AND signal_s;
|
||||
|
||||
-- output
|
||||
rising_detected <= rising_detected_s;
|
||||
falling_detected <= falling_detected_s;
|
||||
|
||||
END ARCHITECTURE arch;
|
28
Libs/Sequential/hdl/freqDividerEnable_RTL.vhd
Normal file
28
Libs/Sequential/hdl/freqDividerEnable_RTL.vhd
Normal file
@ -0,0 +1,28 @@
|
||||
LIBRARY Common;
|
||||
USE Common.CommonLib.all;
|
||||
|
||||
ARCHITECTURE RTL OF freqDividerEnable IS
|
||||
|
||||
signal count: unsigned(requiredBitNb(divideValue)-1 downto 0);
|
||||
|
||||
BEGIN
|
||||
|
||||
countEndlessly: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
count <= (others => '0');
|
||||
elsif rising_edge(clock) then
|
||||
if enIn = '1' then
|
||||
if count = 0 then
|
||||
count <= to_unsigned(divideValue-1, count'length);
|
||||
else
|
||||
count <= count-1 ;
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
end process countEndlessly;
|
||||
|
||||
enOut <= '1' after delay when count = 0
|
||||
else '0' after delay;
|
||||
|
||||
END ARCHITECTURE RTL;
|
26
Libs/Sequential/hdl/freqDivider_RTL.vhd
Normal file
26
Libs/Sequential/hdl/freqDivider_RTL.vhd
Normal file
@ -0,0 +1,26 @@
|
||||
LIBRARY Common;
|
||||
USE Common.CommonLib.all;
|
||||
|
||||
ARCHITECTURE RTL OF freqDivider IS
|
||||
|
||||
signal count: unsigned(requiredBitNb(divideValue)-1 downto 0);
|
||||
|
||||
BEGIN
|
||||
|
||||
countEndlessly: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
count <= (others => '0');
|
||||
elsif rising_edge(clock) then
|
||||
if count = 0 then
|
||||
count <= to_unsigned(divideValue-1, count'length);
|
||||
else
|
||||
count <= count-1 ;
|
||||
end if;
|
||||
end if;
|
||||
end process countEndlessly;
|
||||
|
||||
enable <= '1' after delay when count = 0
|
||||
else '0' after delay;
|
||||
|
||||
END ARCHITECTURE RTL;
|
16
Libs/Sequential/hdl/registerLogicVector_sim.vhd
Normal file
16
Libs/Sequential/hdl/registerLogicVector_sim.vhd
Normal file
@ -0,0 +1,16 @@
|
||||
ARCHITECTURE sim OF registerLogicVector IS
|
||||
BEGIN
|
||||
|
||||
registerData: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
dataOut <= (others => '0') after delay;
|
||||
elsif rising_edge(clock) then
|
||||
if enable = '1' then
|
||||
dataOut <= dataIn after delay;
|
||||
end if;
|
||||
end if;
|
||||
end process registerData;
|
||||
|
||||
END ARCHITECTURE sim;
|
||||
|
16
Libs/Sequential/hdl/registerSigned_sim.vhd
Normal file
16
Libs/Sequential/hdl/registerSigned_sim.vhd
Normal file
@ -0,0 +1,16 @@
|
||||
ARCHITECTURE sim OF registerSigned IS
|
||||
BEGIN
|
||||
|
||||
registerData: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
dataOut <= (others => '0') after delay;
|
||||
elsif rising_edge(clock) then
|
||||
if enable = '1' then
|
||||
dataOut <= dataIn after delay;
|
||||
end if;
|
||||
end if;
|
||||
end process registerData;
|
||||
|
||||
END ARCHITECTURE sim;
|
||||
|
16
Libs/Sequential/hdl/registerULogicVectorTo_RTL.vhd
Normal file
16
Libs/Sequential/hdl/registerULogicVectorTo_RTL.vhd
Normal file
@ -0,0 +1,16 @@
|
||||
ARCHITECTURE sim OF registerULogicVectorTo IS
|
||||
BEGIN
|
||||
|
||||
registerData: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
dataOut <= (others => '0') after delay;
|
||||
elsif rising_edge(clock) then
|
||||
if enable = '1' then
|
||||
dataOut <= dataIn after delay;
|
||||
end if;
|
||||
end if;
|
||||
end process registerData;
|
||||
|
||||
END ARCHITECTURE sim;
|
||||
|
16
Libs/Sequential/hdl/registerULogicVector_sim.vhd
Normal file
16
Libs/Sequential/hdl/registerULogicVector_sim.vhd
Normal file
@ -0,0 +1,16 @@
|
||||
ARCHITECTURE sim OF registerULogicVector IS
|
||||
BEGIN
|
||||
|
||||
registerData: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
dataOut <= (others => '0') after delay;
|
||||
elsif rising_edge(clock) then
|
||||
if enable = '1' then
|
||||
dataOut <= dataIn after delay;
|
||||
end if;
|
||||
end if;
|
||||
end process registerData;
|
||||
|
||||
END ARCHITECTURE sim;
|
||||
|
16
Libs/Sequential/hdl/registerULogicVector_sim1.vhd
Normal file
16
Libs/Sequential/hdl/registerULogicVector_sim1.vhd
Normal file
@ -0,0 +1,16 @@
|
||||
ARCHITECTURE sim OF registerLogicVector IS
|
||||
BEGIN
|
||||
|
||||
registerData: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
dataOut <= (others => '0') after delay;
|
||||
elsif rising_edge(clock) then
|
||||
if enable = '1' then
|
||||
dataOut <= dataIn after delay;
|
||||
end if;
|
||||
end if;
|
||||
end process registerData;
|
||||
|
||||
END ARCHITECTURE sim;
|
||||
|
16
Libs/Sequential/hdl/registerUnsigned_sim.vhd
Normal file
16
Libs/Sequential/hdl/registerUnsigned_sim.vhd
Normal file
@ -0,0 +1,16 @@
|
||||
ARCHITECTURE sim OF registerUnsigned IS
|
||||
BEGIN
|
||||
|
||||
registerData: process(reset, clock)
|
||||
begin
|
||||
if reset = '1' then
|
||||
dataOut <= (others => '0') after delay;
|
||||
elsif rising_edge(clock) then
|
||||
if enable = '1' then
|
||||
dataOut <= dataIn after delay;
|
||||
end if;
|
||||
end if;
|
||||
end process registerData;
|
||||
|
||||
END ARCHITECTURE sim;
|
||||
|
Reference in New Issue
Block a user