Связанные ресурсы $readmemh$writememh

Ваша ошибка была вызвана этой строкой: parseInt(document.getElementById('t1')); Вы пытались выполнить parseInt (элемент ввода html). Нет способа проанализировать значение HTML для int, поэтому он возвращал NaN, который нельзя преобразовать в «Три» или любое другое число. Вот рабочий код:

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script>
            function abc()
            {
              
                var amt=document.getElementById('t1').value;
                var d="";
                var ones=Array("","One","Two","Three","four","five");
                var tens=Array("","","Twenty","Thirthy","Fourthy","fifthy");
                var hundreds=Array("","One hundred","Two hundred","Three hundred","Four hundred","Five hundred");
                if(amt>=1&&amt<=19)
                {
                    d=ones[amt];
                }
                  document.getElementById('p1').innerHTML=d;
               // document.write(d);

            }
            </script>
    </head>
    <body>

                <input type="text" id="t1" />

                <input type="button"  value="Convert" onclick="abc()" />

                <p id="p1"></p>

    </body>
</html>

12
задан Alphaneo 9 March 2009 в 15:16
поделиться

1 ответ

Я согласовываю не слишком легкий для нахождения чего-то о readmem/writemem. Можно найти немного здесь: http://fullchipdesign.com/index_files/readmemh.htm

Так или иначе нет слишком много для высказывания об этих функциях, синтаксис:

$readmem[hb]("File",ArrayName,StartAddr,EndAddr)
$writemem[hb]("File",ArrayName,StartAddr,EndAddr)

Verilog очень требователен в отношении формата файла, число бита в текстовом файле должны соответствовать числу битов в массиве.

Я рекомендую играть вокруг немного путем определения массива, заполнение его с данными выписывает его с writememh/writememb и распечатывает его впоследствии.

Что-то вроде этого должно получить Вас, запустился (не испытанный!).

integer i;
reg [7:0] memory [0:15]; // 8 bit memory with 16 entries

initial begin
    for (i=0; i<16; i++) begin
        memory = i;
    end
    $writememb("memory_binary.txt", memory);
    $writememh("memory_hex.txt", memory);
end

Удачи!

19
ответ дан 26 October 2019 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: