D
DoraSzasz
Guest
Hej ... jeg ønsker koden i Xilinx .... jeg indset koden i VHDL, men jeg kender ikke til sølet i Verilog ...
Her er den kode .... men jeg har et problem på tælleren ... Efter 10 counters vises antallet mindre med 10, at den tidligere nummer ....
library IEEE;
brug ieee.std_logic_1164.all;
brug ieee.std_logic_arith.all;
brug ieee.std_logic_unsigned.all;
enhed counter er
port (enable1: i std_logic;
CLK: i bit;
nulstillet, reset1: i bit;
bcd_d: out std_logic_vector (7 downto 0));
udgangen counter;
arkitektur arch af counter er
signal qint, qint1: std_logic_vector (3 downto 0);
signal full1: std_logic;
begynd
CNT1: processen (enable1, CLK, reset)
- Erklæringer
begynd
hvis reset ='1 'og derefter
qint <= (andre =>'0 ');
elsif CLK ='1 'og clk'event derefter
hvis enable1 ='1 'og derefter
hvis qint (0) ='1 'og qint (3) ='1'
og derefter
full1 <='1 ';
qint <= (andre =>'0 ');
anden
qint <= qint 1;
full1 <='0 ';
udgangen, hvis;
udgangen, hvis;
udgangen, hvis;
bcd_d (3 downto 0) <= qint;
ende proces;
CNT2: processen (full1, CLK, reset1)
begynd
hvis reset1 ='1 'og derefter
qint1 <= (andre =>'0 ');
elsif CLK ='1 'og clk'event derefter
hvis full1 ='1 'og derefter
hvis qint1 (0) ='1 'og qint1 (3) ='1'
og derefter
qint1 <= (andre =>'0 ');
anden
qint1 <= qint1 1;
udgangen, hvis;
udgangen, hvis;
udgangen, hvis;
bcd_d (7 downto 4) <= qint1;
ende proces;
udgangen arch;
Kan du sølet i Verilog og rette fejlen?
Thank you a lot!
Her er den kode .... men jeg har et problem på tælleren ... Efter 10 counters vises antallet mindre med 10, at den tidligere nummer ....
library IEEE;
brug ieee.std_logic_1164.all;
brug ieee.std_logic_arith.all;
brug ieee.std_logic_unsigned.all;
enhed counter er
port (enable1: i std_logic;
CLK: i bit;
nulstillet, reset1: i bit;
bcd_d: out std_logic_vector (7 downto 0));
udgangen counter;
arkitektur arch af counter er
signal qint, qint1: std_logic_vector (3 downto 0);
signal full1: std_logic;
begynd
CNT1: processen (enable1, CLK, reset)
- Erklæringer
begynd
hvis reset ='1 'og derefter
qint <= (andre =>'0 ');
elsif CLK ='1 'og clk'event derefter
hvis enable1 ='1 'og derefter
hvis qint (0) ='1 'og qint (3) ='1'
og derefter
full1 <='1 ';
qint <= (andre =>'0 ');
anden
qint <= qint 1;
full1 <='0 ';
udgangen, hvis;
udgangen, hvis;
udgangen, hvis;
bcd_d (3 downto 0) <= qint;
ende proces;
CNT2: processen (full1, CLK, reset1)
begynd
hvis reset1 ='1 'og derefter
qint1 <= (andre =>'0 ');
elsif CLK ='1 'og clk'event derefter
hvis full1 ='1 'og derefter
hvis qint1 (0) ='1 'og qint1 (3) ='1'
og derefter
qint1 <= (andre =>'0 ');
anden
qint1 <= qint1 1;
udgangen, hvis;
udgangen, hvis;
udgangen, hvis;
bcd_d (7 downto 4) <= qint1;
ende proces;
udgangen arch;
Kan du sølet i Verilog og rette fejlen?
Thank you a lot!