Hey all,
I have a Xilinx Spartan-3E starter board, and I'm implementing a MicroBlaze processor on the FPGA. I would also like to use the LCD which is on board, and I have already developed a hardware module that takes care of initialization and printing to the LCD. The interface is shown below:
entity LCD_top is Port ( clk : in STD_LOGIC; reset : in STD_LOGIC;
din : in STD_LOGIC_VECTOR (7 downto 0); din_ready : in STD_LOGIC; busy : out STD_LOGIC;
LCD_D : out STD_LOGIC_VECTOR (11 downto 8); LCD_E : out STD_LOGIC; LCD_RS : out STD_LOGIC; LCD_RW : out STD_LOGIC
); end LCD_top;
I really would like to instantiate this module along with the processor core. My question is this - how would I go about interfacing this with the MicroBlaze processor internal to the FPGA? What I would like to do is define a GPIO port on the processor to connect to the din, din_ready and busy lines of the LCD module, but I keep getting the following error:
ERROR:MDT - INST:LCD_data_status_10Bit PORT:GPIO_IO CONNECTOR:LCD_data_status_10Bit_GPIO_IO - C:\EDK_Test_LCD \system.mhs line 150 - connection is not connected to an external port! MPD subproperties IOB_STATE=BUF|REG or THREE_STATE=TRUE require that the port be connected directly to an external port.
Is there any way to work around this? I realize I could just connect the LCD to the GPIO directly and write software drivers, but I'm trying to avoid that because I already have the hardware module in place and working smoothly. It will also be nice to have this separate module so that it does the work of printing to the LCD, and the processor itself can stay busy with other more important jobs.
Also, is there an easier way to add another hardware module without manually editing the generated VHDL files for the core? I'm not sure if you can do that within Platform Studio.
Any advice would be much appreciated, thanks!
Ray