📄 avr_desc.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 + -