新人正在接触fpga,在做vga彩条输出,但显示屏上一直是无信号输出,基础代码求大佬指导一二
时间:10-02
整理:3721RD
点击:
刚接触fpga不久,这段代码就是直接抄书上的例子,但用vga接显示屏之后一直是无信号,我的板子的clk是20MHz,vga的5个引脚也都没接错,MD我接了一个按键,图片上是我这道题目的要求或者说我想达到的结果,求大佬解答。
新人突然被卡很迷茫啊,而且都不知道怎么入手。
- LIBRARY IEEE; ---vga显示器彩条发生器
- USE IEEE.STD_LOGIC_1164.ALL;
- USE IEEE.STD_LOGIC_UNSIGNED.ALL;
- ENTITY COLOR IS
- PORT ( CLK, MD : IN STD_LOGIC;
- HS, VS, R, G, B : OUT STD_LOGIC ); ---行场同步及红绿蓝控制
- END COLOR;
- ARCHITECTURE behav OF COLOR IS
- SIGNAL HS1,VS1,FCLK,CCLK : STD_LOGIC;
- SIGNAL MMD : STD_LOGIC_VECTOR(1 DOWNTO 0); ---方式选择
- SIGNAL FS : STD_LOGIC_VECTOR(3 DOWNTO 0);
- SIGNAL CC : STD_LOGIC_VECTOR(4 DOWNTO 0); ---行同步/横彩条生成
- SIGNAL LL : STD_LOGIC_VECTOR(8 DOWNTO 0); ---场同步/竖彩条生成
- SIGNAL GRBX : STD_LOGIC_VECTOR(3 DOWNTO 1); ---x横彩条
- SIGNAL GRBY : STD_LOGIC_VECTOR(3 DOWNTO 1); ---y竖彩条
- SIGNAL GRBP : STD_LOGIC_VECTOR(3 DOWNTO 1);
- SIGNAL GRB : STD_LOGIC_VECTOR(3 DOWNTO 1);
- BEGIN
- GRB(2) 23 THEN HS1 479 THEN VS1 <= '0'; --场同步
- ELSE VS1 <='1'; END IF;
- END PROCESS;
- PROCESS(CC, LL) BEGIN
- IF CC < 3 THEN GRBX <= "111"; ---横彩条
- ELSIF CC < 6 THEN GRBX <= "110";
- ELSIF CC < 9 THEN GRBX <= "101";
- ELSIF CC < 12 THEN GRBX <= "100";
- ELSIF CC < 15 THEN GRBX <= "011";
- ELSIF CC < 18 THEN GRBX <= "010";
- ELSIF CC < 21 THEN GRBX <= "001";
- ELSE GRBX <= "000"; END IF;
- IF LL < 60 THEN GRBY <= "111"; ---竖彩条
- ELSIF LL < 120 THEN GRBY <= "110";
- ELSIF LL < 180 THEN GRBY <= "101";
- ELSIF LL < 240 THEN GRBY <= "100";
- ELSIF LL < 300 THEN GRBY <= "011";
- ELSIF LL < 360 THEN GRBY <= "010";
- ELSIF LL < 420 THEN GRBY <= "001";
- ELSE GRBY <= "000"; END IF;
- END PROCESS;
- HS<=HS1 ; VS<=VS1 ;R<=GRB(2) ;G<=GRB(3) ; B<=GRB(1);
- END behav;
基础代码求解答,求小编拉上推荐
你好,可以告诉我一下书名吗,最近在做关于图像显示的课程设计 谢谢
PROCESS( MD ) BEGIN
IF MD'EVENT AND MD = '0' THEN
IF MMD = "10" THEN MMD <= "00";
ELSE MMD <= MMD + 1; END IF; ---3种模式
END IF;
请问这一段有误吗
应该没有。
EDA技术实用教程
学习学习