📄 charrom.vhd
字号:
-------------------------------------------------------------------------------- This file is a part of the GRLIB VHDL IP LIBRARY-- Copyright (C) 2003, Gaisler Research---- 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 2 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, write to the Free Software-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ------------------------------------------------------------------------------- Entity: charrom-- File: charrom.vhd-- Author: Marcus Hellqvist-- Description: Character ROM for video controller-----------------------------------------------------------------------------library IEEE;use IEEE.std_logic_1164.all;library grlib;use grlib.stdlib.all;entity charrom is port( clk : in std_ulogic; addr : in std_logic_vector(11 downto 0); data : out std_logic_vector(7 downto 0) );end entity;architecture rtl of charrom issignal romdata : std_logic_vector(7 downto 0);signal romaddr : std_logic_vector(11 downto 0);begin data <= romdata; p0: process(clk) begin if rising_edge(clk) then romaddr <= addr; end if; end process; p1: process(romaddr) begin case conv_integer(romaddr) is when 16#000# => romdata <= X"00"; -- when 16#100# => romdata <= X"00"; -- when 16#200# => romdata <= X"00"; -- when 16#300# => romdata <= X"00"; -- when 16#400# => romdata <= X"00"; -- when 16#500# => romdata <= X"00"; -- when 16#600# => romdata <= X"00"; -- when 16#700# => romdata <= X"00"; -- when 16#800# => romdata <= X"00"; -- when 16#900# => romdata <= X"00"; -- when 16#a00# => romdata <= X"00"; -- when 16#b00# => romdata <= X"00"; -- when 16#c00# => romdata <= X"00"; -- when 16#020# => romdata <= X"00"; -- when 16#120# => romdata <= X"00"; -- when 16#220# => romdata <= X"00"; -- when 16#320# => romdata <= X"00"; -- when 16#420# => romdata <= X"00"; -- when 16#520# => romdata <= X"00"; -- when 16#620# => romdata <= X"00"; -- when 16#720# => romdata <= X"00"; -- when 16#820# => romdata <= X"00"; -- when 16#920# => romdata <= X"00"; -- when 16#a20# => romdata <= X"00"; -- when 16#b20# => romdata <= X"00"; -- when 16#c20# => romdata <= X"00"; -- when 16#021# => romdata <= X"00"; -- ! when 16#121# => romdata <= X"00"; -- ! when 16#221# => romdata <= X"10"; -- ! when 16#321# => romdata <= X"10"; -- ! when 16#421# => romdata <= X"10"; -- ! when 16#521# => romdata <= X"10"; -- ! when 16#621# => romdata <= X"10"; -- ! when 16#721# => romdata <= X"10"; -- ! when 16#821# => romdata <= X"10"; -- ! when 16#921# => romdata <= X"00"; -- ! when 16#a21# => romdata <= X"10"; -- ! when 16#b21# => romdata <= X"00"; -- ! when 16#c21# => romdata <= X"00"; -- ! when 16#022# => romdata <= X"00"; -- " when 16#122# => romdata <= X"00"; -- " when 16#222# => romdata <= X"24"; -- " when 16#322# => romdata <= X"24"; -- " when 16#422# => romdata <= X"24"; -- " when 16#522# => romdata <= X"00"; -- " when 16#622# => romdata <= X"00"; -- " when 16#722# => romdata <= X"00"; -- " when 16#822# => romdata <= X"00"; -- " when 16#922# => romdata <= X"00"; -- " when 16#a22# => romdata <= X"00"; -- " when 16#b22# => romdata <= X"00"; -- " when 16#c22# => romdata <= X"00"; -- " when 16#023# => romdata <= X"00"; -- # when 16#123# => romdata <= X"00"; -- # when 16#223# => romdata <= X"00"; -- # when 16#323# => romdata <= X"24"; -- # when 16#423# => romdata <= X"24"; -- # when 16#523# => romdata <= X"7e"; -- # when 16#623# => romdata <= X"24"; -- # when 16#723# => romdata <= X"7e"; -- # when 16#823# => romdata <= X"24"; -- # when 16#923# => romdata <= X"24"; -- # when 16#a23# => romdata <= X"00"; -- # when 16#b23# => romdata <= X"00"; -- # when 16#c23# => romdata <= X"00"; -- # when 16#024# => romdata <= X"00"; -- $ when 16#124# => romdata <= X"00"; -- $ when 16#224# => romdata <= X"10"; -- $ when 16#324# => romdata <= X"3c"; -- $ when 16#424# => romdata <= X"50"; -- $ when 16#524# => romdata <= X"50"; -- $ when 16#624# => romdata <= X"38"; -- $ when 16#724# => romdata <= X"14"; -- $ when 16#824# => romdata <= X"14"; -- $ when 16#924# => romdata <= X"78"; -- $ when 16#a24# => romdata <= X"10"; -- $ when 16#b24# => romdata <= X"00"; -- $ when 16#c24# => romdata <= X"00"; -- $ when 16#025# => romdata <= X"00"; -- % when 16#125# => romdata <= X"00"; -- % when 16#225# => romdata <= X"22"; -- % when 16#325# => romdata <= X"52"; -- % when 16#425# => romdata <= X"24"; -- % when 16#525# => romdata <= X"08"; -- % when 16#625# => romdata <= X"08"; -- % when 16#725# => romdata <= X"10"; -- % when 16#825# => romdata <= X"24"; -- % when 16#925# => romdata <= X"2a"; -- % when 16#a25# => romdata <= X"44"; -- % when 16#b25# => romdata <= X"00"; -- % when 16#c25# => romdata <= X"00"; -- % when 16#026# => romdata <= X"00"; -- & when 16#126# => romdata <= X"00"; -- & when 16#226# => romdata <= X"00"; -- & when 16#326# => romdata <= X"00"; -- & when 16#426# => romdata <= X"30"; -- & when 16#526# => romdata <= X"48"; -- & when 16#626# => romdata <= X"48"; -- & when 16#726# => romdata <= X"30"; -- & when 16#826# => romdata <= X"4a"; -- & when 16#926# => romdata <= X"44"; -- & when 16#a26# => romdata <= X"3a"; -- & when 16#b26# => romdata <= X"00"; -- & when 16#c26# => romdata <= X"00"; -- & when 16#027# => romdata <= X"00"; -- ' when 16#127# => romdata <= X"00"; -- ' when 16#227# => romdata <= X"10"; -- ' when 16#327# => romdata <= X"10"; -- ' when 16#427# => romdata <= X"10"; -- ' when 16#527# => romdata <= X"00"; -- ' when 16#627# => romdata <= X"00"; -- ' when 16#727# => romdata <= X"00"; -- ' when 16#827# => romdata <= X"00"; -- ' when 16#927# => romdata <= X"00"; -- ' when 16#a27# => romdata <= X"00"; -- ' when 16#b27# => romdata <= X"00"; -- ' when 16#c27# => romdata <= X"00"; -- ' when 16#028# => romdata <= X"00"; -- ( when 16#128# => romdata <= X"00"; -- ( when 16#228# => romdata <= X"04"; -- ( when 16#328# => romdata <= X"08"; -- ( when 16#428# => romdata <= X"08"; -- ( when 16#528# => romdata <= X"10"; -- ( when 16#628# => romdata <= X"10"; -- ( when 16#728# => romdata <= X"10"; -- ( when 16#828# => romdata <= X"08"; -- ( when 16#928# => romdata <= X"08"; -- ( when 16#a28# => romdata <= X"04"; -- ( when 16#b28# => romdata <= X"00"; -- ( when 16#c28# => romdata <= X"00"; -- ( when 16#029# => romdata <= X"00"; -- ) when 16#129# => romdata <= X"00"; -- ) when 16#229# => romdata <= X"20"; -- ) when 16#329# => romdata <= X"10"; -- ) when 16#429# => romdata <= X"10"; -- ) when 16#529# => romdata <= X"08"; -- ) when 16#629# => romdata <= X"08"; -- ) when 16#729# => romdata <= X"08"; -- ) when 16#829# => romdata <= X"10"; -- ) when 16#929# => romdata <= X"10"; -- ) when 16#a29# => romdata <= X"20"; -- ) when 16#b29# => romdata <= X"00"; -- ) when 16#c29# => romdata <= X"00"; -- ) when 16#02a# => romdata <= X"00"; -- * when 16#12a# => romdata <= X"00"; -- * when 16#22a# => romdata <= X"24"; -- * when 16#32a# => romdata <= X"18"; -- * when 16#42a# => romdata <= X"7e"; -- * when 16#52a# => romdata <= X"18"; -- * when 16#62a# => romdata <= X"24"; -- * when 16#72a# => romdata <= X"00"; -- * when 16#82a# => romdata <= X"00"; -- * when 16#92a# => romdata <= X"00"; -- * when 16#a2a# => romdata <= X"00"; -- * when 16#b2a# => romdata <= X"00"; -- * when 16#c2a# => romdata <= X"00"; -- * when 16#02b# => romdata <= X"00"; -- + when 16#12b# => romdata <= X"00"; -- + when 16#22b# => romdata <= X"00"; -- + when 16#32b# => romdata <= X"00"; -- + when 16#42b# => romdata <= X"10"; -- + when 16#52b# => romdata <= X"10"; -- + when 16#62b# => romdata <= X"7c"; -- + when 16#72b# => romdata <= X"10"; -- + when 16#82b# => romdata <= X"10"; -- + when 16#92b# => romdata <= X"00"; -- + when 16#a2b# => romdata <= X"00"; -- + when 16#b2b# => romdata <= X"00"; -- + when 16#c2b# => romdata <= X"00"; -- + when 16#02c# => romdata <= X"00"; -- , when 16#12c# => romdata <= X"00"; -- , when 16#22c# => romdata <= X"00"; -- , when 16#32c# => romdata <= X"00"; -- , when 16#42c# => romdata <= X"00"; -- , when 16#52c# => romdata <= X"00"; -- , when 16#62c# => romdata <= X"00"; -- , when 16#72c# => romdata <= X"00"; -- , when 16#82c# => romdata <= X"00"; -- , when 16#92c# => romdata <= X"38"; -- , when 16#a2c# => romdata <= X"30"; -- , when 16#b2c# => romdata <= X"40"; -- , when 16#c2c# => romdata <= X"00"; -- , when 16#02d# => romdata <= X"00"; -- - when 16#12d# => romdata <= X"00"; -- - when 16#22d# => romdata <= X"00"; -- - when 16#32d# => romdata <= X"00"; -- - when 16#42d# => romdata <= X"00"; -- - when 16#52d# => romdata <= X"00"; -- - when 16#62d# => romdata <= X"7c"; -- - when 16#72d# => romdata <= X"00"; -- - when 16#82d# => romdata <= X"00"; -- - when 16#92d# => romdata <= X"00"; -- - when 16#a2d# => romdata <= X"00"; -- - when 16#b2d# => romdata <= X"00"; -- - when 16#c2d# => romdata <= X"00"; -- - when 16#02e# => romdata <= X"00"; -- . when 16#12e# => romdata <= X"00"; -- . when 16#22e# => romdata <= X"00"; -- . when 16#32e# => romdata <= X"00"; -- . when 16#42e# => romdata <= X"00"; -- . when 16#52e# => romdata <= X"00"; -- . when 16#62e# => romdata <= X"00"; -- . when 16#72e# => romdata <= X"00"; -- . when 16#82e# => romdata <= X"00"; -- . when 16#92e# => romdata <= X"10"; -- . when 16#a2e# => romdata <= X"38"; -- . when 16#b2e# => romdata <= X"10"; -- . when 16#c2e# => romdata <= X"00"; -- . when 16#02f# => romdata <= X"00"; -- / when 16#12f# => romdata <= X"00"; -- / when 16#22f# => romdata <= X"02"; -- / when 16#32f# => romdata <= X"02"; -- / when 16#42f# => romdata <= X"04"; -- / when 16#52f# => romdata <= X"08"; -- / when 16#62f# => romdata <= X"10"; -- / when 16#72f# => romdata <= X"20"; -- / when 16#82f# => romdata <= X"40"; -- / when 16#92f# => romdata <= X"80"; -- / when 16#a2f# => romdata <= X"80"; -- / when 16#b2f# => romdata <= X"00"; -- / when 16#c2f# => romdata <= X"00"; -- / when 16#030# => romdata <= X"00"; -- 0 when 16#130# => romdata <= X"00"; -- 0 when 16#230# => romdata <= X"18"; -- 0 when 16#330# => romdata <= X"24"; -- 0 when 16#430# => romdata <= X"42"; -- 0 when 16#530# => romdata <= X"42"; -- 0 when 16#630# => romdata <= X"42"; -- 0 when 16#730# => romdata <= X"42"; -- 0 when 16#830# => romdata <= X"42"; -- 0 when 16#930# => romdata <= X"24"; -- 0 when 16#a30# => romdata <= X"18"; -- 0 when 16#b30# => romdata <= X"00"; -- 0 when 16#c30# => romdata <= X"00"; -- 0 when 16#031# => romdata <= X"00"; -- 1 when 16#131# => romdata <= X"00"; -- 1 when 16#231# => romdata <= X"10"; -- 1 when 16#331# => romdata <= X"30"; -- 1 when 16#431# => romdata <= X"50"; -- 1 when 16#531# => romdata <= X"10"; -- 1 when 16#631# => romdata <= X"10"; -- 1 when 16#731# => romdata <= X"10"; -- 1 when 16#831# => romdata <= X"10"; -- 1 when 16#931# => romdata <= X"10"; -- 1 when 16#a31# => romdata <= X"7c"; -- 1 when 16#b31# => romdata <= X"00"; -- 1 when 16#c31# => romdata <= X"00"; -- 1 when 16#032# => romdata <= X"00"; -- 2 when 16#132# => romdata <= X"00"; -- 2 when 16#232# => romdata <= X"3c"; -- 2 when 16#332# => romdata <= X"42"; -- 2 when 16#432# => romdata <= X"42"; -- 2 when 16#532# => romdata <= X"02"; -- 2 when 16#632# => romdata <= X"04"; -- 2 when 16#732# => romdata <= X"18"; -- 2 when 16#832# => romdata <= X"20"; -- 2 when 16#932# => romdata <= X"40"; -- 2 when 16#a32# => romdata <= X"7e"; -- 2 when 16#b32# => romdata <= X"00"; -- 2 when 16#c32# => romdata <= X"00"; -- 2 when 16#033# => romdata <= X"00"; -- 3 when 16#133# => romdata <= X"00"; -- 3 when 16#233# => romdata <= X"7e"; -- 3 when 16#333# => romdata <= X"02"; -- 3 when 16#433# => romdata <= X"04"; -- 3 when 16#533# => romdata <= X"08"; -- 3 when 16#633# => romdata <= X"1c"; -- 3 when 16#733# => romdata <= X"02"; -- 3 when 16#833# => romdata <= X"02"; -- 3 when 16#933# => romdata <= X"42"; -- 3 when 16#a33# => romdata <= X"3c"; -- 3 when 16#b33# => romdata <= X"00"; -- 3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -