본문내용
rst, cnt_out=>out1, clk_out=>clk2);
u3 : cnt_4
port map(clk=>clk2, rst=>rst, cnt_out=>out2, clk_out=>clk3);
u4 : cnt_4
port map(clk=>clk3, rst=>rst, cnt_out=>out3, clk_out=>clk4);
end behave;
ASYNC_CNT Test Bench
Library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity tb_sync_cnt is
end tb_sync_cnt;
architecture tb_behave of tb_sync_cnt is
signal clk0 : std_logic :='1';
signal rst : std_logic :='0';
signal out0 : std_logic_vector(3 downto 0);
signal out1 : std_logic_vector(3 downto 0);
signal out2 : std_logic_vector(3 downto 0);
signal out3 : std_logic_vector(3 downto 0);
component async_cnt
port(
clk0 : in std_logic;
rst : in std_logic;
out0 : buffer std_logic_vector(3 downto 0);
out1 : buffer std_logic_vector(3 downto 0);
out2 : buffer std_logic_vector(3 downto 0);
out3 : buffer std_logic_vector(3 downto 0)
);
end component;
begin
u1 : async_cnt
port map(clk0, rst, out0, out1, out2, out3);
clk0 <= not clk0 after 5 ns;
rst <= '1' after 5 ns;
end tb_behave;
파형
《CNT_4》
- Temporary signal을 사용하지 않아 Error 발생.
- cnt_out, clk_out을 buffer로 선언하지 않고 out으로 선언해 Error발생.
《ASYNC_CNT》
- 이전에 코딩하였던 Full adder에서 Half adder를 연결하는 source와 비슷하다고 생각해 참조하여 코딩.
- 별다른 문제없었음.
u3 : cnt_4
port map(clk=>clk2, rst=>rst, cnt_out=>out2, clk_out=>clk3);
u4 : cnt_4
port map(clk=>clk3, rst=>rst, cnt_out=>out3, clk_out=>clk4);
end behave;
ASYNC_CNT Test Bench
Library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity tb_sync_cnt is
end tb_sync_cnt;
architecture tb_behave of tb_sync_cnt is
signal clk0 : std_logic :='1';
signal rst : std_logic :='0';
signal out0 : std_logic_vector(3 downto 0);
signal out1 : std_logic_vector(3 downto 0);
signal out2 : std_logic_vector(3 downto 0);
signal out3 : std_logic_vector(3 downto 0);
component async_cnt
port(
clk0 : in std_logic;
rst : in std_logic;
out0 : buffer std_logic_vector(3 downto 0);
out1 : buffer std_logic_vector(3 downto 0);
out2 : buffer std_logic_vector(3 downto 0);
out3 : buffer std_logic_vector(3 downto 0)
);
end component;
begin
u1 : async_cnt
port map(clk0, rst, out0, out1, out2, out3);
clk0 <= not clk0 after 5 ns;
rst <= '1' after 5 ns;
end tb_behave;
파형
《CNT_4》
- Temporary signal을 사용하지 않아 Error 발생.
- cnt_out, clk_out을 buffer로 선언하지 않고 out으로 선언해 Error발생.
《ASYNC_CNT》
- 이전에 코딩하였던 Full adder에서 Half adder를 연결하는 source와 비슷하다고 생각해 참조하여 코딩.
- 별다른 문제없었음.
추천자료
인간공학적 의자설계
창의적 공학 설계 최종보고서 발명품 : 오뚝이 칫솔
창의적 공학 설계
교육공학 수업설계
창의적 공학 설계 [종이다리만들기]
디지털 공학 실험[순차회로(검출기)설계]
창의적 공학 설계 - 리모트 컨트롤 최종발표 PPT파일
자판기(디지털공학 설계 최종발표)
[도로공학 설계] 도로의 연성 포장설계
[기계공학] 공학 설계 - 구조용 로봇의 원리와 이론 (A Study on rescue crawler )
기초공학 설계 - 초고층 건물 조사
창의적 공학 설계 아이템제안. ppt
[건축 공학 설계] 건축물 설계 사례조사 - 니콘 프레시젼 코리아 사옥, 소피아 타워 빌딩, 라...
[설계보고서] 04 AD_DA 컨버터 응용 전기회로 설계 (예비레포트) : A/D 변환기와 D/A 변환기...