技能要求:
PHP
经验要求:
5-10年经验
工作描述:
项目编号:【145020】
需要硬件工程师
英语不用特别强调 不需要英语交流 需求是英文的 费用还能面谈
The two peripherals are:
GPIO (General Purpose Input/Output) Peripheral VGA Peripheral
The baseline RTL for these two peripherals will be provided; some changes will be needed to the GPIO in order to meet the specification and you will need to add additional RTL to implement a dual lock-step configuration for the VGA Peripheral.
AHB-Lite Interface (this is common to both peripherals) The GPIO and VGA Peripherals are connected to the Cortex-M0 CPU using an AHB-Lite bus. The peripherals must adhere to the AHB-Lite bus protocol.
You can download the AHB-Lite Specification from this link: https://developer.arm.com/docs/ihi0033/a
(You can ignore the other AHB-Lite protocol signals that are not listed here. They are either not needed by the GPIO or VGA Peripherals or can be tied off at the integration level.)
1. GPIO (General Purpose Input/Output) Specification
The GPIO block is a simple peripheral that enables data to be output to an external device and data to be read from an external device.
The GPIO shall implement the following registers:
• Data registers
• Input data: the data read from external devices
• Output data: the data sent to external devices
• Direction register
• Controls whether it is a read or write operation
Register
GPIO Data
GPIO Direction
Address
0x5300_0000
0x5300_0004
Size
16 bits
16 bits
The direction of input/output is controlled by the direction register (gpio_dir [15:0]). In the baseline RTL provided, both the input and output buses are 16 bits wide. Although the direction register is also 16 bits wide, in this implementation only two values are used. gpio_dir[15:0] == 16’h0000 for an input operation, gpio_dir[15:0] == 16’h0001 for an output operation.
The basic operation is as follows:
Write the required direction to the direction register using an AHB write cycle with the AHB address set to 0x5300_0004
If the direction is output, then the value of GPIOUT[15:0] will be set on an AHB write cycle with the AHB address set to 0x5300_0000