Ваша ошибка была вызвана этой строкой: 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>
Я согласовываю не слишком легкий для нахождения чего-то о 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
Удачи!