altera/MainController/RAM.bsf
sokolovstanislav 6bb13aec36 Откорректировал блок памяти RAM для возможной работы с двумя устройствами одновременно. Одно из них - внешний контроллер. Вторым будет блок сбора информации для обновления данных. Сейчас в блоке памяти нет взаимной блокировки для двух независимых процессов и, существует возможность записать в одну и ту же ячейку памяти в один и тот же момент времени разные значения. В нашем проекте поскольку дальше будет введено ограничение, которое обяжет писать служебные и критические (напрямую участвующие в алгоритмах работы преобразователем частоты) данные только в определенные заранее известные регистры, такое невозможно. Память на уровне использования программистом будет поделена две области. Ту, в которую можно писать и считать записанное значение и ту, из которой можно будет только считать значения. Со стороны устройства будут использованы для записи только те ячейки, которые процессор будет только читать. Со стороны процессора будут использованы для записи только те ячейки, которые блоки внутри устройства будут только читать.
2024-03-04 18:16:35 +03:00

93 lines
2.7 KiB
Plaintext

/*
WARNING: Do NOT edit the input and output ports in this file in a text
editor if you plan to continue editing the block that represents it in
the Block Editor! File corruption is VERY likely to occur.
*/
/*
Copyright (C) 1991-2013 Altera Corporation
Your use of Altera Corporation's design tools, logic functions
and other software and tools, and its AMPP partner logic
functions, and any output files from any of the foregoing
(including device programming or simulation files), and any
associated documentation or information are expressly subject
to the terms and conditions of the Altera Program License
Subscription Agreement, Altera MegaCore Function License
Agreement, or other applicable license agreement, including,
without limitation, that your use is for the sole purpose of
programming logic devices manufactured by Altera and sold by
Altera or its authorized distributors. Please refer to the
applicable agreement for further details.
*/
(header "symbol" (version "1.2"))
(symbol
(rect 64 64 264 208)
(text "RAM" (rect 5 0 28 12)(font "Arial" ))
(text "inst" (rect 24 128 41 140)(font "Arial" ))
(port
(pt 0 32)
(input)
(text "clk" (rect 0 0 14 12)(font "Arial" ))
(text "clk" (rect 21 27 35 39)(font "Arial" ))
(line (pt 0 32)(pt 16 32))
)
(port
(pt 0 64)
(input)
(text "address0[7..0]" (rect 0 0 70 12)(font "Arial" ))
(text "address0[7..0]" (rect 24 56 94 68)(font "Arial" ))
(line (pt 0 64)(pt 16 64)(line_width 3))
)
(port
(pt 0 96)
(input)
(text "wr0" (rect 0 0 16 12)(font "Arial" ))
(text "wr0" (rect 24 88 40 100)(font "Arial" ))
(line (pt 0 96)(pt 16 96))
)
(port
(pt 0 112)
(input)
(text "clk0" (rect 0 0 20 12)(font "Arial" ))
(text "clk0" (rect 24 104 44 116)(font "Arial" ))
(line (pt 0 112)(pt 16 112))
)
(port
(pt 200 64)
(input)
(text "address1[7..0]" (rect 0 0 70 12)(font "Arial" ))
(text "address1[7..0]" (rect 120 56 190 68)(font "Arial" ))
(line (pt 184 64)(pt 200 64)(line_width 3))
)
(port
(pt 200 96)
(input)
(text "wr1" (rect 0 0 16 12)(font "Arial" ))
(text "wr1" (rect 160 88 176 100)(font "Arial" ))
(line (pt 184 96)(pt 200 96))
)
(port
(pt 200 112)
(input)
(text "clk1" (rect 0 0 20 12)(font "Arial" ))
(text "clk1" (rect 160 104 180 116)(font "Arial" ))
(line (pt 184 112)(pt 200 112))
)
(port
(pt 0 80)
(bidir)
(text "data0[15..0]" (rect 0 0 59 12)(font "Arial" ))
(text "data0[15..0]" (rect 24 72 83 84)(font "Arial" ))
(line (pt 16 80)(pt 0 80)(line_width 3))
)
(port
(pt 200 80)
(bidir)
(text "data1[15..0]" (rect 0 0 59 12)(font "Arial" ))
(text "data1[15..0]" (rect 128 72 187 84)(font "Arial" ))
(line (pt 200 80)(pt 184 80)(line_width 3))
)
(drawing
(rectangle (rect 16 16 184 128))
)
)