微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 新人正在接触fpga,在做vga彩条输出,但显示屏上一直是无信号输出,基础代码求大佬指导一二

新人正在接触fpga,在做vga彩条输出,但显示屏上一直是无信号输出,基础代码求大佬指导一二

时间:10-02 整理:3721RD 点击:

刚接触fpga不久,这段代码就是直接抄书上的例子,但用vga接显示屏之后一直是无信号,我的板子的clk是20MHz,vga的5个引脚也都没接错,MD我接了一个按键,图片上是我这道题目的要求或者说我想达到的结果,求大佬解答。
新人突然被卡很迷茫啊,而且都不知道怎么入手。

  1. LIBRARY IEEE;                                                                                        ---vga显示器彩条发生器
  2. USE IEEE.STD_LOGIC_1164.ALL;
  3. USE IEEE.STD_LOGIC_UNSIGNED.ALL;
  4. ENTITY COLOR IS
  5.         PORT ( CLK, MD : IN STD_LOGIC;
  6.         HS, VS, R, G, B : OUT STD_LOGIC );              ---行场同步及红绿蓝控制
  7. END COLOR;
  8. ARCHITECTURE behav OF COLOR IS
  9.         SIGNAL HS1,VS1,FCLK,CCLK        : STD_LOGIC;
  10.         SIGNAL MMD : STD_LOGIC_VECTOR(1 DOWNTO 0);        ---方式选择
  11.         SIGNAL FS : STD_LOGIC_VECTOR(3 DOWNTO 0);
  12.         SIGNAL CC : STD_LOGIC_VECTOR(4 DOWNTO 0);         ---行同步/横彩条生成
  13.         SIGNAL LL : STD_LOGIC_VECTOR(8 DOWNTO 0);         ---场同步/竖彩条生成
  14.         SIGNAL GRBX : STD_LOGIC_VECTOR(3 DOWNTO 1);       ---x横彩条
  15.         SIGNAL GRBY : STD_LOGIC_VECTOR(3 DOWNTO 1);       ---y竖彩条
  16.         SIGNAL GRBP : STD_LOGIC_VECTOR(3 DOWNTO 1);
  17.         SIGNAL GRB : STD_LOGIC_VECTOR(3 DOWNTO 1);
  18. BEGIN
  19.         GRB(2) 23 THEN HS1 479 THEN VS1 <= '0';                    --场同步
  20.                 ELSE VS1 <='1'; END IF;
  21.         END PROCESS;
  22.         PROCESS(CC, LL)        BEGIN
  23.                         IF CC < 3 THEN GRBX <= "111";              ---横彩条
  24.                 ELSIF CC < 6 THEN GRBX <= "110";
  25.                 ELSIF CC < 9 THEN GRBX <= "101";
  26.                 ELSIF CC < 12 THEN GRBX <= "100";
  27.                 ELSIF CC < 15 THEN GRBX <= "011";
  28.                 ELSIF CC < 18 THEN GRBX <= "010";
  29.                 ELSIF CC < 21 THEN GRBX <= "001";
  30.                  ELSE GRBX <= "000";        END IF;
  31.                         IF LL < 60 THEN GRBY <= "111";            ---竖彩条
  32.                 ELSIF LL < 120 THEN GRBY <= "110";
  33.                 ELSIF LL < 180 THEN GRBY <= "101";
  34.                 ELSIF LL < 240 THEN GRBY <= "100";
  35.                 ELSIF LL < 300 THEN GRBY <= "011";
  36.                 ELSIF LL < 360 THEN GRBY <= "010";
  37.                 ELSIF LL < 420 THEN GRBY <= "001";
  38.                 ELSE GRBY <= "000";        END IF;
  39.         END PROCESS;
  40.         HS<=HS1 ; VS<=VS1 ;R<=GRB(2) ;G<=GRB(3) ; B<=GRB(1);
  41. 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技术实用教程

学习学习

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top