⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 avr_desc.txt

📁 avr core porocesssor vhdl source code
💻 TXT
字号:
                                    Synthesizable model of Atmel ATmega103 microcontroller.

For the moment the model consists of the following blocks:
1. Atmel AVR core.
2. Program memory.
3. Data memory.
4. UART.
5. Timer/Counter.
6. PORTA.
7. PORTB.

                                    Limitations.
Core limitations : 
For the moment the core doesn抰 support SLEEP and CLRWDT instructions.
  
UART limitations :
No (I hope!).

Timer/Counter limitations:
For the moment only Timer/Counter0 is implemented.
It emulates the asynchronous mode (The Timer/Counter0 of  Atmega103 microcontroller operates with two separate 
clock sources ).
Timer/Counter0 supports toggling of OC0/PWM0 output line , but doesn抰 support set/reset of  this line.

PORTA and PORTB limitations:
PORTA and PORTB operate as parallel ports only and don抰 support additional functions (OCx/PWMx , #INTx, etc.).

Additional features.
A simple timer was added to the model for the sake of test only.
It generates interrupt request(INT0) every 256 cycles of cp2. 

                                             Brief description of project structure.

test_avr_core2.vhd  - top level design (for simulation only)

AVR core:
avr_core.vhd                     - top level design of AVR core.
alu_avr.vhd                       - ALU 
bit_processor.vhd             - some bit operations
reg_file.vhd                      - register file
pm_fetch_dec.vhd            - main part of the core (instruction decoder, memory interfaces, etc. )
io_reg_file.vhd                 - I/O registers implemented inside the core(SREG, RAMP, SPH, SPL)
io_adr_dec.vhd                 - address decoder and data bus multiplexer for the I/O registers implemented inside the core

Microcontroller:
top_avr_core.vhd             - top level design  of  microcontroller
mux_type_package.vhd   - some constants and types
external_mux.vhd            - data bus multiplexer 
prom.vhd                          - program memory
ram.vhd                            - data RAM
portx.vhd                          -  parallel ports (PORTA,PORTB)
Timer_Counter.vhd          - Timer/Counter
uart.vhd                            - UART
simple_timer.vhd             - simple timer
Service_Module.vhd        - some additional control registers (MCUCR, MCUSR, XDIV, EIMSK, EIFR, EICR)
cpuwait.vhd                      - was added for the purpose of test only 

How to convert generic/hex file to VHDL source (for program memory).
GNR2VHD.EXE  converts generic file (.gnr extension )  to VHDL source file (prom.vhd).
HEX2VHD.EXE  converts generic file (.hex extension )  to VHDL source file (prom.vhd).

For the moment HEX2VHD.EXE doesn抰  support Intel-extended format.

Examples:
GNR2VHD your_genric_file.gnr
HEX2VHD your_hex_file.hex

Current status.
The core was tested with several C and ASM programs.
UART and Timer/Counter were  tested only once.

If you find a bug in this project, do  not  hesitate  to  report the problem to me
through e-mail  lepetenokr@yahoo.com

21.01.2002


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -